A few more tests
This commit is contained in:
parent
a1fdddcf7b
commit
52be118dc7
|
@ -16,6 +16,9 @@ describe('checker', () => {
|
||||||
it('detects non-bijection for symbol field', () => {
|
it('detects non-bijection for symbol field', () => {
|
||||||
expect(() => readSchema('version 1 . A = <a @x string symbol> .')).toThrow(/item 1 of fields of A/);
|
expect(() => readSchema('version 1 . A = <a @x string symbol> .')).toThrow(/item 1 of fields of A/);
|
||||||
});
|
});
|
||||||
|
it('is OK with no names in simple seqof', () => {
|
||||||
|
expect(readSchema('version 1 . A = [string ...].')).not.toBeNull();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('extensible record', () => {
|
describe('extensible record', () => {
|
||||||
|
@ -38,4 +41,23 @@ describe('checker', () => {
|
||||||
.toThrow(/tail of fields of ExtensibleRecord/);
|
.toThrow(/tail of fields of ExtensibleRecord/);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('duplicate bindings', () => {
|
||||||
|
it('complains about duplicates in tuples', () => {
|
||||||
|
expect(() => readSchema('version 1 . A = [@a string @a string].'))
|
||||||
|
.toThrow(/duplicate binding named "a" in item 1 of A/);
|
||||||
|
});
|
||||||
|
it('complains about duplicates in dicts', () => {
|
||||||
|
expect(() => readSchema('version 1 . A = { x: @a string , y: @a string }.'))
|
||||||
|
.toThrow(/duplicate binding named "a" in entry y in dictionary in A/);
|
||||||
|
});
|
||||||
|
it('complains about duplicates in tuple*s', () => {
|
||||||
|
expect(() => readSchema('version 1 . A = [@a string @b string @a int @rest any ...].'))
|
||||||
|
.toThrow(/duplicate binding named "a" in item 2 of A/);
|
||||||
|
});
|
||||||
|
it('complains about duplicates in tuple* tails', () => {
|
||||||
|
expect(() => readSchema('version 1 . A = [@a string @b string @c int @a any ...].'))
|
||||||
|
.toThrow(/duplicate binding named "a" in tail of A/);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue