gloo 6.4.0 → 6.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/docs/application.md +9 -0
  3. data/docs/language_objects.md +40 -0
  4. data/docs/objects.md +1 -1
  5. data/docs/verbs.md +9 -0
  6. data/lib/VERSION +1 -1
  7. data/lib/VERSION_NOTES +11 -0
  8. data/lib/gloo/app/engine.rb +5 -1
  9. data/lib/gloo/app/log.rb +5 -5
  10. data/lib/gloo/app/settings.rb +4 -1
  11. data/lib/gloo/core/obj.rb +21 -1
  12. data/lib/gloo/persist/file_loader.rb +7 -0
  13. data/lib/gloo/persist/persist_man.rb +35 -3
  14. data/lib/gloo/persist/source/obj_node.rb +41 -0
  15. data/lib/gloo/verbs/list.rb +24 -2
  16. data/lib/gloo/verbs/load.rb +13 -2
  17. data/test.gloo/ctrl/each.test.gloo +28 -30
  18. data/test.gloo/dt/date.test.gloo +69 -71
  19. data/test.gloo/dt/datetime.test.gloo +55 -57
  20. data/test.gloo/dt/time.test.gloo +70 -72
  21. data/test.gloo/lang/continuation.test.gloo +25 -27
  22. data/test.gloo/lang/convert.test.gloo +50 -52
  23. data/test.gloo/lang/dt_comparisons.test.gloo +87 -89
  24. data/test.gloo/lang/exceptions.test.gloo +42 -44
  25. data/test.gloo/lang/gloo_sys.test.gloo +100 -102
  26. data/test.gloo/lang/here.test.gloo +32 -34
  27. data/test.gloo/lang/it.test.gloo +27 -29
  28. data/test.gloo/lang/literal.test.gloo +55 -57
  29. data/test.gloo/lang/load_lib_directive.test.gloo +18 -20
  30. data/test.gloo/lang/naming.test.gloo +28 -30
  31. data/test.gloo/lang/ops.test.gloo +53 -55
  32. data/test.gloo/lang/shorthand.test.gloo +15 -17
  33. data/test.gloo/math/add.test.gloo +40 -42
  34. data/test.gloo/math/div.test.gloo +23 -25
  35. data/test.gloo/math/mult.test.gloo +23 -25
  36. data/test.gloo/math/sub.test.gloo +23 -25
  37. data/test.gloo/objs/alias.test.gloo +15 -17
  38. data/test.gloo/objs/bool.test.gloo +54 -56
  39. data/test.gloo/objs/can.test.gloo +33 -35
  40. data/test.gloo/objs/cipher.test.gloo +39 -41
  41. data/test.gloo/objs/decimal.test.gloo +27 -29
  42. data/test.gloo/objs/erb.test.gloo +47 -49
  43. data/test.gloo/objs/file.test.gloo +68 -70
  44. data/test.gloo/objs/function.test.gloo +37 -39
  45. data/test.gloo/objs/int.test.gloo +54 -56
  46. data/test.gloo/objs/json.test.gloo +56 -58
  47. data/test.gloo/objs/obj.test.gloo +68 -48
  48. data/test.gloo/objs/outline.test.gloo +48 -50
  49. data/test.gloo/objs/password.test.gloo +34 -36
  50. data/test.gloo/objs/repeat.test.gloo +42 -44
  51. data/test.gloo/objs/script.test.gloo +13 -15
  52. data/test.gloo/objs/string.test.gloo +82 -84
  53. data/test.gloo/objs/text.test.gloo +90 -92
  54. data/test.gloo/objs/untyped.test.gloo +36 -38
  55. data/test.gloo/objs/uri.test.gloo +37 -39
  56. data/test.gloo/verbs/break.test.gloo +12 -14
  57. data/test.gloo/verbs/check.test.gloo +22 -24
  58. data/test.gloo/verbs/context.test.gloo +11 -13
  59. data/test.gloo/verbs/create.test.gloo +7 -9
  60. data/test.gloo/verbs/eval.test.gloo +10 -12
  61. data/test.gloo/verbs/exists.test.gloo +43 -45
  62. data/test.gloo/verbs/if.test.gloo +8 -10
  63. data/test.gloo/verbs/invoke.test.gloo +73 -75
  64. data/test.gloo/verbs/list.test.gloo +21 -23
  65. data/test.gloo/verbs/load.test.gloo +27 -21
  66. data/test.gloo/verbs/log.test.gloo +7 -9
  67. data/test.gloo/verbs/move.test.gloo +12 -14
  68. data/test.gloo/verbs/put.test.gloo +10 -12
  69. data/test.gloo/verbs/reload.test.gloo +30 -32
  70. data/test.gloo/verbs/run.test.gloo +8 -10
  71. data/test.gloo/verbs/save.test.gloo +90 -94
  72. data/test.gloo/verbs/show.test.gloo +26 -28
  73. data/test.gloo/verbs/tell.test.gloo +8 -10
  74. data/test.gloo/verbs/throw.test.gloo +31 -33
  75. data/test.gloo/verbs/unless.test.gloo +13 -15
  76. data/test.gloo/verbs/unload.test.gloo +10 -12
  77. metadata +1 -1
