cddl 0.6.2 → 0.6.3

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