From 6728587dfc6a5f4090f2673113ffedb2be924daf Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 20 Jul 2018 20:27:15 -0700 Subject: Auto-formatted and auto-upgraded everything! --- tests/control_flow.nom | 80 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 29 deletions(-) (limited to 'tests/control_flow.nom') diff --git a/tests/control_flow.nom b/tests/control_flow.nom index 6312d77..7a6a743 100644 --- a/tests/control_flow.nom +++ b/tests/control_flow.nom @@ -1,19 +1,27 @@ -#!/usr/bin/env nomsu -V2.4.4.3 +#!/usr/bin/env nomsu -V2.5.4.3 # Tests for the stuff defined in core/control_flow.nom use "core" + do nothing action [test conditionals]: if (yes): %loc1 = (yes) - if (no): barf "entered if 'no' conditional" - unless (yes): barf "entered unless 'yes' conditional" + if (no): + barf "entered if 'no' conditional" + + unless (yes): + barf "entered unless 'yes' conditional" + if (yes): %loc2 = (yes) - ..else: barf "entered if 'yes' else conditional" + ..else: + barf "entered if 'yes' else conditional" unless (no) (%loc3 = (yes)) else (barf "entered unless 'no' else conditional") -assume (all of [%loc1 == (nil), %loc2 == (nil), %loc3 == (nil)]) or barf "conditionals leaking locals" +assume (all of [%loc1 == (nil), %loc2 == (nil), %loc3 == (nil)]) or barf ".." + conditionals leaking locals + assume ((5 if (yes) else 1) == 5) assume ((5 if (no) else 1) == 1) action [return nil] (return (nil)) @@ -28,13 +36,14 @@ assume (%tot == 6) or barf "for-loop failed" repeat: %x += 1 if (%x == 3): stop repeating - if (%x > 3): barf "Failed to stop repeat loop" + if (%x > 3): + barf "Failed to stop repeat loop" assume (%x == 3) or barf "Failed to repeat" %x = 0 repeat 5 times: %x += 1 assume (%x == 5) or barf "Failed to repeat 5 times" -set {%x: 0, %y: 0} +set {%x:0, %y:0} for % in [1, 2, 3]: repeat 5 times: do next repeat @@ -43,7 +52,7 @@ for % in [1, 2, 3]: %y += 1 assume ([%x, %y] == [0, 3]) or barf "Failed to continue repeat" -set {%x: 0, %y: 0} +set {%x:0, %y:0} for % in [1, 2, 3]: repeat 5 times: do next % @@ -52,7 +61,7 @@ for % in [1, 2, 3]: %y += 1 assume ([%x, %y] == [0, 0]) or barf "Failed to continue for" -set {%x: 0, %y: 0} +set {%x:0, %y:0} for % in [1, 2, 3]: repeat 5 times: stop repeating @@ -61,7 +70,7 @@ for % in [1, 2, 3]: %y += 1 assume ([%x, %y] == [0, 3]) or barf "Failed to stop repeat" -set {%x: 0, %y: 0} +set {%x:0, %y:0} for % in [1, 2, 3]: repeat 5 times: stop % @@ -83,59 +92,70 @@ assume (%x == 6) or barf "Numeric for range failed" for %i in 3 to 1 via -1: %x += %i assume (%x == 6) or barf "backwards numeric for range failed" %result = {} -for %key = %value in {x: 1, y: 2}: %result."\%key\%key" = (%value * 11) -assume (%result == {xx: 11, yy: 22}) or barf "key/value iteration failed" -for %key = %value in {x: 1, y: 2}: +for %key = %value in {x:1, y:2}: + %result."\%key\%key" = (%value * 11) + +assume (%result == {xx:11, yy:22}) or barf "key/value iteration failed" +for %key = %value in {x:1, y:2}: stop %key barf "stopping key failed" -for %key = %value in {x: 1, y: 2}: +for %key = %value in {x:1, y:2}: stop %value barf "stopping value failed" -for %key = %value in {x: 1}: +for %key = %value in {x:1}: stop %key stop %value do next %key do next %value -for %key = %value in {x: 1, y: 2}: +for %key = %value in {x:1, y:2}: do next %key barf "skipping key failed" -for %key = %value in {x: 1, y: 2}: +for %key = %value in {x:1, y:2}: do next %value barf "skipping value failed" -action [barfer]: barf "this should never be reached" +action [barfer]: + barf "this should never be reached" + if: (no): barf "'when' fail" - (no) (3 > 4): barf "'when' fail 2" + (no) (3 > 4): + barf "'when' fail 2" + (yes) (barfer): do nothing - (99 > 1): barf "Fell through incorrectly" + (99 > 1): + barf "Fell through incorrectly" %else_worked = (no) if: (no): barf - else: %else_worked = (yes) - - + else: + %else_worked = (yes) assume %else_worked or barf "when..else failed" action [test when scope]: if (yes): %leaked = (yes) + test when scope assume (not %leaked) or barf "'when' is leaking locals" %when_worked = (no) if 4 is: - 1 2: barf "'when = ?' fail" - 3 4 (barfer): %when_worked = (yes) + 1 2: + barf "'when = ?' fail" + + 3 4 (barfer): + %when_worked = (yes) assume %when_worked %when_worked = (no) if 5 is: 6: barf - else: %when_worked = (yes) + else: + %when_worked = (yes) assume %when_worked %x = 1 @@ -147,12 +167,14 @@ assume (..) %n = 0 for % in [1, 2, 3]: %n += % return %n - .. == 6 + ..== 6 + %t = [1, [2, [[3], 4], 5, [[[6]]]]] %flat = [] for % in recursive %t: - if ((type of %) is "table"): for %2 in %: recurse % on %2 + if ((type of %) is "table"): + for %2 in %: recurse % on %2 ..else: add % to %flat assume ((sorted %flat) == [1, 2, 3, 4, 5, 6]) -say "Control flow test passed." +say "Control flow test passed." \ No newline at end of file -- cgit v1.2.3