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.
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
- g = parser.generate
1261
- pp g
1262
- assert parser.validate(g)
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.2
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-07-12 00:00:00.000000000 Z
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: