rkwalify 1.4.0.pre.preview1

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 (247) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +39 -0
  3. data/.gitignore +61 -0
  4. data/.overcommit.yml +33 -0
  5. data/.rubocop.yml +9 -0
  6. data/.rubocop_todo.yml +1369 -0
  7. data/.ruby-version +1 -0
  8. data/Attic/README-0.7.2.md +53 -0
  9. data/Attic/features/cli.feature +9 -0
  10. data/Attic/features/step_definitions/validation_steps.rb +20 -0
  11. data/Attic/features/support/env.rb +4 -0
  12. data/Attic/features/validate_schema.feature +12 -0
  13. data/Attic/s+h +53 -0
  14. data/Attic/setup.rb +1556 -0
  15. data/Attic/spec/my_cli_tool_spec.rb +52 -0
  16. data/Attic/spec/rspec-ex_spec.rb +10 -0
  17. data/Attic/spec/spec_helper.rb +104 -0
  18. data/Attic/test-15.1.rb +28 -0
  19. data/CHANGELOG.md +292 -0
  20. data/CONTRIBUTING.md +23 -0
  21. data/CONTRIBUTORS.md +8 -0
  22. data/Gemfile +16 -0
  23. data/Gemfile.lock +146 -0
  24. data/MIT-LICENSE +21 -0
  25. data/README.md +53 -0
  26. data/ROLL-OUT-STRATEGY.md +77 -0
  27. data/Rakefile +11 -0
  28. data/bin/kwalify.rb +4167 -0
  29. data/bin/kwalify.schema.yaml +59 -0
  30. data/contrib/inline-require +181 -0
  31. data/contrib/kwalify +4167 -0
  32. data/contrib/kwalify-0.7.2 +4160 -0
  33. data/devbin/README.md +22 -0
  34. data/devbin/chk-rad-repo.sh +20 -0
  35. data/devbin/chkcopyrights.sh +42 -0
  36. data/devbin/chkspelling.sh +16 -0
  37. data/devbin/got-all-rel-numbers.sh +5 -0
  38. data/devbin/mkbig-rkwalify.sh +7 -0
  39. data/devbin/mkgem_file.sh +5 -0
  40. data/devbin/runtests.sh +6 -0
  41. data/devbin/ug-tests.golden +242 -0
  42. data/devbin/ug-tests.sh +145 -0
  43. data/devbin/update-rel-numbers.sh +7 -0
  44. data/doc/docstyle.css +188 -0
  45. data/doc/img/fig01.png +0 -0
  46. data/doc/users-guide.html +2051 -0
  47. data/doc-api/classes/CommandOptionError.html +184 -0
  48. data/doc-api/classes/CommandOptionParser.html +325 -0
  49. data/doc-api/classes/Kwalify/AssertionError.html +148 -0
  50. data/doc-api/classes/Kwalify/BaseError.html +297 -0
  51. data/doc-api/classes/Kwalify/BaseParser.html +461 -0
  52. data/doc-api/classes/Kwalify/CommandOptionError.html +168 -0
  53. data/doc-api/classes/Kwalify/ErrorHelper.html +223 -0
  54. data/doc-api/classes/Kwalify/HashInterface.html +118 -0
  55. data/doc-api/classes/Kwalify/Json.html +105 -0
  56. data/doc-api/classes/Kwalify/KwalifyError.html +111 -0
  57. data/doc-api/classes/Kwalify/Main.html +339 -0
  58. data/doc-api/classes/Kwalify/MetaValidator.html +448 -0
  59. data/doc-api/classes/Kwalify/Parser.html +155 -0
  60. data/doc-api/classes/Kwalify/PlainYamlParser/Alias.html +165 -0
  61. data/doc-api/classes/Kwalify/PlainYamlParser.html +523 -0
  62. data/doc-api/classes/Kwalify/Rule.html +433 -0
  63. data/doc-api/classes/Kwalify/SchemaError.html +148 -0
  64. data/doc-api/classes/Kwalify/SyntaxError.html +185 -0
  65. data/doc-api/classes/Kwalify/Types.html +302 -0
  66. data/doc-api/classes/Kwalify/Util/HashLike.html +246 -0
  67. data/doc-api/classes/Kwalify/Util/OrderedHash.html +330 -0
  68. data/doc-api/classes/Kwalify/Util.html +390 -0
  69. data/doc-api/classes/Kwalify/ValidationError.html +148 -0
  70. data/doc-api/classes/Kwalify/Validator.html +381 -0
  71. data/doc-api/classes/Kwalify/Yaml/Parser.html +1538 -0
  72. data/doc-api/classes/Kwalify/Yaml.html +194 -0
  73. data/doc-api/classes/Kwalify/YamlParser.html +542 -0
  74. data/doc-api/classes/Kwalify/YamlSyntaxError.html +119 -0
  75. data/doc-api/classes/Kwalify.html +292 -0
  76. data/doc-api/classes/Test/Unit.html +101 -0
  77. data/doc-api/classes/Test.html +107 -0
  78. data/doc-api/created.rid +1 -0
  79. data/doc-api/files/__/README_txt.html +153 -0
  80. data/doc-api/files/kwalify/errors_rb.html +114 -0
  81. data/doc-api/files/kwalify/main_rb.html +118 -0
  82. data/doc-api/files/kwalify/messages_rb.html +107 -0
  83. data/doc-api/files/kwalify/meta-validator_rb.html +117 -0
  84. data/doc-api/files/kwalify/parser/base_rb.html +116 -0
  85. data/doc-api/files/kwalify/parser/yaml_rb.html +117 -0
  86. data/doc-api/files/kwalify/rule_rb.html +116 -0
  87. data/doc-api/files/kwalify/types_rb.html +114 -0
  88. data/doc-api/files/kwalify/util/assert-text-equal_rb.html +115 -0
  89. data/doc-api/files/kwalify/util/hash-interface_rb.html +114 -0
  90. data/doc-api/files/kwalify/util/hashlike_rb.html +107 -0
  91. data/doc-api/files/kwalify/util/option-parser_rb.html +107 -0
  92. data/doc-api/files/kwalify/util/ordered-hash_rb.html +107 -0
  93. data/doc-api/files/kwalify/util/testcase-helper_rb.html +115 -0
  94. data/doc-api/files/kwalify/util_rb.html +107 -0
  95. data/doc-api/files/kwalify/validator_rb.html +117 -0
  96. data/doc-api/files/kwalify/yaml-parser_rb.html +117 -0
  97. data/doc-api/files/kwalify_rb.html +121 -0
  98. data/doc-api/fr_class_index.html +57 -0
  99. data/doc-api/fr_file_index.html +45 -0
  100. data/doc-api/fr_method_index.html +168 -0
  101. data/doc-api/index.html +24 -0
  102. data/doc-api/rdoc-style.css +208 -0
  103. data/examples/address-book/Makefile +10 -0
  104. data/examples/address-book/address-book.schema.yaml +45 -0
  105. data/examples/address-book/address-book.yaml +36 -0
  106. data/examples/data-binding/BABEL.data.yaml +63 -0
  107. data/examples/data-binding/BABEL.schema.yaml +31 -0
  108. data/examples/data-binding/Makefile +8 -0
  109. data/examples/data-binding/Rakefile +13 -0
  110. data/examples/data-binding/main.rb +25 -0
  111. data/examples/invoice/Makefile +9 -0
  112. data/examples/invoice/invoice.schema.yaml +43 -0
  113. data/examples/invoice/invoice.yaml +32 -0
  114. data/examples/tapkit/Makefile +10 -0
  115. data/examples/tapkit/main.rb +7 -0
  116. data/examples/tapkit/tapkit.schema.yaml +146 -0
  117. data/examples/tapkit/tapkit.yaml +85 -0
  118. data/lib/kwalify/errors.rb +127 -0
  119. data/lib/kwalify/kwalify.schema.yaml +58 -0
  120. data/lib/kwalify/main.rb +442 -0
  121. data/lib/kwalify/messages.rb +173 -0
  122. data/lib/kwalify/meta-validator.rb +276 -0
  123. data/lib/kwalify/parser/base.rb +128 -0
  124. data/lib/kwalify/parser/yaml.rb +841 -0
  125. data/lib/kwalify/rule.rb +562 -0
  126. data/lib/kwalify/templates/genclass-java.eruby +222 -0
  127. data/lib/kwalify/templates/genclass-php.eruby +104 -0
  128. data/lib/kwalify/templates/genclass-ruby.eruby +113 -0
  129. data/lib/kwalify/types.rb +156 -0
  130. data/lib/kwalify/util/assert-text-equal.rb +46 -0
  131. data/lib/kwalify/util/hash-interface.rb +18 -0
  132. data/lib/kwalify/util/hashlike.rb +51 -0
  133. data/lib/kwalify/util/option-parser.rb +220 -0
  134. data/lib/kwalify/util/ordered-hash.rb +57 -0
  135. data/lib/kwalify/util/testcase-helper.rb +112 -0
  136. data/lib/kwalify/util.rb +159 -0
  137. data/lib/kwalify/validator.rb +282 -0
  138. data/lib/kwalify/version.rb +5 -0
  139. data/lib/kwalify/yaml-parser.rb +871 -0
  140. data/lib/kwalify.rb +61 -0
  141. data/rkwalify.gemspec +26 -0
  142. data/test/Rookbook.yaml +15 -0
  143. data/test/data/users-guide/AddressBook.java.expected +40 -0
  144. data/test/data/users-guide/BABEL.data.yaml +24 -0
  145. data/test/data/users-guide/BABEL.schema.yaml +30 -0
  146. data/test/data/users-guide/ExampleAddressBook.java +47 -0
  147. data/test/data/users-guide/Group.java.expected +24 -0
  148. data/test/data/users-guide/Person.java.expected +44 -0
  149. data/test/data/users-guide/address_book.rb +52 -0
  150. data/test/data/users-guide/address_book.schema.yaml +28 -0
  151. data/test/data/users-guide/address_book.yaml +27 -0
  152. data/test/data/users-guide/answers-schema.yaml +12 -0
  153. data/test/data/users-guide/answers-validator.rb +53 -0
  154. data/test/data/users-guide/babel_genclass.result +26 -0
  155. data/test/data/users-guide/config.schema.yaml +7 -0
  156. data/test/data/users-guide/config.yaml +4 -0
  157. data/test/data/users-guide/document01a.yaml +3 -0
  158. data/test/data/users-guide/document01b.yaml +3 -0
  159. data/test/data/users-guide/document02a.yaml +4 -0
  160. data/test/data/users-guide/document02b.yaml +4 -0
  161. data/test/data/users-guide/document03a.yaml +6 -0
  162. data/test/data/users-guide/document03b.yaml +6 -0
  163. data/test/data/users-guide/document04a.yaml +9 -0
  164. data/test/data/users-guide/document04b.yaml +9 -0
  165. data/test/data/users-guide/document05a.yaml +11 -0
  166. data/test/data/users-guide/document05b.yaml +12 -0
  167. data/test/data/users-guide/document06a.yaml +15 -0
  168. data/test/data/users-guide/document06b.yaml +16 -0
  169. data/test/data/users-guide/document07a.yaml +9 -0
  170. data/test/data/users-guide/document07b.yaml +7 -0
  171. data/test/data/users-guide/document12a.json +10 -0
  172. data/test/data/users-guide/document12b.json +6 -0
  173. data/test/data/users-guide/document13a.yaml +17 -0
  174. data/test/data/users-guide/document14a.yaml +3 -0
  175. data/test/data/users-guide/document14b.yaml +3 -0
  176. data/test/data/users-guide/document15a.yaml +6 -0
  177. data/test/data/users-guide/document15b.yaml +5 -0
  178. data/test/data/users-guide/example_address_book.rb +11 -0
  179. data/test/data/users-guide/example_address_book_java.result +32 -0
  180. data/test/data/users-guide/example_address_book_ruby.result +31 -0
  181. data/test/data/users-guide/genclass_java.result +4 -0
  182. data/test/data/users-guide/howto-validation-with-parsing.rb +28 -0
  183. data/test/data/users-guide/howto-validation.rb +25 -0
  184. data/test/data/users-guide/howto3.rb +6 -0
  185. data/test/data/users-guide/howto3.result +5 -0
  186. data/test/data/users-guide/howto3.yaml +8 -0
  187. data/test/data/users-guide/howto5_databinding.result +111 -0
  188. data/test/data/users-guide/invalid01.result +3 -0
  189. data/test/data/users-guide/invalid02.result +5 -0
  190. data/test/data/users-guide/invalid03.result +5 -0
  191. data/test/data/users-guide/invalid04.result +4 -0
  192. data/test/data/users-guide/invalid05.result +11 -0
  193. data/test/data/users-guide/invalid06.result +4 -0
  194. data/test/data/users-guide/invalid07.result +3 -0
  195. data/test/data/users-guide/invalid08.result +3 -0
  196. data/test/data/users-guide/invalid12.json +8 -0
  197. data/test/data/users-guide/invalid14.result +4 -0
  198. data/test/data/users-guide/invalid15.result +4 -0
  199. data/test/data/users-guide/loadbabel.rb +27 -0
  200. data/test/data/users-guide/loadconfig.rb +17 -0
  201. data/test/data/users-guide/loadconfig.result +6 -0
  202. data/test/data/users-guide/models.rb +24 -0
  203. data/test/data/users-guide/option_ha.result +6 -0
  204. data/test/data/users-guide/option_ha_genclass_java.result +7 -0
  205. data/test/data/users-guide/schema01.yaml +3 -0
  206. data/test/data/users-guide/schema02.yaml +12 -0
  207. data/test/data/users-guide/schema03.yaml +9 -0
  208. data/test/data/users-guide/schema04.yaml +20 -0
  209. data/test/data/users-guide/schema05.yaml +29 -0
  210. data/test/data/users-guide/schema06.yaml +11 -0
  211. data/test/data/users-guide/schema12.json +12 -0
  212. data/test/data/users-guide/schema13.yaml +13 -0
  213. data/test/data/users-guide/schema14.yaml +5 -0
  214. data/test/data/users-guide/schema15.yaml +21 -0
  215. data/test/data/users-guide/valid01.result +2 -0
  216. data/test/data/users-guide/valid02.result +2 -0
  217. data/test/data/users-guide/valid03.result +2 -0
  218. data/test/data/users-guide/valid04.result +2 -0
  219. data/test/data/users-guide/valid05.result +2 -0
  220. data/test/data/users-guide/valid06.result +2 -0
  221. data/test/data/users-guide/valid07.result +2 -0
  222. data/test/data/users-guide/valid08.result +2 -0
  223. data/test/data/users-guide/valid12.result +2 -0
  224. data/test/data/users-guide/valid13.result +2 -0
  225. data/test/data/users-guide/valid14.result +2 -0
  226. data/test/data/users-guide/valid15.result +2 -0
  227. data/test/data/users-guide/validate08.rb +37 -0
  228. data/test/test-action.rb +73 -0
  229. data/test/test-action.yaml +738 -0
  230. data/test/test-databinding.rb +84 -0
  231. data/test/test-databinding.yaml +339 -0
  232. data/test/test-main.rb +156 -0
  233. data/test/test-main.yaml +409 -0
  234. data/test/test-metavalidator.rb +80 -0
  235. data/test/test-metavalidator.yaml +1179 -0
  236. data/test/test-parser-yaml.rb +57 -0
  237. data/test/test-parser-yaml.yaml +1750 -0
  238. data/test/test-rule.rb +26 -0
  239. data/test/test-rule.yaml +317 -0
  240. data/test/test-users-guide.rb +82 -0
  241. data/test/test-util.rb +125 -0
  242. data/test/test-validator.rb +95 -0
  243. data/test/test-validator.yaml +986 -0
  244. data/test/test-yaml-parser.rb +47 -0
  245. data/test/test-yaml-parser.yaml +1226 -0
  246. data/test/test.rb +75 -0
  247. metadata +293 -0