@@ -2,104 +2,102 @@
2
2
  # Text tests
3
3
  #
4
4
 
5
- tests [can] :
6
- objs [can] :
7
- text [can] :
5
+ tests.objs.text [can] :
8
6
 
9
- a [text] : BEGIN
7
+ a [text] : BEGIN
10
8
  one
11
9
  two
12
10
  three 3 tree
13
11
  END
14
12
 
15
- # inside a block every line is literal - '#' lines and blank
16
- # lines are kept, not treated as comments/blanks
17
- hashed [text] : BEGIN
13
+ # inside a block every line is literal - '#' lines and blank
14
+ # lines are kept, not treated as comments/blanks
15
+ hashed [text] : BEGIN
18
16
  # a heading
19
17
 
20
18
  - a list item
21
- END
22
-
23
- b [string] :
24
-
25
- verify_text [test] :
26
- description [string] : Verify the content of the text
27
- on_test [script] :
28
- put ^^.a into ^^.b
29
- check ^^.b for starts_with? (" one")
30
- assert "expected it to be true"
31
-
32
- blank [test] :
33
- description [string] : Check to see if the text is blank
34
- on_test [script] :
35
- put '' into ^^.b
36
- check ^^.b for blank?
37
- assert "expected text to be blank?"
38
-
39
- put 'abc' into ^^.b
40
- check ^^.b for blank?
41
- refute "expected text to not be blank?"
42
-
43
- length [test] :
44
- description [string] : Get the length of the string
45
- on_test [script] :
46
- put 'hello' into ^^.b
47
- tell ^^.b to size
48
- eval it = 5
49
- assert "expected length to be 5"
50
-
51
- count_chars [test] :
52
- description [string] : Get the number of characters
53
- on_test [script] :
54
- put 'hello world' into ^^.b
55
- tell ^^.b to count_chars
56
- eval it = 11
57
- assert "expected text to have 11 characters"
58
-
59
- count_words [test] :
60
- description [string] : Get the number of words
61
- on_test [script] :
62
- tell ^^.a to count_words
63
- eval it = 5
64
- assert "expected text to have 5 words"
65
-
66
- count_lines [test] :
67
- description [string] : Get the number of lines
68
- on_test [script] :
69
- tell ^^.a to count_lines
70
- eval it = 3
71
- assert "expected text to have 3 lines"
72
-
73
- block_keeps_hash_and_blank_lines [test] :
74
- description [string] : a BEGIN/END block keeps '#' lines and blank lines verbatim
75
- on_test [script] :
76
- check ^^.hashed for substring? ( "# a heading" )
77
- assert "expected the '#' line to be kept, not stripped as a comment"
78
-
79
- check ^^.hashed for substring? ( "- a list item" )
80
- assert "expected content after the blank line to be kept"
81
-
82
- tell ^^.hashed to count_lines
83
- eval it = 3
84
- assert "expected 3 lines: heading, blank, list item"
85
-
86
- starts_with [test] :
87
- description [string] : Check if the string starts with a value
88
- on_test [script] :
89
- put 'hello' into ^^.b
90
- tell ^^.b to starts_with? ('he')
91
- assert "expected it to be true that it starts with 'he'"
92
-
93
- ends_with [test] :
94
- description [string] : Check if the string ends with a value
95
- on_test [script] :
96
- put 'hello' into ^^.b
97
- tell ^^.b to ends_with? ('lo')
98
- assert "expected it to be true that it ends with 'lo'"
99
-
100
- contains [test] :
101
- description [string] : Check if the string contains a value
102
- on_test [script] :
103
- put 'hello world' into ^^.b
104
- tell ^^.b to substring? ('lo w')
105
- assert "expected it to be true that it contains 'lo w'"
19
+ END
20
+
21
+ b [string] :
22
+
23
+ verify_text [test] :
24
+ description [string] : Verify the content of the text
25
+ on_test [script] :
26
+ put ^^.a into ^^.b
27
+ check ^^.b for starts_with? (" one")
28
+ assert "expected it to be true"
29
+
30
+ blank [test] :
31
+ description [string] : Check to see if the text is blank
32
+ on_test [script] :
33
+ put '' into ^^.b
34
+ check ^^.b for blank?
35
+ assert "expected text to be blank?"
36
+
37
+ put 'abc' into ^^.b
38
+ check ^^.b for blank?
39
+ refute "expected text to not be blank?"
40
+
41
+ length [test] :
42
+ description [string] : Get the length of the string
43
+ on_test [script] :
44
+ put 'hello' into ^^.b
45
+ tell ^^.b to size
46
+ eval it = 5
47
+ assert "expected length to be 5"
48
+
49
+ count_chars [test] :
50
+ description [string] : Get the number of characters
51
+ on_test [script] :
52
+ put 'hello world' into ^^.b
53
+ tell ^^.b to count_chars
54
+ eval it = 11
55
+ assert "expected text to have 11 characters"
56
+
57
+ count_words [test] :
58
+ description [string] : Get the number of words
59
+ on_test [script] :
60
+ tell ^^.a to count_words
61
+ eval it = 5
62
+ assert "expected text to have 5 words"
63
+
64
+ count_lines [test] :
65
+ description [string] : Get the number of lines
66
+ on_test [script] :
67
+ tell ^^.a to count_lines
68
+ eval it = 3
69
+ assert "expected text to have 3 lines"
70
+
71
+ block_keeps_hash_and_blank_lines [test] :
72
+ description [string] : a BEGIN/END block keeps '#' lines and blank lines verbatim
73
+ on_test [script] :
74
+ check ^^.hashed for substring? ( "# a heading" )
75
+ assert "expected the '#' line to be kept, not stripped as a comment"
76
+
77
+ check ^^.hashed for substring? ( "- a list item" )
78
+ assert "expected content after the blank line to be kept"
79
+
80
+ tell ^^.hashed to count_lines
81
+ eval it = 3
82
+ assert "expected 3 lines: heading, blank, list item"
83
+
84
+ starts_with [test] :
85
+ description [string] : Check if the string starts with a value
86
+ on_test [script] :
87
+ put 'hello' into ^^.b
88
+ tell ^^.b to starts_with? ('he')
89
+ assert "expected it to be true that it starts with 'he'"
90
+
91
+ ends_with [test] :
92
+ description [string] : Check if the string ends with a value
93
+ on_test [script] :
94
+ put 'hello' into ^^.b
95
+ tell ^^.b to ends_with? ('lo')
96
+ assert "expected it to be true that it ends with 'lo'"
97
+
98
+ contains [test] :
99
+ description [string] : Check if the string contains a value
100
+ on_test [script] :
101
+ put 'hello world' into ^^.b
102
+ tell ^^.b to substring? ('lo w')
103
+ assert "expected it to be true that it contains 'lo w'"
@@ -2,42 +2,40 @@
2
2
  # Untyped object tests
