cddl 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|