data/devbin/README.md ADDED
@@ -0,0 +1,22 @@
1
+ ## devbin Directory
2
+
3
+ These files are shell scripts used by the repo's developer(s).
4
+
5
+ Currently these scripts include:
6
+
7
+ * STATIC ANALYSIS/TEST-RELATED:
8
+ * chkspelling.sh - Check for misspelled words
9
+ * chk-rad-repo.sh - Test code against ruby-advisory-db repo.
10
+ * my-tests.sh - short and dirty version of testsuite.,
11
+ * runtests.sh
12
+
13
+ * PACKAGING:
14
+ * mkbig-rkwalify.sh - Combine all the code into 1 file.
15
+
16
+ * RELEASING:
17
+ * chkcopyrights.sh - Check copyright lines in files.
18
+ * mkManifest.sh - Make Manifest file.
19
+ * mkgem_file.sh - Run mkManifest.sh and "gem build" to
20
+ create a *.gem file.
21
+ * got-all-rel-numbers.sh - Check for old release numbers.
22
+ * updata-rel-numbers.sh - Update release numbers.
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+
5
+ rm -rf $HOME/Projects/ruby-advisory-db-rkw
6
+ cd $HOME/Projects
7
+
8
+ git clone git@github.com:jasnow/ruby-advisory-db.git ruby-advisory-db-rkw
9
+
10
+ cd ruby-advisory-db-rkw
11
+
12
+ sed -e "/kwalify/s,'~> 0.1',path: '../rkwalify'," \
13
+ -e "s,'kwalify','rkwalify'," Gemfile > /tmp/$$_X
14
+ mv /tmp/$$_X Gemfile
15
+
16
+ git diff
17
+
18
+ rm -f Gemfile.lock ; bundle install
19
+
20
+ bundle exec rake
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env bash
2
+
3
+ echo -n "yaml:::::: " ; find . -name "*.yaml" -type f |wc -l
4
+ echo -n "rb:::::::: " ; find . -name "*.rb" -type f |wc -l
5
+ echo -n "copyright: " ; git grep -i copyright |wc -l
6
+
7
+ find . -name "*.yaml" -type f | sed -e "s,^./,," |sort -u > /tmp/$$_Y
8
+ find . -name "*.rb" -type f | sed -e "s,^./,," |sort -u > /tmp/$$_R
9
+
10
+ git grep -il copyright |sort -u > /tmp/$$_C
11
+
12
+ if [ "X$1X" == "XallX" ] ; then
13
+
14
+ echo
15
+ echo ">> rb - NOT COPYRIGHT"
16
+ fgrep -v -f /tmp/$$_C /tmp/$$_R
17
+
18
+ echo
19
+ echo ">> yaml - NOT COPYRIGHT"
20
+ fgrep -v -f /tmp/$$_C /tmp/$$_Y
21
+
22
+ echo
23
+ echo ">> yaml - YES COPYRIGHT"
24
+ grep -i copyright $(cat /tmp/$$_Y)
25
+ fi
26
+
27
+ if [ "X$1X" == "XmostX" ] ; then
28
+
29
+ echo ; echo ">> rb - NOT COPYRIGHT"
30
+ fgrep -v -f /tmp/$$_C /tmp/$$_R |egrep -v "test/data|examples|Attic"
31
+
32
+ echo ; echo ">> yaml - NOT COPYRIGHT"
33
+ fgrep -v -f /tmp/$$_C /tmp/$$_Y |egrep -v "test/data|examples"
34
+
35
+ echo ; echo ">> yaml - YES COPYRIGHT"
36
+ grep -i copyright $(cat /tmp/$$_Y) |egrep -v "test/data|examples"
37
+
38
+ echo ; echo ">> copyright IN test/data AND examples FILES"
39
+ grep -i copyright test/data/*/* examples/*/*
40
+ fi
41
+
42
+ rm /tmp/$$_Y /tmp/$$_R /tmp/$$_C
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [ "X$1X" == "XX" ] ; then
4
+ echo "Usage: $0 file"
5
+ exit
6
+ fi
7
+
8
+ tr -cs "[:alpha:]" "[\n*]" < $1 \
9
+ | tr "[A-Z]" "{a-z]" |sort -u > /tmp/$$_u
10
+
11
+ #INTERACTIVE: aspell list /tmp/$$_u
12
+
13
+ (spell /tmp/$$_u
14
+ hunspell -l /tmp/$$_u) | sort -u | pr -3 |uniq
15
+
16
+ rm /tmp/$$_u
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ git grep 0.7.[012-9] \
3
+ | egrep -v ": 0.7.2|e 0.7.2|kwalify-0.7.2|2008-01|Step 1" \
4
+ | egrep -v "Attic|Mani|rubocop-rake|rel-num" \
5
+ | egrep -v "123"
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+
3
+ unset RUBYLIB
4
+ ruby ./contrib/inline-require -I ./lib ./bin/kwalify > ./contrib/kwalify
5
+ chmod a+x ./contrib/kwalify
6
+ cp ./lib/kwalify/kwalify.schema.yaml ./bin
7
+ cp ./contrib/kwalify ./bin
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ rm -f rkwalify-*.gem
4
+
5
+ gem build
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+
3
+ for i in $(grep require test/test.rb |grep rb |sed -e "s,require ',test/," -e "s,',,") ; do
4
+ echo " ruby $i&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
5
+ ruby $i
6
+ done
@@ -0,0 +1,242 @@
1
+
2
+ 2.1
3
+ test/data/users-guide/document01a.yaml#0: valid.
4
+
5
+ 2.2
6
+ test/data/users-guide/document01b.yaml#0: INVALID
7
+ - (line 2) [/1] '123': not a string.
8
+
9
+ 3.1
10
+ test/data/users-guide/document02a.yaml#0: valid.
11
+
12
+ 3.2
13
+ test/data/users-guide/document02b.yaml#0: INVALID
14
+ - (line 2) [/email] 'foo(at)mail.com': not matched to pattern /@/.
15
+ - (line 3) [/age] 'twenty': not a integer.
16
+ - (line 4) [/birth] 'Jun 01, 1985': not a date.
17
+
18
+ 4.1
19
+ test/data/users-guide/document03a.yaml#0: valid.
20
+
21
+ 4.2
22
+ test/data/users-guide/document03b.yaml#0: INVALID
23
+ - (line 3) [/1] key 'name:' is required.
24
+ - (line 3) [/1/naem] key 'naem:' is undefined.
25
+ - (line 6) [/2/mail] key 'mail:' is undefined.
26
+
27
+ 5.1
28
+ test/data/users-guide/document04a.yaml#0: valid.
29
+
30
+ 5.2
31
+ test/data/users-guide/document04b.yaml#0: INVALID
32
+ - (line 4) [/employees/0/code] 'A101': not a integer.
33
+ - (line 9) [/employees/1/mail] key 'mail:' is undefined.
34
+
35
+ 8.1
36
+ test/data/users-guide/document05a.yaml#0: valid.
37
+
38
+ 8.2
39
+ test/data/users-guide/document05b.yaml#0: INVALID
40
+ - (line 2) [/0/email] 'foo(at)mail.com': not matched to pattern /@/.
41
+ - (line 3) [/0/password] 'xxx123': too short (length 6 < min 8).
42
+ - (line 4) [/0/age] 'twenty': not a integer.
43
+ - (line 5) [/0/blood] 'a': invalid blood value.
44
+ - (line 7) [/1] key 'name:' is required.
45
+ - (line 7) [/1/given-name] key 'given-name:' is undefined.
46
+ - (line 8) [/1/family-name] key 'family-name:' is undefined.
47
+ - (line 10) [/1/age] '15': too small (< min 18).
48
+ - (line 12) [/1/birth] '1980/01/01': not a date.
49
+
50
+ 9.1
51
+ test/data/users-guide/document06a.yaml#0: valid.
52
+
53
+ 10.1
54
+ test/data/users-guide/document06b.yaml#0: INVALID
55
+ - (line 7) [/0/groups/3] 'foo': is already used at '/0/groups/0'.
56
+ - (line 13) [/2/name] 'bar': is already used at '/1/name'.
57
+
58
+ 10.2
59
+ test/data/users-guide/document12a.json#0: valid.
60
+
61
+ 11.1
62
+ test/data/users-guide/document12b.json#0: INVALID
63
+ - (line 1) [/] key 'name:' is required.
64
+ - (line 2) [/mail] key 'mail:' is undefined.
65
+ - (line 3) [/age] 'twenty': not a integer.
66
+ - (line 4) [/gender] 'X': invalid gender value.
67
+ - (line 5) [/favorite/0] '123': not a string.
68
+ - (line 5) [/favorite/1] '456': not a string.
69
+
70
+ 12.1
71
+ test/data/users-guide/document13a.yaml#0: valid.
72
+
73
+ 12.2
74
+ test/data/users-guide/document14a.yaml#0: valid.
75
+
76
+ 13.1
77
+ test/data/users-guide/document14b.yaml#0: INVALID
78
+ - (line 2) [/value2] '1.1': too large (> max 1).
79
+ - (line 3) [/value3] '-2.0': too small (< min -1).
80
+
81
+ 14.1
82
+ test/data/users-guide/document15a.yaml#0: valid.
83
+
84
+ 14.2
85
+ test/data/users-guide/document15b.yaml#0: INVALID
86
+ - (line 5) [/user] key 'email:' is required.
87
+ - (line 5) [/user/name] 'toooooo-looooong-name': too long (length 21 > max 16).
88
+
89
+ 15.1 SKIPPED: schema.yaml unknown so changed to kwalify.schema.yaml
90
+
91
+ 15.2 SKIPPED: schema.yaml unknown so changed to kwalify.schema.yaml
92
+
93
+ 16.1: SKIPPED: NOT FULL EXAMPLE
94
+
95
+ 27.1 (WORKED 1st TIME)
96
+ --module=name : module name in which class defined
97
+ --parent=name : parent class name
98
+ --include=name : module name which all classes include
99
+ --initialize=false : not print initialize() method
100
+ --hashlike : include Kwalify::Util::HashLike module
101
+
102
+ 27.2
103
+ --module=name : module name in which class defined
104
+ --parent=name : parent class name
105
+ --include=name : module name which all classes include
106
+ --initialize=false : not print initialize() method
107
+ --hashlike : include Kwalify::Util::HashLike module
108
+
109
+ 27.3 (WORKED 1st TIME)
110
+ generating ./AddressBook.java...done.
111
+ generating ./Group.java...done.
112
+ generating ./Person.java...done.
113
+
114
+ 30.1.1
115
+ DEFERRED: No jar file - javac -nowarn -classpath '.:kwalify.jar' *.java
116
+
117
+ 30.1.2
118
+ DEFERRED: No jar file - javac -classpath '.:kwalify.jar' test/data/users-guide/ExampleAddressBook
119
+
120
+ 31.1 (WORKED 1st TIME)
121
+ --package=name : package name
122
+ --extends=name : class name to extend
123
+ --implements=name,... : interface names to implement
124
+ --dir=path : directory to locate output file
125
+ --basedir=path : base directory to locate output file
126
+ --constructor=false : not print initialize() method
127
+
128
+ 31.2
129
+ DEFERRED: Getting: "schema filename is not specified."
130
+ schema filename is not specified.
131
+
132
+ BROKEN - BUGS - STARTS HERE ======================================
133
+ + echo
134
+
135
+ + echo 20.1
136
+ 20.1
137
+ + echo 'BROKEN/BUG?: '\''Kwalify::Util::OrderedHash#put'\'': stack level too deep (SystemStackError)'
138
+ BROKEN/BUG?: 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)
139
+ + ./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-ruby -P -f test/data/users-guide/BABEL.schema.yaml --hashlike --initialize=false --module=Babel -l lib:lib/kwalify/util
140
+ ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)
141
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
142
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
143
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
144
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
145
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
146
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
147
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
148
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
149
+ ... 10066 levels...
150
+ from ./bin/kwalify.rb:3916:in 'Kwalify::Main#perform_action'
151
+ from ./bin/kwalify.rb:3827:in 'Kwalify::Main#execute'
152
+ from ./bin/kwalify.rb:3845:in 'Kwalify::Main.main'
153
+ from ./bin/kwalify.rb:4167:in '<main>'
154
+ + echo
155
+
156
+ + echo 25.1
157
+ 25.1
158
+ + echo 'BROKEN/BUG?: '\''Kwalify::Util::OrderedHash#put'\'': stack level too deep (SystemStackError)'
159
+ BROKEN/BUG?: 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)
160
+ + ./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-ruby -tf test/data/users-guide/address_book.schema.yaml
161
+ ./bin/kwalify.rb:3696:in 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)
162
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
163
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
164
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
165
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
166
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
167
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
168
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
169
+ from ./bin/kwalify.rb:3697:in 'Kwalify::Util::OrderedHash#put'
170
+ ... 10066 levels...
171
+ from ./bin/kwalify.rb:3916:in 'Kwalify::Main#perform_action'
172
+ from ./bin/kwalify.rb:3827:in 'Kwalify::Main#execute'
173
+ from ./bin/kwalify.rb:3845:in 'Kwalify::Main.main'
174
+ from ./bin/kwalify.rb:4167:in '<main>'
175
+ + wc -l address_book.rb
176
+ 0 address_book.rb
177
+ + rm -f address_book.rb
178
+ + echo
179
+
180
+ + echo 'BROKEN/CAN'\''T FIND - STARTS HERE ======================================'
181
+ BROKEN/CAN'T FIND - STARTS HERE ======================================
182
+ + echo
183
+
184
+ + echo 14.3
185
+ 14.3
186
+ + echo 'BROKEN: Can'\''t find answers-schema.yaml'
187
+ BROKEN: Can't find answers-schema.yaml
188
+ + ruby test/data/users-guide/validate08.rb
189
+ /home/t530-dev/.rvm/rubies/ruby-3.4.7/lib/ruby/3.4.0/psych.rb:688:in 'File#initialize': No such file or directory @ rb_sysopen - answers-schema.yaml (Errno::ENOENT)
190
+ from /home/t530-dev/.rvm/rubies/ruby-3.4.7/lib/ruby/3.4.0/psych.rb:688:in 'IO.open'
191
+ from /home/t530-dev/.rvm/rubies/ruby-3.4.7/lib/ruby/3.4.0/psych.rb:688:in 'Psych.load_file'
192
+ from test/data/users-guide/validate08.rb:7:in '<main>'
193
+ + echo
194
+
195
+ + echo 17.1
196
+ 17.1
197
+ + echo 'BROKEN: Can'\''t find test/data/users-guide/answers-schema.yaml'
198
+ BROKEN: Can't find test/data/users-guide/answers-schema.yaml
199
+ + ruby test/data/users-guide/answers-validator.rb test/data/users-guide/document07a.yaml
200
+ /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'IO.read': No such file or directory @ rb_sysopen - answers-schema.yaml (Errno::ENOENT)
201
+ from /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'Kwalify::Yaml.load_file'
202
+ from test/data/users-guide/answers-validator.rb:10:in '<class:AnswersValidator>'
203
+ from test/data/users-guide/answers-validator.rb:7:in '<main>'
204
+ + echo
205
+
206
+ + echo 18.1
207
+ 18.1
208
+ + echo 'BROKEN: Can'\''t find kwalify'
209
+ BROKEN: Can't find kwalify
210
+ + ruby test/data/users-guide/howto3.rb
211
+ /home/t530-dev/Projects/rkwalify/lib/kwalify/parser/yaml.rb:135:in 'IO.read': No such file or directory @ rb_sysopen - howto3.yaml (Errno::ENOENT)
212
+ from /home/t530-dev/Projects/rkwalify/lib/kwalify/parser/yaml.rb:135:in 'Kwalify::Yaml::Parser#parse_file'
213
+ from test/data/users-guide/howto3.rb:4:in '<main>'
214
+ + echo
215
+
216
+ + echo 19.1
217
+ 19.1
218
+ + echo 'BROKEN: Can'\''t find lib/kwalify/util/hashlike'
219
+ BROKEN: Can't find lib/kwalify/util/hashlike
220
+ + ruby test/data/users-guide/loadconfig.rb
221
+ /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'IO.read': No such file or directory @ rb_sysopen - config.schema.yaml (Errno::ENOENT)
222
+ from /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'Kwalify::Yaml.load_file'
223
+ from test/data/users-guide/loadconfig.rb:10:in '<main>'
224
+ + echo
225
+
226
+ + echo 21.1
227
+ 21.1
228
+ + echo 'BROKEN: Can'\''t find BABEL.schema.yaml'
229
+ BROKEN: Can't find BABEL.schema.yaml
230
+ + ruby test/data/users-guide/loadbabel.rb
231
+ /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'IO.read': No such file or directory @ rb_sysopen - BABEL.schema.yaml (Errno::ENOENT)
232
+ from /home/t530-dev/Projects/rkwalify/lib/kwalify.rb:53:in 'Kwalify::Yaml.load_file'
233
+ from test/data/users-guide/loadbabel.rb:5:in '<main>'
234
+ + echo
235
+
236
+ + echo 26.1
237
+ 26.1
238
+ + echo 'BROKEN: Can'\''t find address_book.yaml'
239
+ BROKEN: Can't find address_book.yaml
240
+ + ruby -I /home/t530-dev/Projects/rkwalify/lib:/home/t530-dev/Projects/rkwalify/test/data/users-guide test/data/users-guide/example_address_book.rb
241
+ test/data/users-guide/example_address_book.rb:6:in 'IO.read': No such file or directory @ rb_sysopen - address_book.yaml (Errno::ENOENT)
242
+ from test/data/users-guide/example_address_book.rb:6:in '<main>'
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env bash
2
+ export TDU="test/data/users-guide"
3
+ export PROJHOME=${HOME}/Projects/rkwalify
4
+ export RUBYLIB=${PROJHOME}/lib:${PROJHOME}/test/data/users-guide
5
+ export PATH=${PATH}:${PROJHOME}/bin
6
+ COVERAGE="yes"
7
+ #
8
+ #cat <<WORKING >> /dev/null
9
+ ######################################################################
10
+ #YAML/YAML
11
+ echo ; echo "2.1"
12
+ ./bin/kwalify.rb -lf ${TDU}/schema01.yaml ${TDU}/document01a.yaml
13
+ #
14
+ echo ; echo "2.2"
15
+ ./bin/kwalify.rb -lf ${TDU}/schema01.yaml ${TDU}/document01b.yaml
16
+ #
17
+ echo ; echo "3.1"
18
+ ./bin/kwalify.rb -lf ${TDU}/schema02.yaml ${TDU}/document02a.yaml
19
+ echo ; echo "3.2"
20
+ ./bin/kwalify.rb -lf ${TDU}/schema02.yaml ${TDU}/document02b.yaml
21
+ #
22
+ echo ; echo "4.1"
23
+ ./bin/kwalify.rb -lf ${TDU}/schema03.yaml ${TDU}/document03a.yaml
24
+ echo ; echo "4.2"
25
+ ./bin/kwalify.rb -lf ${TDU}/schema03.yaml ${TDU}/document03b.yaml
26
+ #
27
+ echo ; echo "5.1"
28
+ ./bin/kwalify.rb -lf ${TDU}/schema04.yaml ${TDU}/document04a.yaml
29
+ echo ; echo "5.2"
30
+ ./bin/kwalify.rb -lf ${TDU}/schema04.yaml ${TDU}/document04b.yaml
31
+ #
32
+ echo ; echo "8.1"
33
+ ./bin/kwalify.rb -lf ${TDU}/schema05.yaml ${TDU}/document05a.yaml
34
+ echo ; echo "8.2"
35
+ ./bin/kwalify.rb -lf ${TDU}/schema05.yaml ${TDU}/document05b.yaml
36
+ #
37
+ echo ; echo "9.1"
38
+ ./bin/kwalify.rb -lf ${TDU}/schema06.yaml ${TDU}/document06a.yaml
39
+ #
40
+ echo ; echo "10.1"
41
+ ./bin/kwalify.rb -lf ${TDU}/schema06.yaml ${TDU}/document06b.yaml
42
+ ######################################################################
43
+ #JSON/JSON
44
+ echo ; echo "10.2"
45
+ ./bin/kwalify.rb -lf ${TDU}/schema12.json ${TDU}/document12a.json
46
+ #
47
+ echo ; echo "11.1"
48
+ ./bin/kwalify.rb -lf ${TDU}/schema12.json ${TDU}/document12b.json
49
+ #
50
+ ######################################################################
51
+ #YAML/YAML
52
+ echo ; echo "12.1"
53
+ ./bin/kwalify.rb -lf ${TDU}/schema13.yaml ${TDU}/document13a.yaml
54
+ echo ; echo "12.2"
55
+ ./bin/kwalify.rb -lf ${TDU}/schema14.yaml ${TDU}/document14a.yaml
56
+ #
57
+ echo ; echo "13.1"
58
+ ./bin/kwalify.rb -lf ${TDU}/schema14.yaml ${TDU}/document14b.yaml
59
+ #
60
+ echo ; echo "14.1"
61
+ ./bin/kwalify.rb -lf ${TDU}/schema15.yaml ${TDU}/document15a.yaml
62
+ echo ; echo "14.2"
63
+ ./bin/kwalify.rb -lf ${TDU}/schema15.yaml ${TDU}/document15b.yaml
64
+ #
65
+ echo ; echo "15.1 SKIPPED: schema.yaml unknown so changed to kwalify.schema.yaml"
66
+ echo ; echo "15.2 SKIPPED: schema.yaml unknown so changed to kwalify.schema.yaml"
67
+ #
68
+ echo ; echo "16.1: SKIPPED: NOT FULL EXAMPLE"
69
+ #./bin/kwalify.rb -m ${TDU}/schema1.yaml ${TDU}/schema2.yaml"
70
+ #
71
+ echo ; echo "27.1 (WORKED 1st TIME)"
72
+ ./bin/kwalify.rb -ha ./lib/kwalify/templates/genclass-ruby
73
+ echo ; echo "27.2"
74
+ ./bin/kwalify.rb -ha ./lib/kwalify/templates/genclass-ruby --module=My --hashlike
75
+ #
76
+ echo ; echo "27.3 (WORKED 1st TIME)"
77
+ ./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-java \
78
+ -tf ${TDU}/address_book.schema.yaml
79
+ rm -f AddressBook.java Group.java Person.java
80
+ #
81
+ echo ; echo "30.1.1"
82
+ echo "DEFERRED: No jar file - javac -nowarn -classpath '.:kwalify.jar' *.java"
83
+ # -Xlint:unchecked => "warning: [unchecked] unchecked call to
84
+ # set(int,E) as a member of the raw type List
85
+ #List<Group> seq = new ArrayList<>();
86
+ #List<Person> seq = new ArrayList<>();
87
+ #
88
+ echo ; echo "30.1.2"
89
+ echo "DEFERRED: No jar file - javac -classpath '.:kwalify.jar' ${TDU}/ExampleAddressBook"
90
+ #
91
+ echo ; echo "31.1 (WORKED 1st TIME)"
92
+ ./bin/kwalify.rb -ha ./lib/kwalify/templates/genclass-java
93
+ #
94
+ echo ; echo "31.2"
95
+ echo 'DEFERRED: Getting: "schema filename is not specified."'
96
+ ./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-java \
97
+ --package=com.example.my --implements=Serializable --basedir=src
98
+ #
99
+ ######################################################################
100
+ #RUBY
101
+ #
102
+ echo ; echo "DEFERRED/BROKEN - BUGS - STARTS HERE ===================="
103
+ set -x
104
+ #
105
+ echo ; echo "20.1"
106
+ echo "DEFERRED/BROKEN/BUG?: 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)"
107
+ #./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-ruby -P \
108
+ # -f ${TDU}/BABEL.schema.yaml \
109
+ # --hashlike --initialize=false --module=Babel -l lib:lib/kwalify/util
110
+ #
111
+ echo ; echo "25.1"
112
+ echo "DEFERRED/BROKEN/BUG?: 'Kwalify::Util::OrderedHash#put': stack level too deep (SystemStackError)"
113
+ #./bin/kwalify.rb -a ./lib/kwalify/templates/genclass-ruby \
114
+ # -tf ${TDU}/address_book.schema.yaml > address_book.rb
115
+ #wc -l address_book.rb
116
+ #rm -f address_book.rb
117
+ #
118
+ echo ; echo "BROKEN/CAN'T FIND - STARTS HERE ======================================"
119
+ #
120
+ echo ; echo "14.3"
121
+ echo "BROKEN: Can't find answers-schema.yaml"
122
+ ruby ${TDU}/validate08.rb
123
+ #
124
+ echo ; echo "17.1"
125
+ echo "BROKEN: Can't find ${TDU}/answers-schema.yaml"
126
+ ruby ${TDU}/answers-validator.rb ${TDU}/document07a.yaml
127
+ #
128
+ echo ; echo "18.1"
129
+ echo "BROKEN: Can't find kwalify"
130
+ ruby ${TDU}/howto3.rb
131
+ #
132
+ echo ; echo "19.1"
133
+ echo "BROKEN: Can't find lib/kwalify/util/hashlike"
134
+ ruby ${TDU}/loadconfig.rb
135
+ #
136
+ echo ; echo "21.1"
137
+ echo "BROKEN: Can't find BABEL.schema.yaml"
138
+ ruby ${TDU}/loadbabel.rb
139
+ #
140
+ echo ; echo "26.1"
141
+ echo "BROKEN: Can't find address_book.yaml"
142
+ ruby -I ${RUBYLIB} ${TDU}/example_address_book.rb
143
+
144
+ unset COVERAGE
145
+ #EOF
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+ for i in $(git grep -l 0.7.[012] |egrep -v "kwalify-0.7.2|2008-01|Attic|Mani|rubocop-rake")
3
+ do
4
+ sed -e "s,Release 0.7.2,Release 1.4.0-preview1," \
5
+ -e "s,Release: 0.7.2,Release: 1.4.0-preview1," $i > /tmp/$$_N
6
+ mv /tmp/$$_N $i
7
+ done