3
3
  #
4
4
 
5
- tests [can] :
6
- objs [can] :
7
- untyped [can] :
8
-
9
- a [any] :
10
-
11
- test_untyped [test] :
12
- description [string] : Test untyped with different values
13
- on_test [script] :
14
- put "hello" into ^^.a
15
- eval ^^.a = "hello"
16
- assert "expected it to be hello"
17
-
18
- put 123 into ^^.a
19
- eval ^^.a = 123
20
- assert "expected it to be 123"
21
-
22
- put true into ^^.a
23
- eval ^^.a = true
24
- assert "expected it to be true"
25
-
26
- base_messages_work [test] :
27
- description [string] : an untyped object still receives the base object messages
28
- on_test [script] :
29
- put "" into ^^.a
30
- check ^^.a for blank?
31
- assert "expected an empty untyped object to be blank"
32
-
33
- put "x" into ^^.a
34
- check ^^.a for blank?
35
- refute "expected a non-empty untyped object to not be blank"
36
-
37
- type_messages_do_not [test] :
38
- description [string] : an untyped object does not receive type-specific messages
39
- on_test [script] :
40
- put "hello" into ^^.a
41
- check ^^.a for responds_to? ( "up" )
42
- refute "expected an untyped object to not respond to 'up'"
5
+ tests.objs.untyped [can] :
6
+
7
+ a [any] :
8
+
9
+ test_untyped [test] :
10
+ description [string] : Test untyped with different values
11
+ on_test [script] :
12
+ put "hello" into ^^.a
13
+ eval ^^.a = "hello"
14
+ assert "expected it to be hello"
15
+
16
+ put 123 into ^^.a
17
+ eval ^^.a = 123
18
+ assert "expected it to be 123"
19
+
20
+ put true into ^^.a
21
+ eval ^^.a = true
22
+ assert "expected it to be true"
23
+
24
+ base_messages_work [test] :
25
+ description [string] : an untyped object still receives the base object messages
26
+ on_test [script] :
27
+ put "" into ^^.a
28
+ check ^^.a for blank?
29
+ assert "expected an empty untyped object to be blank"
30
+
31
+ put "x" into ^^.a
32
+ check ^^.a for blank?
33
+ refute "expected a non-empty untyped object to not be blank"
34
+
35
+ type_messages_do_not [test] :
36
+ description [string] : an untyped object does not receive type-specific messages
37
+ on_test [script] :
38
+ put "hello" into ^^.a
39
+ check ^^.a for responds_to? ( "up" )
40
+ refute "expected an untyped object to not respond to 'up'"
43
41
 
