cddl 0.6.2 → 0.6.3
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 +4 -4
- data/bin/cddl +35 -3
- data/cddl.gemspec +1 -1
- data/data/prelude.cddl +1 -1
- data/lib/cbor-pp-play.rb +13 -0
- data/lib/cbor-pp.rb +180 -0
- data/lib/cddl.rb +101 -35
- data/test-data/dcaf.cddl +58 -0
- data/test-data/grasp-v1.cddl +97 -0
- data/test-data/grasp-v2X.cddl +89 -0
- data/test-data/ifmap-base-2.2v9_fh-cabo.cddl +149 -0
- data/test-data/ifmap-metadata-2.2v9_fh-cabo.cddl +239 -0
- data/test/test-cddl.rb +68 -6
- metadata +10 -2
data/test/test-cddl.rb
CHANGED
@@ -434,7 +434,7 @@ test = {
|
|
434
434
|
?(bar: int // bar: true)
|
435
435
|
}
|
436
436
|
HERE
|
437
|
-
pp parser.rules
|
437
|
+
# pp parser.rules
|
438
438
|
parser.validate({})
|
439
439
|
10.times {
|
440
440
|
g = parser.generate
|
@@ -511,7 +511,7 @@ test = [
|
|
511
511
|
bar = (5 // 6)
|
512
512
|
HERE
|
513
513
|
# puts parser.ast_debug
|
514
|
-
pp parser.rules
|
514
|
+
# pp parser.rules
|
515
515
|
10.times {
|
516
516
|
g = parser.generate
|
517
517
|
pp ["gcia", g]
|
@@ -1256,10 +1256,12 @@ HERE
|
|
1256
1256
|
# puts "empty_group_sp AST:"
|
1257
1257
|
# puts parser.ast_debug
|
1258
1258
|
# puts "simple_type_augmented RULES:"
|
1259
|
-
pp parser.rules
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1259
|
+
# pp parser.rules
|
1260
|
+
10.times do
|
1261
|
+
g = parser.generate
|
1262
|
+
# pp g
|
1263
|
+
assert parser.validate(g)
|
1264
|
+
end
|
1263
1265
|
assert parser.validate({"seq" => 1, "ack" => 2})
|
1264
1266
|
end
|
1265
1267
|
|
@@ -1324,4 +1326,64 @@ HERE
|
|
1324
1326
|
refute parser2.validate(g << 1, false)
|
1325
1327
|
}
|
1326
1328
|
end
|
1329
|
+
|
1330
|
+
def test_aaa_grpchoice
|
1331
|
+
parser = CDDL::Parser.new <<HERE
|
1332
|
+
result = [2*2 identifier]
|
1333
|
+
identifier //= ( "ifmap" // "ifmap")
|
1334
|
+
;identifier = ( "ifmap" // "ifmap" )
|
1335
|
+
HERE
|
1336
|
+
p parser.rules
|
1337
|
+
# - [:type1, [:array, [:member, 2, 2, nil, [:grpchoice, [[:member, 1, 1, nil, [:string, "ifmap"]]]]]]]
|
1338
|
+
# - [:type1, [:array, [:member, 2, 2, nil, [:grpchoice, [[:grpchoice, [[:member, 1, 1, nil, [:string, "ifmap"]]], [[:member, 1, 1, nil, [:string, "ifmap"]]]]]]]]]
|
1339
|
+
# + [:type1, [:array, [:member, 2, 2, nil, [:grpent, [:grpchoice, [[:member, 1, 1, nil, [:string, "ifmap"]]], [[:member, 1, 1, nil, [:string, "ifmap"]]]]]]]]
|
1340
|
+
g = parser.generate
|
1341
|
+
assert_equal g, ["ifmap", "ifmap"]
|
1342
|
+
end
|
1343
|
+
|
1344
|
+
def test_aaaa_plus_with_choice
|
1345
|
+
parser = CDDL::Parser.new <<HERE
|
1346
|
+
response = [*locator / divert]
|
1347
|
+
locator = 3
|
1348
|
+
divert = 4
|
1349
|
+
HERE
|
1350
|
+
assert_equal [:type1, [:array, [:member, 0, CDDL::MANY, nil, [:type1, [:int, 3], [:int, 4]]]]], parser.rules
|
1351
|
+
parser = CDDL::Parser.new <<HERE
|
1352
|
+
response = [*(locator / divert)]
|
1353
|
+
locator = 3
|
1354
|
+
divert = 4
|
1355
|
+
HERE
|
1356
|
+
assert_equal [:type1, [:array, [:member, 0, CDDL::MANY, nil, [:type1, [:int, 3], [:int, 4]]]]], parser.rules
|
1357
|
+
parser = CDDL::Parser.new <<HERE
|
1358
|
+
response = [*locator // divert // objective]
|
1359
|
+
locator = 3
|
1360
|
+
divert = 4
|
1361
|
+
objective = 5
|
1362
|
+
HERE
|
1363
|
+
assert_equal [:type1, [:array, [:grpchoice, [[:member, 0, CDDL::MANY, nil, [:int, 3]]], [[:member, 1, 1, nil, [:int, 4]]], [[:member, 1, 1, nil, [:int, 5]]]]]], parser.rules
|
1364
|
+
# 10.times do
|
1365
|
+
# p parser.generate
|
1366
|
+
# end
|
1367
|
+
parser = CDDL::Parser.new <<HERE
|
1368
|
+
response = [*locator // divert / objective]
|
1369
|
+
locator = 3
|
1370
|
+
divert = 4
|
1371
|
+
objective = 5
|
1372
|
+
HERE
|
1373
|
+
assert_equal [:type1, [:array, [:grpchoice, [[:member, 0, CDDL::MANY, nil, [:int, 3]]], [[:member, 1, 1, nil, [:type1, [:int, 4], [:int, 5]]]]]]], parser.rules
|
1374
|
+
# 10.times do
|
1375
|
+
# p parser.generate
|
1376
|
+
# end
|
1377
|
+
end
|
1378
|
+
|
1379
|
+
|
1380
|
+
def test_aaaaa_false_map_values
|
1381
|
+
parser = CDDL::Parser.new <<HERE
|
1382
|
+
a = {a: nil}
|
1383
|
+
HERE
|
1384
|
+
g = parser.generate
|
1385
|
+
assert parser.validate(g)
|
1386
|
+
assert_equal g, {"a" => nil}
|
1387
|
+
end
|
1388
|
+
|
1327
1389
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cddl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carsten Bormann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cbor-diag
|
@@ -91,6 +91,8 @@ files:
|
|
91
91
|
- cddl.gemspec
|
92
92
|
- data/cddl.abnf
|
93
93
|
- data/prelude.cddl
|
94
|
+
- lib/cbor-pp-play.rb
|
95
|
+
- lib/cbor-pp.rb
|
94
96
|
- lib/cddl.rb
|
95
97
|
- test-data/7071-concise.cddl
|
96
98
|
- test-data/7071-verbose.cddl
|
@@ -98,8 +100,13 @@ files:
|
|
98
100
|
- test-data/b.cddl
|
99
101
|
- test-data/basic_syntax_example.cddl
|
100
102
|
- test-data/cdni-ct.cddl
|
103
|
+
- test-data/dcaf.cddl
|
101
104
|
- test-data/dcaf1.cddl
|
105
|
+
- test-data/grasp-v1.cddl
|
106
|
+
- test-data/grasp-v2X.cddl
|
102
107
|
- test-data/ifmap-base-2.0v17.cddl
|
108
|
+
- test-data/ifmap-base-2.2v9_fh-cabo.cddl
|
109
|
+
- test-data/ifmap-metadata-2.2v9_fh-cabo.cddl
|
103
110
|
- test-data/ifmap2.cddl
|
104
111
|
- test-data/jcr-ex.cddl
|
105
112
|
- test-data/minimal.cddl
|
@@ -137,3 +144,4 @@ signing_key:
|
|
137
144
|
specification_version: 4
|
138
145
|
summary: CDDL generator and validator.
|
139
146
|
test_files: []
|
147
|
+
has_rdoc:
|