Skip to content

Commit

Permalink
Update Grammar test
Browse files Browse the repository at this point in the history
  • Loading branch information
goetzrrGit committed Oct 8, 2024
1 parent b3fbf48 commit b0756cf
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 12 deletions.
48 changes: 40 additions & 8 deletions src/utilities/sequence-editor/grammar.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,10 @@ FSW_CMD 1 2
FSW_CMD2`,
`Sequence(
LineComment,
ParameterDeclaration(Enum,Object(Property(PropertyName(String),String))),
ParameterDeclaration(Variable(Enum,Object(Property(PropertyName(String),String)))),
LineComment,
LineComment,
LocalDeclaration(Enum,Enum),
LocalDeclaration(Variable(Enum),Variable(Enum)),
LineComment,
Metadata(
MetaEntry(Key(String),Value(String))
Expand All @@ -133,8 +133,8 @@ Command(Stem,Args)
FSW_CMD 1 2
FSW_CMD2`,
`Sequence(
ParameterDeclaration(Enum,Enum),
LocalDeclaration(Enum,Enum),
ParameterDeclaration(Variable(Enum),Variable(Enum)),
LocalDeclaration(Variable(Enum),Variable(Enum)),
Commands(
Command(Stem,Args(Number,Number)),
Command(Stem,Args)
Expand All @@ -148,8 +148,8 @@ Command(Stem,Args)
FSW_CMD 1 2
FSW_CMD2 "string val"`,
`Sequence(
ParameterDeclaration(Enum,Enum),
LocalDeclaration(Enum,Enum),
ParameterDeclaration(Variable(Enum),Variable(Enum)),
LocalDeclaration(Variable(Enum),Variable(Enum)),
Commands(
Command(Stem,Args(Number,Number)),
Command(Stem,Args(String))
Expand Down Expand Up @@ -301,9 +301,9 @@ CMD_2 "hello, it's me"
`Sequence(
IdDeclaration(String),
LineComment,
ParameterDeclaration(Enum),
ParameterDeclaration(Variable(Enum)),
LineComment,
LocalDeclaration(Enum,Enum,Enum),
LocalDeclaration(Variable(Enum),Variable(Enum),Variable(Enum)),
Metadata(MetaEntry(Key(String),Value(String))),
Commands(
LoadAndGoDirective,
Expand Down Expand Up @@ -532,6 +532,38 @@ Command(TimeTag(TimeEpoch),Stem,Args),
Command(TimeTag(TimeEpoch),Stem,Args)
))`,
],
[
'LOCALS BLOCKS',
`@LOCALS_BEGIN
VARIABLE INT
VARIABLE INT "MIN...MAX | ...MAX | MIN..." "VALUE_1, VALUE_2, ..."
VARIABLE INT ENUM_NAME
VARIABLE INT ENUM_NAME "MIN...MAX | ...MAX | MIN..."
VARIABLE INT ENUM_NAME "" "VALUE_1, VALUE_2, ..."
VARIABLE INT ENUM_NAME "MIN...MAX | ...MAX | MIN..." "VALUE_1, VALUE_2, ..."
@LOCALS_END`,
`Sequence(LocalDeclaration(Variable(Enum,Type),Variable(Enum,Type,Range(String),Values(String)),Variable(Enum,Type,EnumName),Variable(Enum,Type,EnumName,Range(String)),Variable(Enum,Type,EnumName,Range(String),Values(String)),Variable(Enum,Type,EnumName,Range(String),Values(String))))`,
],
[
'PARAMETER BLOCKS',
`@INPUT_PARAMS_BEGIN
VARIABLE INT
VARIABLE INT "MIN...MAX | ...MAX | MIN..." "VALUE_1, VALUE_2, ..."
VARIABLE INT ENUM_NAME
VARIABLE INT ENUM_NAME "MIN...MAX | ...MAX | MIN..."
VARIABLE INT ENUM_NAME "" "VALUE_1, VALUE_2, ..."
VARIABLE INT ENUM_NAME "MIN...MAX | ...MAX | MIN..." "VALUE_1, VALUE_2, ..."
@INPUT_PARAMS_END`,
`Sequence(ParameterDeclaration(Variable(Enum,Type),Variable(Enum,Type,Range(String),Values(String)),Variable(Enum,Type,EnumName),Variable(Enum,Type,EnumName,Range(String)),Variable(Enum,Type,EnumName,Range(String),Values(String)),Variable(Enum,Type,EnumName,Range(String),Values(String))))`,
],
[
'EMPTY LOCAL AND PARAM BLOCKS',
`@INPUT_PARAMS_BEGIN
@INPUT_PARAMS_END
@LOCALS_BEGIN
@LOCALS_END`,
`Sequence(ParameterDeclaration,LocalDeclaration)`,
],
];

describe.each([
Expand Down
9 changes: 5 additions & 4 deletions src/utilities/sequence-editor/token.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const METADATA_ENTRY_TOKEN = 'MetaEntry';
const ID_DECLARATION = 'IdDeclaration';
const PARAMETER_DECLARATION = 'ParameterDeclaration';
const LOCAL_DECLARATION = 'LocalDeclaration';
const VARIABLE_TOKEN = 'Variable';
const ACTIVATE_NODE = 'Activate';
const LOAD_NODE = 'Load';
const GROUND_BLOCK_NODE = 'GroundBlock';
Expand Down Expand Up @@ -176,15 +177,15 @@ describe('header directives', () => {
assert.deepEqual(
parseTree.topNode
.getChild(LOCAL_DECLARATION)
?.getChildren(ENUM_TOKEN)
.map(node => getNodeText(node, input)),
?.getChildren(VARIABLE_TOKEN)
.map(node => getNodeText(node.getChild(ENUM_TOKEN)!, input)),
['L01INT', 'L02INT', 'L01UINT', 'L02UINT'],
);
assert.deepEqual(
parseTree.topNode
.getChild(PARAMETER_DECLARATION)
?.getChildren(ENUM_TOKEN)
.map(node => getNodeText(node, input)),
?.getChildren(VARIABLE_TOKEN)
.map(node => getNodeText(node.getChild(ENUM_TOKEN)!, input)),
['L01STR', 'L02STR'],
);
});
Expand Down

0 comments on commit b0756cf

Please sign in to comment.