@@ -2,42 +2,40 @@
2
2
  # URI object tests
3
3
  #
4
4
 
5
- tests [can] :
6
- objs [can] :
7
- uri [can] :
8
-
9
- link [uri] : https://example.com:8443/docs/guide?page=3&sort=asc#install
10
- bare [uri] : https://example.com
11
-
12
- parts_of_a_url [test] :
13
- description [string] : the get_ messages pull each piece of the URL into it.
14
- on_test [script] :
15
- tell ^^.link to get_scheme
16
- eval it = 'https'
17
- assert "expected scheme https"
18
-
19
- tell ^^.link to get_host
20
- eval it = 'example.com'
21
- assert "expected host example.com (no port)"
22
-
23
- tell ^^.link to get_path
24
- eval it = '/docs/guide'
25
- assert "expected path /docs/guide"
26
-
27
- tell ^^.link to get_query
28
- eval it = 'page=3&sort=asc'
29
- assert "expected the query string"
30
-
31
- tell ^^.link to get_fragment
32
- eval it = 'install'
33
- assert "expected fragment install"
34
-
35
- missing_pieces [test] :
36
- description [string] : a bare URL has an empty path.
37
- on_test [script] :
38
- tell ^^.bare to get_path
39
- put it into tests.objs.uri.result
40
- check tests.objs.uri.result for blank?
41
- assert "expected the path of a bare URL to be blank"
42
-
43
- result [string] :
5
+ tests.objs.uri [can] :
6
+
7
+ link [uri] : https://example.com:8443/docs/guide?page=3&sort=asc#install
8
+ bare [uri] : https://example.com
9
+
10
+ parts_of_a_url [test] :
11
+ description [string] : the get_ messages pull each piece of the URL into it.
12
+ on_test [script] :
13
+ tell ^^.link to get_scheme
14
+ eval it = 'https'
15
+ assert "expected scheme https"
16
+
17
+ tell ^^.link to get_host
18
+ eval it = 'example.com'
19
+ assert "expected host example.com (no port)"
20
+
21
+ tell ^^.link to get_path
22
+ eval it = '/docs/guide'
23
+ assert "expected path /docs/guide"
24
+
25
+ tell ^^.link to get_query
26
+ eval it = 'page=3&sort=asc'
27
+ assert "expected the query string"
28
+
29
+ tell ^^.link to get_fragment
30
+ eval it = 'install'
31
+ assert "expected fragment install"
32
+
33
+ missing_pieces [test] :
34
+ description [string] : a bare URL has an empty path.
35
+ on_test [script] :
36
+ tell ^^.bare to get_path
37
+ put it into tests.objs.uri.result
38
+ check tests.objs.uri.result for blank?
39
+ assert "expected the path of a bare URL to be blank"
40
+
41
+ result [string] :
@@ -2,21 +2,19 @@
2
2
  # Break verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- break [can] :
