Consistency in parser/generator tests

This commit is contained in:
David Evans 2018-05-04 22:29:35 +01:00
parent e402eb2a0e
commit e32a54e03a
2 changed files with 614 additions and 622 deletions

File diff suppressed because it is too large Load Diff

View File

@ -17,10 +17,12 @@ describe('Sequence Parser', () => {
}); });
} }
const any = () => jasmine.anything();
const PARSED = { const PARSED = {
agentBegin: (agents, { agentBegin: (agents, {
ln = jasmine.anything(), ln = any(),
mode = jasmine.anything(), mode = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
agents: makeParsedAgents(agents), agents: makeParsedAgents(agents),
@ -31,7 +33,7 @@ describe('Sequence Parser', () => {
}), }),
agentDefine: (agents, { agentDefine: (agents, {
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
agents: makeParsedAgents(agents), agents: makeParsedAgents(agents),
@ -41,8 +43,8 @@ describe('Sequence Parser', () => {
}), }),
agentEnd: (agents, { agentEnd: (agents, {
ln = jasmine.anything(), ln = any(),
mode = jasmine.anything(), mode = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
agents: makeParsedAgents(agents), agents: makeParsedAgents(agents),
@ -53,7 +55,7 @@ describe('Sequence Parser', () => {
}), }),
agentOptions: (agent, options, { agentOptions: (agent, options, {
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
agent: makeParsedAgents([agent])[0], agent: makeParsedAgents([agent])[0],
@ -64,7 +66,7 @@ describe('Sequence Parser', () => {
}), }),
async: (target, { async: (target, {
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
ln, ln,
@ -73,14 +75,12 @@ describe('Sequence Parser', () => {
type: 'async', type: 'async',
}), }),
blockBegin: ({ blockBegin: (tag, label, {
blockType = jasmine.anything(), blockType = null,
label = jasmine.anything(), ln = any(),
ln = jasmine.anything(),
parallel = false, parallel = false,
tag = jasmine.anything(),
} = {}) => ({ } = {}) => ({
blockType, blockType: blockType || tag,
label, label,
ln, ln,
parallel, parallel,
@ -89,7 +89,7 @@ describe('Sequence Parser', () => {
}), }),
blockEnd: ({ blockEnd: ({
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
ln, ln,
@ -97,14 +97,12 @@ describe('Sequence Parser', () => {
type: 'block end', type: 'block end',
}), }),
blockSplit: ({ blockSplit: (tag, label, {
blockType = jasmine.anything(), blockType = null,
label = jasmine.anything(), ln = any(),
ln = jasmine.anything(),
parallel = false, parallel = false,
tag = jasmine.anything(),
} = {}) => ({ } = {}) => ({
blockType, blockType: blockType || tag,
label, label,
ln, ln,
parallel, parallel,
@ -113,12 +111,12 @@ describe('Sequence Parser', () => {
}), }),
connect: (agents, { connect: (agents, {
label = jasmine.anything(), label = any(),
left = jasmine.anything(), left = any(),
line = jasmine.anything(), line = any(),
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
right = jasmine.anything(), right = any(),
} = {}) => ({ } = {}) => ({
agents: makeParsedAgents(agents), agents: makeParsedAgents(agents),
label, label,
@ -129,11 +127,11 @@ describe('Sequence Parser', () => {
}), }),
connectBegin: (agent, tag, { connectBegin: (agent, tag, {
left = jasmine.anything(), left = any(),
line = jasmine.anything(), line = any(),
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
right = jasmine.anything(), right = any(),
} = {}) => ({ } = {}) => ({
agent: makeParsedAgents([agent])[0], agent: makeParsedAgents([agent])[0],
ln, ln,
@ -144,12 +142,12 @@ describe('Sequence Parser', () => {
}), }),
connectEnd: (agent, tag, { connectEnd: (agent, tag, {
label = jasmine.anything(), label = any(),
left = jasmine.anything(), left = any(),
line = jasmine.anything(), line = any(),
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
right = jasmine.anything(), right = any(),
} = {}) => ({ } = {}) => ({
agent: makeParsedAgents([agent])[0], agent: makeParsedAgents([agent])[0],
label, label,
@ -161,10 +159,10 @@ describe('Sequence Parser', () => {
}), }),
divider: ({ divider: ({
height = jasmine.anything(), height = any(),
label = jasmine.anything(), label = any(),
ln = jasmine.anything(), ln = any(),
mode = jasmine.anything(), mode = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
height, height,
@ -176,12 +174,12 @@ describe('Sequence Parser', () => {
}), }),
groupBegin: (agents, { groupBegin: (agents, {
alias = jasmine.anything(), alias = any(),
blockType = jasmine.anything(), blockType = any(),
label = jasmine.anything(), label = any(),
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
tag = jasmine.anything(), tag = any(),
} = {}) => ({ } = {}) => ({
agents: makeParsedAgents(agents), agents: makeParsedAgents(agents),
alias, alias,
@ -194,7 +192,7 @@ describe('Sequence Parser', () => {
}), }),
labelPattern: (pattern, { labelPattern: (pattern, {
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
ln, ln,
@ -204,7 +202,7 @@ describe('Sequence Parser', () => {
}), }),
mark: (name, { mark: (name, {
ln = jasmine.anything(), ln = any(),
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
ln, ln,
@ -214,8 +212,8 @@ describe('Sequence Parser', () => {
}), }),
note: (position, agents, { note: (position, agents, {
label = jasmine.anything(), label = any(),
ln = jasmine.anything(), ln = any(),
mode = 'note', mode = 'note',
parallel = false, parallel = false,
} = {}) => ({ } = {}) => ({
@ -237,7 +235,7 @@ describe('Sequence Parser', () => {
code: '', code: '',
headers: 'box', headers: 'box',
terminators: 'none', terminators: 'none',
textFormatter: jasmine.anything(), textFormatter: any(),
theme: '', theme: '',
title: '', title: '',
}, },
@ -765,24 +763,12 @@ describe('Sequence Parser', () => {
); );
expect(parsed.stages).toEqual([ expect(parsed.stages).toEqual([
PARSED.blockBegin({ PARSED.blockBegin('if', 'something happens'),
blockType: 'if',
label: 'something happens',
tag: 'if',
}),
PARSED.connect(['A', 'B']), PARSED.connect(['A', 'B']),
PARSED.blockSplit({ PARSED.blockSplit('else', 'something else'),
blockType: 'else',
label: 'something else',
tag: 'else',
}),
PARSED.connect(['A', 'C']), PARSED.connect(['A', 'C']),
PARSED.connect(['C', 'B']), PARSED.connect(['C', 'B']),
PARSED.blockSplit({ PARSED.blockSplit('else', ''),
blockType: 'else',
label: '',
tag: 'else',
}),
PARSED.connect(['A', 'D']), PARSED.connect(['A', 'D']),
PARSED.blockEnd(), PARSED.blockEnd(),
]); ]);
@ -792,11 +778,7 @@ describe('Sequence Parser', () => {
const parsed = parser.parse('repeat until something'); const parsed = parser.parse('repeat until something');
expect(parsed.stages).toEqual([ expect(parsed.stages).toEqual([
PARSED.blockBegin({ PARSED.blockBegin('repeat', 'until something'),
blockType: 'repeat',
label: 'until something',
tag: 'repeat',
}),
]); ]);
}); });
@ -804,11 +786,7 @@ describe('Sequence Parser', () => {
const parsed = parser.parse('group something'); const parsed = parser.parse('group something');
expect(parsed.stages).toEqual([ expect(parsed.stages).toEqual([
PARSED.blockBegin({ PARSED.blockBegin('', 'something', {blockType: 'group'}),
blockType: 'group',
label: 'something',
tag: '',
}),
]); ]);
}); });