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.
- checksums.yaml +7 -0
- data/.github/workflows/ruby.yml +39 -0
- data/.gitignore +61 -0
- data/.overcommit.yml +33 -0
- data/.rubocop.yml +9 -0
- data/.rubocop_todo.yml +1369 -0
- data/.ruby-version +1 -0
- data/Attic/README-0.7.2.md +53 -0
- data/Attic/features/cli.feature +9 -0
- data/Attic/features/step_definitions/validation_steps.rb +20 -0
- data/Attic/features/support/env.rb +4 -0
- data/Attic/features/validate_schema.feature +12 -0
- data/Attic/s+h +53 -0
- data/Attic/setup.rb +1556 -0
- data/Attic/spec/my_cli_tool_spec.rb +52 -0
- data/Attic/spec/rspec-ex_spec.rb +10 -0
- data/Attic/spec/spec_helper.rb +104 -0
- data/Attic/test-15.1.rb +28 -0
- data/CHANGELOG.md +292 -0
- data/CONTRIBUTING.md +23 -0
- data/CONTRIBUTORS.md +8 -0
- data/Gemfile +16 -0
- data/Gemfile.lock +146 -0
- data/MIT-LICENSE +21 -0
- data/README.md +53 -0
- data/ROLL-OUT-STRATEGY.md +77 -0
- data/Rakefile +11 -0
- data/bin/kwalify.rb +4167 -0
- data/bin/kwalify.schema.yaml +59 -0
- data/contrib/inline-require +181 -0
- data/contrib/kwalify +4167 -0
- data/contrib/kwalify-0.7.2 +4160 -0
- data/devbin/README.md +22 -0
- data/devbin/chk-rad-repo.sh +20 -0
- data/devbin/chkcopyrights.sh +42 -0
- data/devbin/chkspelling.sh +16 -0
- data/devbin/got-all-rel-numbers.sh +5 -0
- data/devbin/mkbig-rkwalify.sh +7 -0
- data/devbin/mkgem_file.sh +5 -0
- data/devbin/runtests.sh +6 -0
- data/devbin/ug-tests.golden +242 -0
- data/devbin/ug-tests.sh +145 -0
- data/devbin/update-rel-numbers.sh +7 -0
- data/doc/docstyle.css +188 -0
- data/doc/img/fig01.png +0 -0
- data/doc/users-guide.html +2051 -0
- data/doc-api/classes/CommandOptionError.html +184 -0
- data/doc-api/classes/CommandOptionParser.html +325 -0
- data/doc-api/classes/Kwalify/AssertionError.html +148 -0
- data/doc-api/classes/Kwalify/BaseError.html +297 -0
- data/doc-api/classes/Kwalify/BaseParser.html +461 -0
- data/doc-api/classes/Kwalify/CommandOptionError.html +168 -0
- data/doc-api/classes/Kwalify/ErrorHelper.html +223 -0
- data/doc-api/classes/Kwalify/HashInterface.html +118 -0
- data/doc-api/classes/Kwalify/Json.html +105 -0
- data/doc-api/classes/Kwalify/KwalifyError.html +111 -0
- data/doc-api/classes/Kwalify/Main.html +339 -0
- data/doc-api/classes/Kwalify/MetaValidator.html +448 -0
- data/doc-api/classes/Kwalify/Parser.html +155 -0
- data/doc-api/classes/Kwalify/PlainYamlParser/Alias.html +165 -0
- data/doc-api/classes/Kwalify/PlainYamlParser.html +523 -0
- data/doc-api/classes/Kwalify/Rule.html +433 -0
- data/doc-api/classes/Kwalify/SchemaError.html +148 -0
- data/doc-api/classes/Kwalify/SyntaxError.html +185 -0
- data/doc-api/classes/Kwalify/Types.html +302 -0
- data/doc-api/classes/Kwalify/Util/HashLike.html +246 -0
- data/doc-api/classes/Kwalify/Util/OrderedHash.html +330 -0
- data/doc-api/classes/Kwalify/Util.html +390 -0
- data/doc-api/classes/Kwalify/ValidationError.html +148 -0
- data/doc-api/classes/Kwalify/Validator.html +381 -0
- data/doc-api/classes/Kwalify/Yaml/Parser.html +1538 -0
- data/doc-api/classes/Kwalify/Yaml.html +194 -0
- data/doc-api/classes/Kwalify/YamlParser.html +542 -0
- data/doc-api/classes/Kwalify/YamlSyntaxError.html +119 -0
- data/doc-api/classes/Kwalify.html +292 -0
- data/doc-api/classes/Test/Unit.html +101 -0
- data/doc-api/classes/Test.html +107 -0
- data/doc-api/created.rid +1 -0
- data/doc-api/files/__/README_txt.html +153 -0
- data/doc-api/files/kwalify/errors_rb.html +114 -0
- data/doc-api/files/kwalify/main_rb.html +118 -0
- data/doc-api/files/kwalify/messages_rb.html +107 -0
- data/doc-api/files/kwalify/meta-validator_rb.html +117 -0
- data/doc-api/files/kwalify/parser/base_rb.html +116 -0
- data/doc-api/files/kwalify/parser/yaml_rb.html +117 -0
- data/doc-api/files/kwalify/rule_rb.html +116 -0
- data/doc-api/files/kwalify/types_rb.html +114 -0
- data/doc-api/files/kwalify/util/assert-text-equal_rb.html +115 -0
- data/doc-api/files/kwalify/util/hash-interface_rb.html +114 -0
- data/doc-api/files/kwalify/util/hashlike_rb.html +107 -0
- data/doc-api/files/kwalify/util/option-parser_rb.html +107 -0
- data/doc-api/files/kwalify/util/ordered-hash_rb.html +107 -0
- data/doc-api/files/kwalify/util/testcase-helper_rb.html +115 -0
- data/doc-api/files/kwalify/util_rb.html +107 -0
- data/doc-api/files/kwalify/validator_rb.html +117 -0
- data/doc-api/files/kwalify/yaml-parser_rb.html +117 -0
- data/doc-api/files/kwalify_rb.html +121 -0
- data/doc-api/fr_class_index.html +57 -0
- data/doc-api/fr_file_index.html +45 -0
- data/doc-api/fr_method_index.html +168 -0
- data/doc-api/index.html +24 -0
- data/doc-api/rdoc-style.css +208 -0
- data/examples/address-book/Makefile +10 -0
- data/examples/address-book/address-book.schema.yaml +45 -0
- data/examples/address-book/address-book.yaml +36 -0
- data/examples/data-binding/BABEL.data.yaml +63 -0
- data/examples/data-binding/BABEL.schema.yaml +31 -0
- data/examples/data-binding/Makefile +8 -0
- data/examples/data-binding/Rakefile +13 -0
- data/examples/data-binding/main.rb +25 -0
- data/examples/invoice/Makefile +9 -0
- data/examples/invoice/invoice.schema.yaml +43 -0
- data/examples/invoice/invoice.yaml +32 -0
- data/examples/tapkit/Makefile +10 -0
- data/examples/tapkit/main.rb +7 -0
- data/examples/tapkit/tapkit.schema.yaml +146 -0
- data/examples/tapkit/tapkit.yaml +85 -0
- data/lib/kwalify/errors.rb +127 -0
- data/lib/kwalify/kwalify.schema.yaml +58 -0
- data/lib/kwalify/main.rb +442 -0
- data/lib/kwalify/messages.rb +173 -0
- data/lib/kwalify/meta-validator.rb +276 -0
- data/lib/kwalify/parser/base.rb +128 -0
- data/lib/kwalify/parser/yaml.rb +841 -0
- data/lib/kwalify/rule.rb +562 -0
- data/lib/kwalify/templates/genclass-java.eruby +222 -0
- data/lib/kwalify/templates/genclass-php.eruby +104 -0
- data/lib/kwalify/templates/genclass-ruby.eruby +113 -0
- data/lib/kwalify/types.rb +156 -0
- data/lib/kwalify/util/assert-text-equal.rb +46 -0
- data/lib/kwalify/util/hash-interface.rb +18 -0
- data/lib/kwalify/util/hashlike.rb +51 -0
- data/lib/kwalify/util/option-parser.rb +220 -0
- data/lib/kwalify/util/ordered-hash.rb +57 -0
- data/lib/kwalify/util/testcase-helper.rb +112 -0
- data/lib/kwalify/util.rb +159 -0
- data/lib/kwalify/validator.rb +282 -0
- data/lib/kwalify/version.rb +5 -0
- data/lib/kwalify/yaml-parser.rb +871 -0
- data/lib/kwalify.rb +61 -0
- data/rkwalify.gemspec +26 -0
- data/test/Rookbook.yaml +15 -0
- data/test/data/users-guide/AddressBook.java.expected +40 -0
- data/test/data/users-guide/BABEL.data.yaml +24 -0
- data/test/data/users-guide/BABEL.schema.yaml +30 -0
- data/test/data/users-guide/ExampleAddressBook.java +47 -0
- data/test/data/users-guide/Group.java.expected +24 -0
- data/test/data/users-guide/Person.java.expected +44 -0
- data/test/data/users-guide/address_book.rb +52 -0
- data/test/data/users-guide/address_book.schema.yaml +28 -0
- data/test/data/users-guide/address_book.yaml +27 -0
- data/test/data/users-guide/answers-schema.yaml +12 -0
- data/test/data/users-guide/answers-validator.rb +53 -0
- data/test/data/users-guide/babel_genclass.result +26 -0
- data/test/data/users-guide/config.schema.yaml +7 -0
- data/test/data/users-guide/config.yaml +4 -0
- data/test/data/users-guide/document01a.yaml +3 -0
- data/test/data/users-guide/document01b.yaml +3 -0
- data/test/data/users-guide/document02a.yaml +4 -0
- data/test/data/users-guide/document02b.yaml +4 -0
- data/test/data/users-guide/document03a.yaml +6 -0
- data/test/data/users-guide/document03b.yaml +6 -0
- data/test/data/users-guide/document04a.yaml +9 -0
- data/test/data/users-guide/document04b.yaml +9 -0
- data/test/data/users-guide/document05a.yaml +11 -0
- data/test/data/users-guide/document05b.yaml +12 -0
- data/test/data/users-guide/document06a.yaml +15 -0
- data/test/data/users-guide/document06b.yaml +16 -0
- data/test/data/users-guide/document07a.yaml +9 -0
- data/test/data/users-guide/document07b.yaml +7 -0
- data/test/data/users-guide/document12a.json +10 -0
- data/test/data/users-guide/document12b.json +6 -0
- data/test/data/users-guide/document13a.yaml +17 -0
- data/test/data/users-guide/document14a.yaml +3 -0
- data/test/data/users-guide/document14b.yaml +3 -0
- data/test/data/users-guide/document15a.yaml +6 -0
- data/test/data/users-guide/document15b.yaml +5 -0
- data/test/data/users-guide/example_address_book.rb +11 -0
- data/test/data/users-guide/example_address_book_java.result +32 -0
- data/test/data/users-guide/example_address_book_ruby.result +31 -0
- data/test/data/users-guide/genclass_java.result +4 -0
- data/test/data/users-guide/howto-validation-with-parsing.rb +28 -0
- data/test/data/users-guide/howto-validation.rb +25 -0
- data/test/data/users-guide/howto3.rb +6 -0
- data/test/data/users-guide/howto3.result +5 -0
- data/test/data/users-guide/howto3.yaml +8 -0
- data/test/data/users-guide/howto5_databinding.result +111 -0
- data/test/data/users-guide/invalid01.result +3 -0
- data/test/data/users-guide/invalid02.result +5 -0
- data/test/data/users-guide/invalid03.result +5 -0
- data/test/data/users-guide/invalid04.result +4 -0
- data/test/data/users-guide/invalid05.result +11 -0
- data/test/data/users-guide/invalid06.result +4 -0
- data/test/data/users-guide/invalid07.result +3 -0
- data/test/data/users-guide/invalid08.result +3 -0
- data/test/data/users-guide/invalid12.json +8 -0
- data/test/data/users-guide/invalid14.result +4 -0
- data/test/data/users-guide/invalid15.result +4 -0
- data/test/data/users-guide/loadbabel.rb +27 -0
- data/test/data/users-guide/loadconfig.rb +17 -0
- data/test/data/users-guide/loadconfig.result +6 -0
- data/test/data/users-guide/models.rb +24 -0
- data/test/data/users-guide/option_ha.result +6 -0
- data/test/data/users-guide/option_ha_genclass_java.result +7 -0
- data/test/data/users-guide/schema01.yaml +3 -0
- data/test/data/users-guide/schema02.yaml +12 -0
- data/test/data/users-guide/schema03.yaml +9 -0
- data/test/data/users-guide/schema04.yaml +20 -0
- data/test/data/users-guide/schema05.yaml +29 -0
- data/test/data/users-guide/schema06.yaml +11 -0
- data/test/data/users-guide/schema12.json +12 -0
- data/test/data/users-guide/schema13.yaml +13 -0
- data/test/data/users-guide/schema14.yaml +5 -0
- data/test/data/users-guide/schema15.yaml +21 -0
- data/test/data/users-guide/valid01.result +2 -0
- data/test/data/users-guide/valid02.result +2 -0
- data/test/data/users-guide/valid03.result +2 -0
- data/test/data/users-guide/valid04.result +2 -0
- data/test/data/users-guide/valid05.result +2 -0
- data/test/data/users-guide/valid06.result +2 -0
- data/test/data/users-guide/valid07.result +2 -0
- data/test/data/users-guide/valid08.result +2 -0
- data/test/data/users-guide/valid12.result +2 -0
- data/test/data/users-guide/valid13.result +2 -0
- data/test/data/users-guide/valid14.result +2 -0
- data/test/data/users-guide/valid15.result +2 -0
- data/test/data/users-guide/validate08.rb +37 -0
- data/test/test-action.rb +73 -0
- data/test/test-action.yaml +738 -0
- data/test/test-databinding.rb +84 -0
- data/test/test-databinding.yaml +339 -0
- data/test/test-main.rb +156 -0
- data/test/test-main.yaml +409 -0
- data/test/test-metavalidator.rb +80 -0
- data/test/test-metavalidator.yaml +1179 -0
- data/test/test-parser-yaml.rb +57 -0
- data/test/test-parser-yaml.yaml +1750 -0
- data/test/test-rule.rb +26 -0
- data/test/test-rule.yaml +317 -0
- data/test/test-users-guide.rb +82 -0
- data/test/test-util.rb +125 -0
- data/test/test-validator.rb +95 -0
- data/test/test-validator.yaml +986 -0
- data/test/test-yaml-parser.rb +47 -0
- data/test/test-yaml-parser.yaml +1226 -0
- data/test/test.rb +75 -0
- 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
|
data/devbin/runtests.sh
ADDED
|
@@ -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>'
|
data/devbin/ug-tests.sh
ADDED
|
@@ -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
|