Skip to content

Commit

Permalink
#776: Allow repeat-expr and repeat-until keys without a repeat key
Browse files Browse the repository at this point in the history
  • Loading branch information
Mingun committed Jul 16, 2024
1 parent deec84c commit 70fe8e0
Show file tree
Hide file tree
Showing 20 changed files with 134 additions and 58 deletions.
6 changes: 6 additions & 0 deletions formats/repeat_repeat-expr_only.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
meta:
id: repeat_expr_only
seq:
- id: foo
type: u1
repeat-expr: 42
6 changes: 6 additions & 0 deletions formats/repeat_repeat-until_only.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
meta:
id: repeat_until_only
seq:
- id: foo
type: u1
repeat-until: _ != 0
11 changes: 11 additions & 0 deletions formats_err/repeat_bad_repeat-expr-and-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# repeat_bad_repeat-expr-and-until.ksy: /seq/0/repeat:
# error: expected eos / expr / until, got 'bad'
#
meta:
id: repeat_bad_repeat_expr_and_until
seq:
- id: foo
type: u1
repeat: bad
repeat-expr: 42
repeat-until: 'true'
10 changes: 10 additions & 0 deletions formats_err/repeat_bad_repeat-expr.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_bad_repeat-expr.ksy: /seq/0/repeat:
# error: expected eos / expr / until, got 'bad'
#
meta:
id: repeat_bad_repeat_expr
seq:
- id: foo
type: u1
repeat: bad
repeat-expr: 42
10 changes: 10 additions & 0 deletions formats_err/repeat_bad_repeat-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_bad_repeat-until.ksy: /seq/0/repeat:
# error: expected eos / expr / until, got 'bad'
#
meta:
id: repeat_bad_repeat_until
seq:
- id: foo
type: u1
repeat: bad
repeat-until: 'true'
11 changes: 11 additions & 0 deletions formats_err/repeat_eos_repeat-expr-and-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# repeat_eos_repeat-expr-and-until.ksy: /seq/0/repeat:
# error: either `repeat: eos`, or `repeat-expr`, or `repeat-until` must be specified
#
meta:
id: repeat_eos_repeat_expr_and_until
seq:
- id: foo
type: u1
repeat: eos
repeat-expr: 42
repeat-until: 'true'
10 changes: 10 additions & 0 deletions formats_err/repeat_eos_repeat-expr.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_eos_repeat-expr.ksy: /seq/0/repeat:
# error: `repeat-expr` requires either a `repeat: expr` or absence of a `repeat` key
#
meta:
id: repeat_eos_repeat_expr
seq:
- id: foo
type: u1
repeat: eos
repeat-expr: 42
10 changes: 10 additions & 0 deletions formats_err/repeat_eos_repeat-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_eos_repeat-until.ksy: /seq/0/repeat:
# error: `repeat-until` requires either a `repeat: until` or absence of a `repeat` key
#
meta:
id: repeat_eos_repeat_until
seq:
- id: foo
type: u1
repeat: eos
repeat-until: 'true'
9 changes: 9 additions & 0 deletions formats_err/repeat_expr.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# repeat_expr.ksy: /seq/0/repeat:
# error: `repeat: expr` requires a `repeat-expr` key
#
meta:
id: repeat_expr
seq:
- id: foo
type: u1
repeat: expr
11 changes: 11 additions & 0 deletions formats_err/repeat_expr_repeat-expr-and-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# repeat_expr_repeat-expr-and-until.ksy: /seq/0/repeat:
# error: either `repeat: eos`, or `repeat-expr`, or `repeat-until` must be specified
#
meta:
id: repeat_expr_repeat_expr_and_until
seq:
- id: foo
type: u1
repeat: expr
repeat-expr: 42
repeat-until: 'true'
10 changes: 10 additions & 0 deletions formats_err/repeat_expr_repeat-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_expr_repeat-until.ksy: /seq/0/repeat:
# error: `repeat-until` requires either a `repeat: until` or absence of a `repeat` key
#
meta:
id: repeat_expr_repeat_until
seq:
- id: foo
type: u1
repeat: expr
repeat-until: 'true'
10 changes: 0 additions & 10 deletions formats_err/repeat_incompatible1.ksy

This file was deleted.

10 changes: 0 additions & 10 deletions formats_err/repeat_incompatible2.ksy

This file was deleted.

11 changes: 0 additions & 11 deletions formats_err/repeat_incompatible3.ksy

This file was deleted.

9 changes: 9 additions & 0 deletions formats_err/repeat_until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# repeat_until.ksy: /seq/0/repeat:
# error: `repeat: until` requires a `repeat-until` key
#
meta:
id: repeat_until
seq:
- id: foo
type: u1
repeat: until
11 changes: 11 additions & 0 deletions formats_err/repeat_until_repeat-expr-and-until.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# repeat_until_repeat-expr-and-until.ksy: /seq/0/repeat:
# error: either `repeat: eos`, or `repeat-expr`, or `repeat-until` must be specified
#
meta:
id: repeat_until_repeat_expr_and_until
seq:
- id: foo
type: u1
repeat: until
repeat-expr: 42
repeat-until: 'true'
10 changes: 10 additions & 0 deletions formats_err/repeat_until_repeat-expr.ksy
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# repeat_until_repeat-expr.ksy: /seq/0/repeat:
# error: `repeat-expr` requires either a `repeat: expr` or absence of a `repeat` key
#
meta:
id: repeat_until_repeat_expr
seq:
- id: foo
type: u1
repeat: until
repeat-expr: 42
9 changes: 0 additions & 9 deletions formats_err/repeat_wo_expr.ksy

This file was deleted.

9 changes: 0 additions & 9 deletions formats_err/repeat_wo_repeat.ksy

This file was deleted.

9 changes: 0 additions & 9 deletions formats_err/repeat_wo_until.ksy

This file was deleted.

0 comments on commit 70fe8e0

Please sign in to comment.