5
+ tests.verbs.break [can] :
8
6
 
9
- b [bool] : true
7
+ b [bool] : true
10
8
 
11
- s [script] :
12
- if ^.b then break
9
+ s [script] :
10
+ if ^.b then break
13
11
 
14
- # Should not get here
15
- put false into ^.b
12
+ # Should not get here
13
+ put false into ^.b
16
14
 
17
- break [test] :
18
- description [string] : Break out of a script
19
- on_test [script] :
20
- tell ^^.s to run
21
- eval ^^.b
22
- assert "expected b to be true"
15
+ break [test] :
16
+ description [string] : Break out of a script
17
+ on_test [script] :
18
+ tell ^^.s to run
19
+ eval ^^.b
20
+ assert "expected b to be true"
@@ -2,34 +2,32 @@
2
2
  # Check verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- check [can] :
5
+ tests.verbs.check [can] :
8
6
 
9
- c [container] :
10
- a [string] : "a"
11
- t [container] :
7
+ c [container] :
8
+ a [string] : "a"
9
+ t [container] :
12
10
 
13
- check_contains [test] :
14
- description [string] : Check an object for containment
15
- on_test [script] :
16
- check ^^.c for contains?
17
- assert "expected c to contain a"
11
+ check_contains [test] :
12
+ description [string] : Check an object for containment
13
+ on_test [script] :
14
+ check ^^.c for contains?
15
+ assert "expected c to contain a"
18
16
 
19
- check ^^.t for contains?
20
- refute "expected t to not contain a"
17
+ check ^^.t for contains?
18
+ refute "expected t to not contain a"
21
19
 
22
- check ^^.c.a for contains?
23
- refute "expected a to not be a container"
20
+ check ^^.c.a for contains?
21
+ refute "expected a to not be a container"
24
22
 
25
- check_blank [test] :
26
- description [string] : Check an object for blankness
27
- on_test [script] :
28
- check ^^.c for blank?
29
- refute "expected c to not be blank"
23
+ check_blank [test] :
24
+ description [string] : Check an object for blankness
25
+ on_test [script] :
26
+ check ^^.c for blank?
27
+ refute "expected c to not be blank"
30
28
 
31
- check ^^.t for blank?
32
- assert "expected t to be blank"
29
+ check ^^.t for blank?
30
+ assert "expected t to be blank"
33
31
 
34
- check ^^.c.a for blank?
35
- refute "expected a to not be blank"
32
+ check ^^.c.a for blank?
33
+ refute "expected a to not be blank"
@@ -2,18 +2,16 @@
2
2
  # Context verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- context [can] :
5
+ tests.verbs.context [can] :
8
6
 
9
- set_context [test] :
10
- description [string] : context {path} sets the context and puts the path in it.
11
- on_test [script] :
12
- context tests.verbs.context
13
- eval it = 'tests.verbs.context'
14
- assert "expected it to be the new context path"
7
+ set_context [test] :
8
+ description [string] : context {path} sets the context and puts the path in it.
9
+ on_test [script] :
10
+ context tests.verbs.context
11
+ eval it = 'tests.verbs.context'
12
+ assert "expected it to be the new context path"
15
13
 
16
- # restore, so later tests run at root
17
- context root
18
- eval it = 'root'
19
- assert "expected context to be restored to root"
14
+ # restore, so later tests run at root
15
+ context root
16
+ eval it = 'root'
17
+ assert "expected context to be restored to root"
@@ -2,13 +2,11 @@
2
2
  # Create verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- create [can] :
5
+ tests.verbs.create [can] :
8
6
 
9
- create_str [test] :
10
- description [string] : Create sets it to the initial value.
11
- on_test [script] :
12
- create cx as string : 'hello'
13
- eval it = 'hello'
14
- assert "expected it to equal the created value"
7
+ create_str [test] :
8
+ description [string] : Create sets it to the initial value.
9
+ on_test [script] :
10
+ create cx as string : 'hello'
11
+ eval it = 'hello'
12
+ assert "expected it to equal the created value"
@@ -2,18 +2,16 @@
2
2
  # Eval verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- eval [can] :
