diff options
Diffstat (limited to 'sandbox/008-sandbox-edit.mu')
-rw-r--r-- | sandbox/008-sandbox-edit.mu | 102 |
1 files changed, 82 insertions, 20 deletions
diff --git a/sandbox/008-sandbox-edit.mu b/sandbox/008-sandbox-edit.mu index 7565e391..ff45d87b 100644 --- a/sandbox/008-sandbox-edit.mu +++ b/sandbox/008-sandbox-edit.mu @@ -1,15 +1,18 @@ ## editing sandboxes after they've been created -scenario clicking-on-a-sandbox-moves-it-to-editor [ +scenario clicking-on-sandbox-edit-button-moves-it-to-editor [ local-scope trace-until 100/app # trace too long assume-screen 50/width, 10/height - # run something - env:&:environment <- new-programming-environment screen, [add 2, 2] + # empty recipes + assume-resources [ + ] + env:&:environment <- new-programming-environment resources, screen, [add 2, 2] + # run it assume-console [ press F4 ] - event-loop screen, console, env + event-loop screen, console, env, resources screen-should-contain [ . run (F4) . . . @@ -20,12 +23,64 @@ scenario clicking-on-a-sandbox-moves-it-to-editor [ .──────────────────────────────────────────────────. . . ] - # click somewhere on the sandbox + # click at left edge of 'edit' button assume-console [ left-click 3, 4 ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources + ] + # it pops back into editor + screen-should-contain [ + . run (F4) . + .add 2, 2 . + .──────────────────────────────────────────────────. + . . + ] + # cursor should be in the right place + assume-console [ + type [0] + ] + run [ + event-loop screen, console, env, resources + ] + screen-should-contain [ + . run (F4) . + .0add 2, 2 . + .──────────────────────────────────────────────────. + . . + ] +] + +scenario clicking-on-sandbox-edit-button-moves-it-to-editor-2 [ + local-scope + trace-until 100/app # trace too long + assume-screen 50/width, 10/height + # empty recipes + assume-resources [ + ] + env:&:environment <- new-programming-environment resources, screen, [add 2, 2] + # run it + assume-console [ + press F4 + ] + event-loop screen, console, env, resources + screen-should-contain [ + . run (F4) . + . . + .──────────────────────────────────────────────────. + .0 edit copy delete . + .add 2, 2 . + .4 . + .──────────────────────────────────────────────────. + . . + ] + # click at right edge of 'edit' button (just before 'copy') + assume-console [ + left-click 3, 18 + ] + run [ + event-loop screen, console, env, resources ] # it pops back into editor screen-should-contain [ @@ -39,7 +94,7 @@ scenario clicking-on-a-sandbox-moves-it-to-editor [ type [0] ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources ] screen-should-contain [ . run (F4) . @@ -104,13 +159,16 @@ scenario sandbox-with-print-can-be-edited [ local-scope trace-until 100/app # trace too long assume-screen 50/width, 20/height - # run a print instruction - env:&:environment <- new-programming-environment screen, [print-integer screen, 4] + # empty recipes + assume-resources [ + ] + # right editor contains a print instruction + env:&:environment <- new-programming-environment resources, screen, [print-integer screen, 4] # run the sandbox assume-console [ press F4 ] - event-loop screen, console, env + event-loop screen, console, env, resources screen-should-contain [ . run (F4) . . . @@ -131,7 +189,7 @@ scenario sandbox-with-print-can-be-edited [ left-click 3, 18 ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources ] screen-should-contain [ . run (F4) . @@ -147,7 +205,9 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ trace-until 100/app # trace too long assume-screen 50/width, 20/height # initialize environment - env:&:environment <- new-programming-environment screen, [] + assume-resources [ + ] + env:&:environment <- new-programming-environment resources, screen, [] render-all screen, env, render # create 2 sandboxes and scroll to second assume-console [ @@ -159,7 +219,7 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ press page-down press page-down ] - event-loop screen, console, env + event-loop screen, console, env, resources screen-should-contain [ . run (F4) . .──────────────────────────────────────────────────. @@ -174,7 +234,7 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ left-click 2, 10 ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources ] # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ @@ -194,9 +254,11 @@ scenario editing-sandbox-updates-sandbox-count [ trace-until 100/app # trace too long assume-screen 50/width, 20/height # initialize environment - env:&:environment <- new-programming-environment screen, [] + assume-resources [ + ] + env:&:environment <- new-programming-environment resources, screen, [] render-all screen, env, render - # create 2 sandboxes and scroll to second + # create 2 sandboxes assume-console [ press ctrl-n type [add 2, 2] @@ -204,7 +266,7 @@ scenario editing-sandbox-updates-sandbox-count [ type [add 1, 1] press F4 ] - event-loop screen, console, env + event-loop screen, console, env, resources screen-should-contain [ . run (F4) . . . @@ -221,7 +283,7 @@ scenario editing-sandbox-updates-sandbox-count [ press F4 ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources ] # no change in contents screen-should-contain [ @@ -241,9 +303,9 @@ scenario editing-sandbox-updates-sandbox-count [ press page-down ] run [ - event-loop screen, console, env + event-loop screen, console, env, resources ] - # screen should show just final sandbox + # screen should show just final sandbox with the right index (1) screen-should-contain [ . run (F4) . .──────────────────────────────────────────────────. |