about summary refs log tree commit diff stats
path: root/sandbox/008-sandbox-edit.mu
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/008-sandbox-edit.mu')
-rw-r--r--sandbox/008-sandbox-edit.mu102
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)           .
     .──────────────────────────────────────────────────.