5
+ tests.verbs.eval [can] :
8
6
 
9
- eval_expr [test] :
10
- description [string] : Evaluate an expression.
11
- on_test [script] :
12
- eval 1 + 1 = 2
13
- assert "expected 1 + 1 to equal 2"
7
+ eval_expr [test] :
8
+ description [string] : Evaluate an expression.
9
+ on_test [script] :
10
+ eval 1 + 1 = 2
11
+ assert "expected 1 + 1 to equal 2"
14
12
 
15
- eval true
16
- assert "expected true to be true"
13
+ eval true
14
+ assert "expected true to be true"
17
15
 
18
- eval false
19
- refute "expected false to be false"
16
+ eval false
17
+ refute "expected false to be false"
@@ -2,48 +2,46 @@
2
2
  # Exists verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- exists [can] :
8
-
9
- verb [test] :
10
- description [string] : Check on existance of exists verb
11
- on_test [script] :
12
- exists? verb exists?
13
- assert "expected exists? to exist"
14
-
15
- exists? verb does_not_exist
16
- refute "expected does_not_exist to not exist"
17
-
18
- object [test] :
19
- description [string] : Check on existance of exists object type
20
- on_test [script] :
21
- exists? object container
22
- assert "expected container to exist"
23
-
24
- exists? object can
25
- assert "expected can to exist"
26
-
27
- exists? object does_not_exist
28
- refute "expected does_not_exist to not exist"
29
-
30
- any_v_or_o [test] :
31
- description [string] : Check on existance of any type
32
- on_test [script] :
33
- exists? str
34
- assert "expected str to exist"
35
-
36
- exists? show
37
- assert "expected show to exist"
38
-
39
- exists? does_not_exist
40
- refute "expected does_not_exist to not exist"
41
-
42
- instance [test] :
43
- description [string] : Check on existance of objects.
44
- on_test [script] :
45
- exists? instance tests.verbs.exists.instance
46
- assert "expected instance to exist"
47
-
48
- exists? instance tests.verbs.exists.instance2
49
- refute "expected instance to not exist"
5
+ tests.verbs.exists [can] :
6
+
7
+ verb [test] :
8
+ description [string] : Check on existance of exists verb
9
+ on_test [script] :
10
+ exists? verb exists?
11
+ assert "expected exists? to exist"
12
+
13
+ exists? verb does_not_exist
14
+ refute "expected does_not_exist to not exist"
15
+
16
+ object [test] :
17
+ description [string] : Check on existance of exists object type
18
+ on_test [script] :
19
+ exists? object container
20
+ assert "expected container to exist"
21
+
22
+ exists? object can
23
+ assert "expected can to exist"
24
+
25
+ exists? object does_not_exist
26
+ refute "expected does_not_exist to not exist"
27
+
28
+ any_v_or_o [test] :
29
+ description [string] : Check on existance of any type
30
+ on_test [script] :
31
+ exists? str
32
+ assert "expected str to exist"
33
+
34
+ exists? show
35
+ assert "expected show to exist"
36
+
37
+ exists? does_not_exist
38
+ refute "expected does_not_exist to not exist"
39
+
40
+ instance [test] :
41
+ description [string] : Check on existance of objects.
42
+ on_test [script] :
43
+ exists? instance tests.verbs.exists.instance
44
+ assert "expected instance to exist"
45
+
46
+ exists? instance tests.verbs.exists.instance2
47
+ refute "expected instance to not exist"
@@ -2,15 +2,13 @@
2
2
  # If verb tests
3
3
  #
4
4
 
5
- tests [can] :
6
- verbs [can] :
7
- if [can] :
5
+ tests.verbs.if [can] :
8
6
 
9
- b [bool] : true
7
+ b [bool] : true
10
8
 
11
- if_test [test] :
12
- description [string] : If true then evaluate
13
- on_test [script] :
14
- eval false
15
- if ^^.b then eval true
16
- assert "expected b to be true"
9
+ if_test [test] :
10
+ description [string] : If true then evaluate
11
+ on_test [script] :
12
+ eval false
13
+ if ^^.b then eval true
14
+ assert "expected b to be true"