about summary refs log tree commit diff stats
path: root/archive/2.vm/sandbox/008-sandbox-edit.mu
diff options
context:
space:
mode:
Diffstat (limited to 'archive/2.vm/sandbox/008-sandbox-edit.mu')
-rw-r--r--archive/2.vm/sandbox/008-sandbox-edit.mu319
1 files changed, 0 insertions, 319 deletions
diff --git a/archive/2.vm/sandbox/008-sandbox-edit.mu b/archive/2.vm/sandbox/008-sandbox-edit.mu
deleted file mode 100644
index fb3981bf..00000000
--- a/archive/2.vm/sandbox/008-sandbox-edit.mu
+++ /dev/null
@@ -1,319 +0,0 @@
-## editing sandboxes after they've been created
-
-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
-  # empty recipes
-  assume-resources [
-  ]
-  env:&:environment <- new-programming-environment resources, screen, [add 2, 2]
-  render-all screen, env, render
-  # 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 left edge of 'edit' button
-  assume-console [
-    left-click 3, 4
-  ]
-  run [
-    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]
-  render-all screen, env, render
-  # 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 [
-    .                               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                                         .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-  ]
-]
-
-after <global-touch> [
-  # support 'edit' button
-  {
-    edit?:bool <- should-attempt-edit? click-row, click-column, env
-    break-unless edit?
-    edit?, env <- try-edit-sandbox click-row, env
-    break-unless edit?
-    screen <- render-sandbox-side screen, env, render
-    screen <- update-cursor screen, current-sandbox, env
-    loop +next-event
-  }
-]
-
-# some preconditions for attempting to edit a sandbox
-def should-attempt-edit? click-row:num, click-column:num, env:&:environment -> result:bool [
-  local-scope
-  load-inputs
-  # are we below the sandbox editor?
-  click-sandbox-area?:bool <- click-on-sandbox-area? click-row, env
-  return-unless click-sandbox-area?, false
-  # narrower, is the click in the columns spanning the 'edit' button?
-  first-sandbox:&:editor <- get *env, current-sandbox:offset
-  assert first-sandbox, [!!]
-  sandbox-left-margin:num <- get *first-sandbox, left:offset
-  sandbox-right-margin:num <- get *first-sandbox, right:offset
-  edit-button-left:num, edit-button-right:num, _ <- sandbox-menu-columns sandbox-left-margin, sandbox-right-margin
-  edit-button-vertical-area?:bool <- within-range? click-column, edit-button-left, edit-button-right
-  return-unless edit-button-vertical-area?, false
-  # finally, is sandbox editor empty?
-  current-sandbox:&:editor <- get *env, current-sandbox:offset
-  result <- empty-editor? current-sandbox
-]
-
-def try-edit-sandbox click-row:num, env:&:environment -> clicked-on-edit-button?:bool, env:&:environment [
-  local-scope
-  load-inputs
-  # identify the sandbox to edit, if the click was actually on the 'edit' button
-  sandbox:&:sandbox <- find-sandbox env, click-row
-  return-unless sandbox, false
-  clicked-on-edit-button? <- copy true
-  # 'edit' button = 'copy' button + 'delete' button
-  text:text <- get *sandbox, data:offset
-  current-sandbox:&:editor <- get *env, current-sandbox:offset
-  current-sandbox <- insert-text current-sandbox, text
-  env <- delete-sandbox env, sandbox
-  # reset scroll
-  *env <- put *env, render-from:offset, -1
-]
-
-scenario sandbox-with-print-can-be-edited [
-  local-scope
-  trace-until 100/app  # trace too long
-  assume-screen 50/width, 20/height
-  # empty recipes
-  assume-resources [
-  ]
-  # right editor contains a print instruction
-  env:&:environment <- new-programming-environment resources, screen, [print screen, 4]
-  render-all screen, env, render
-  # run the sandbox
-  assume-console [
-    press F4
-  ]
-  event-loop screen, console, env, resources
-  screen-should-contain [
-    .                               run (F4)           .
-    .                                                  .
-    .──────────────────────────────────────────────────.
-    .0   edit           copy           delete          .
-    .print screen, 4                                   .
-    .screen:                                           .
-    .  .4                             .                .
-    .  .                              .                .
-    .  .                              .                .
-    .  .                              .                .
-    .  .                              .                .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-  ]
-  # edit the sandbox
-  assume-console [
-    left-click 3, 18
-  ]
-  run [
-    event-loop screen, console, env, resources
-  ]
-  screen-should-contain [
-    .                               run (F4)           .
-    .print screen, 4                                   .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-    .                                                  .
-  ]
-]
-
-scenario editing-sandbox-after-scrolling-resets-scroll [
-  local-scope
-  trace-until 100/app  # trace too long
-  assume-screen 50/width, 20/height
-  # initialize environment
-  assume-resources [
-  ]
-  env:&:environment <- new-programming-environment resources, screen, []
-  render-all screen, env, render
-  # create 2 sandboxes and scroll to second
-  assume-console [
-    press ctrl-n
-    type [add 2, 2]
-    press F4
-    type [add 1, 1]
-    press F4
-    press page-down
-    press page-down
-  ]
-  event-loop screen, console, env, resources
-  screen-should-contain [
-    .                               run (F4)           .
-    .──────────────────────────────────────────────────.
-    .1   edit           copy           delete          .
-    .add 2, 2                                          .
-    .4                                                 .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-  ]
-  # edit the second sandbox
-  assume-console [
-    left-click 2, 10
-  ]
-  run [
-    event-loop screen, console, env, resources
-  ]
-  # second sandbox shows in editor; scroll resets to display first sandbox
-  screen-should-contain [
-    .                               run (F4)           .
-    .add 2, 2                                          .
-    .──────────────────────────────────────────────────.
-    .0   edit           copy           delete          .
-    .add 1, 1                                          .
-    .2                                                 .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-  ]
-]
-
-scenario editing-sandbox-updates-sandbox-count [
-  local-scope
-  trace-until 100/app  # trace too long
-  assume-screen 50/width, 20/height
-  # initialize environment
-  assume-resources [
-  ]
-  env:&:environment <- new-programming-environment resources, screen, []
-  render-all screen, env, render
-  # create 2 sandboxes
-  assume-console [
-    press ctrl-n
-    type [add 2, 2]
-    press F4
-    type [add 1, 1]
-    press F4
-  ]
-  event-loop screen, console, env, resources
-  screen-should-contain [
-    .                               run (F4)           .
-    .                                                  .
-    .──────────────────────────────────────────────────.
-    .0   edit           copy           delete          .
-    .add 1, 1                                          .
-    .2                                                 .
-    .──────────────────────────────────────────────────.
-    .1   edit           copy           delete          .
-  ]
-  # edit the second sandbox, then resave
-  assume-console [
-    left-click 3, 10
-    press F4
-  ]
-  run [
-    event-loop screen, console, env, resources
-  ]
-  # no change in contents
-  screen-should-contain [
-    .                               run (F4)           .
-    .                                                  .
-    .──────────────────────────────────────────────────.
-    .0   edit           copy           delete          .
-    .add 1, 1                                          .
-    .2                                                 .
-    .──────────────────────────────────────────────────.
-    .1   edit           copy           delete          .
-  ]
-  # now try to scroll past end
-  assume-console [
-    press page-down
-    press page-down
-    press page-down
-  ]
-  run [
-    event-loop screen, console, env, resources
-  ]
-  # screen should show just final sandbox with the right index (1)
-  screen-should-contain [
-    .                               run (F4)           .
-    .──────────────────────────────────────────────────.
-    .1   edit           copy           delete          .
-    .add 2, 2                                          .
-    .4                                                 .
-    .──────────────────────────────────────────────────.
-    .                                                  .
-  ]
-]