-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(parse): add some tests for the parser
- Loading branch information
Showing
27 changed files
with
484 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[ | ||
{ | ||
"title": "simple states with labels", | ||
"programInputFile": "fixtures/states-with-a-label.smcat", | ||
"astFixtureFile": "fixtures/states-with-a-label.json" | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
|
||
[ | ||
{ | ||
"title": "composite states - forgot the ']'", | ||
"program": "a [;" | ||
}, | ||
{ | ||
"title": "composite states - nothing between []", | ||
"program": "a [];" | ||
}, | ||
{ | ||
"title": "composite states - illegal stuff between []", | ||
"program": "a [ fluffy unicorns ];" | ||
}, | ||
{ | ||
"title": "composite states - label but no equals or lhs", | ||
"program": "a [ label];" | ||
}, | ||
{ | ||
"title": "composite states - label but lhs", | ||
"program": "a [ label=];" | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
digraph "state transitions" { | ||
pack=42 splines=true ordering=out compound=true overlap=scale K=0.9 epsilon=0.9 nodesep=0.2 | ||
fontname="Helvetica" fontsize=12 penwidth=2.0 | ||
|
||
node [shape=plaintext style=filled fillcolor=white fontname=Helvetica fontsize=12 penwidth=2.0] | ||
edge [fontname=Helvetica fontsize=10] | ||
|
||
"unset" [margin=0 label= < | ||
<table align="center" cellborder="0" border="2" style="rounded" width="48"> | ||
<tr><td width="48" cellpadding="7">alarm not set</td></tr> | ||
</table> | ||
>] | ||
subgraph "cluster_set" { | ||
label= < | ||
<table cellborder="0" border="0"> | ||
<tr><td>alarm set</td></tr> | ||
<hr/> | ||
<tr><td align="left">show a bell</td></tr> | ||
</table> | ||
> style=rounded penwidth=2.0 | ||
"set" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true] | ||
"silent" [margin=0 label= < | ||
<table align="center" cellborder="0" border="2" style="rounded" width="48"> | ||
<tr><td width="48" cellpadding="7">silent</td></tr> | ||
</table> | ||
>] | ||
"ringing" [margin=0 label= < | ||
<table align="center" cellborder="0" border="2" style="rounded" width="48"> | ||
<tr><td width="48" cellpadding="7">bzzzz!</td></tr> | ||
</table> | ||
>] | ||
"snoozing" [margin=0 label= < | ||
<table align="center" cellborder="0" border="2" style="rounded" width="48"> | ||
<tr><td width="48" cellpadding="2">snoozing</td></tr> | ||
<hr/> | ||
<tr><td align="left" cellpadding="2">show a plus behind the bell</td></tr> | ||
</table> | ||
>] | ||
|
||
} | ||
|
||
"unset" -> "set" [label="time entered \l" lhead="cluster_set"] | ||
"silent" -> "ringing" [label="time >= alarm time \l"] | ||
"ringing" -> "silent" [label="off \l"] | ||
"ringing" -> "snoozing" [label="snooze time := time + 9 min \l"] | ||
"snoozing" -> "ringing" [label="time >= snooze time \l"] | ||
"snoozing" -> "silent" [label="off \l"] | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
{ | ||
"states": [ | ||
{ | ||
"name": "unset", | ||
"type": "regular", | ||
"label": "alarm not set" | ||
}, | ||
{ | ||
"name": "set", | ||
"type": "regular", | ||
"label": "alarm set", | ||
"statemachine": { | ||
"states": [ | ||
{ | ||
"name": "silent", | ||
"type": "regular" | ||
}, | ||
{ | ||
"name": "ringing", | ||
"type": "regular", | ||
"label": "bzzzz!" | ||
}, | ||
{ | ||
"name": "snoozing", | ||
"type": "regular", | ||
"activities": "show a plus behind the bell" | ||
} | ||
], | ||
"transitions": [ | ||
{ | ||
"from": "silent", | ||
"to": "ringing", | ||
"label": "time >= alarm time", | ||
"event": "time >= alarm time" | ||
}, | ||
{ | ||
"from": "ringing", | ||
"to": "silent", | ||
"label": "off", | ||
"event": "off" | ||
}, | ||
{ | ||
"from": "ringing", | ||
"to": "snoozing", | ||
"label": "snooze time := time + 9 min", | ||
"event": "snooze time := time + 9 min" | ||
}, | ||
{ | ||
"from": "snoozing", | ||
"to": "ringing", | ||
"label": "time >= snooze time", | ||
"event": "time >= snooze time" | ||
}, | ||
{ | ||
"from": "snoozing", | ||
"to": "silent", | ||
"label": "off", | ||
"event": "off" | ||
} | ||
] | ||
}, | ||
"activities": "show a bell" | ||
} | ||
], | ||
"transitions": [ | ||
{ | ||
"from": "unset", | ||
"to": "set", | ||
"label": "time entered", | ||
"event": "time entered" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
|
||
|
||
unset [label="alarm not set"], | ||
set [label="alarm set"]: show a bell { | ||
silent, | ||
ringing [label="bzzzz!"], | ||
snoozing: show a plus behind the bell; | ||
|
||
silent => ringing: time >= alarm time; | ||
ringing => silent: off; | ||
ringing => snoozing: snooze time := time + 9 min; | ||
snoozing => ringing: time >= snooze time; | ||
snoozing => silent: off; | ||
}; | ||
|
||
|
||
unset => set: time entered; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
test/render/fixtures/801-labels-one-state-composite-with-activities.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
{ | ||
"states": [ | ||
{ | ||
"name": "set", | ||
"type": "regular", | ||
"label": "alarm set", | ||
"statemachine": { | ||
"states": [ | ||
{ | ||
"name": "silent", | ||
"type": "regular" | ||
}, | ||
{ | ||
"name": "ringing", | ||
"type": "regular" | ||
}, | ||
{ | ||
"name": "snoozing", | ||
"type": "regular" | ||
} | ||
], | ||
"transitions": [ | ||
{ | ||
"from": "silent", | ||
"to": "ringing", | ||
"label": "time >= alarm time", | ||
"event": "time >= alarm time" | ||
}, | ||
{ | ||
"from": "ringing", | ||
"to": "silent", | ||
"label": "off", | ||
"event": "off" | ||
}, | ||
{ | ||
"from": "ringing", | ||
"to": "snoozing", | ||
"label": "snooze time := time + 9 min", | ||
"event": "snooze time := time + 9 min" | ||
}, | ||
{ | ||
"from": "snoozing", | ||
"to": "ringing", | ||
"label": "time >= snooze time", | ||
"event": "time >= snooze time" | ||
}, | ||
{ | ||
"from": "snoozing", | ||
"to": "silent", | ||
"label": "off", | ||
"event": "off" | ||
} | ||
] | ||
}, | ||
"activities": "some activities" | ||
} | ||
] | ||
} |
51 changes: 51 additions & 0 deletions
51
test/render/fixtures/801-labels-one-state-composite-with-activities.scjson
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
{ | ||
"states": [ | ||
{ | ||
"kind": "state", | ||
"id": "set", | ||
"onentries": [ | ||
"some activities" | ||
], | ||
"states": [ | ||
{ | ||
"kind": "state", | ||
"id": "silent", | ||
"transitions": [ | ||
{ | ||
"target": "ringing", | ||
"event": "time____alarm_time" | ||
} | ||
] | ||
}, | ||
{ | ||
"kind": "state", | ||
"id": "ringing", | ||
"transitions": [ | ||
{ | ||
"target": "silent", | ||
"event": "off" | ||
}, | ||
{ | ||
"target": "snoozing", | ||
"event": "snooze_time_:__time___9_min" | ||
} | ||
] | ||
}, | ||
{ | ||
"kind": "state", | ||
"id": "snoozing", | ||
"transitions": [ | ||
{ | ||
"target": "ringing", | ||
"event": "time____snooze_time" | ||
}, | ||
{ | ||
"target": "silent", | ||
"event": "off" | ||
} | ||
] | ||
} | ||
] | ||
} | ||
] | ||
} |
17 changes: 17 additions & 0 deletions
17
test/render/fixtures/801-labels-one-state-composite-with-activities.scxml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0"> | ||
<state id="set"> | ||
<state id="silent"> | ||
<transition event="time____alarm_time" target="ringing"/> | ||
</state> | ||
<state id="ringing"> | ||
<transition event="off" target="silent"/> | ||
<transition event="snooze_time_:__time___9_min" target="snoozing"/> | ||
</state> | ||
<state id="snoozing"> | ||
<transition event="time____snooze_time" target="ringing"/> | ||
<transition event="off" target="silent"/> | ||
</state> | ||
<onentry>some activities</onentry> | ||
</state> | ||
</scxml> |
11 changes: 11 additions & 0 deletions
11
test/render/fixtures/801-labels-one-state-composite-with-activities.smcat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
set [label="alarm set"]: some activities { | ||
silent, | ||
ringing, | ||
snoozing; | ||
|
||
silent => ringing: time >= alarm time; | ||
ringing => silent: off; | ||
ringing => snoozing: snooze time := time + 9 min; | ||
snoozing => ringing: time >= snooze time; | ||
snoozing => silent: off; | ||
}; |
Oops, something went wrong.