msgenny_test.js
77 lines
| 3.2 KiB
| application/javascript
|
JavascriptLexer
r1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others | |||
r4105 | // Distributed under an MIT license: https://codemirror.net/LICENSE | |||
r1 | ||||
(function() { | ||||
var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-msgenny"); | ||||
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "msgenny"); } | ||||
MT("comments", | ||||
"[comment // a single line comment]", | ||||
"[comment # another single line comment /* and */ ignored here]", | ||||
"[comment /* A multi-line comment even though it contains]", | ||||
"[comment msc keywords and \"quoted text\"*/]"); | ||||
MT("strings", | ||||
"[string \"// a string\"]", | ||||
"[string \"a string running over]", | ||||
"[string two lines\"]", | ||||
"[string \"with \\\"escaped quote\"]" | ||||
); | ||||
MT("xù/ msgenny keywords classify as 'keyword'", | ||||
"[keyword watermark]", | ||||
r4105 | "[keyword wordwrapentities]", | |||
r1 | "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]" | |||
); | ||||
r4105 | MT("xù/ msgenny constants classify as 'variable'", | |||
"[variable auto]", | ||||
"[variable true]", "[variable false]", "[variable on]", "[variable off]" | ||||
); | ||||
r1 | MT("mscgen options classify as keyword", | |||
"[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]" | ||||
); | ||||
MT("mscgen arcs classify as keyword", | ||||
"[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]", | ||||
"[keyword |||...---]", "[keyword ..--==::]", | ||||
"[keyword ->]", "[keyword <-]", "[keyword <->]", | ||||
"[keyword =>]", "[keyword <=]", "[keyword <=>]", | ||||
"[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]", | ||||
"[keyword >>]", "[keyword <<]", "[keyword <<>>]", | ||||
"[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]", | ||||
"[keyword :>]", "[keyword <:]", "[keyword <:>]" | ||||
); | ||||
MT("within an attribute list, mscgen/ xù attributes classify as base", | ||||
"[base [[label]", | ||||
"[base idurl id url]", | ||||
"[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]", | ||||
"[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]", | ||||
"[base arcskip]]]" | ||||
); | ||||
MT("outside an attribute list, mscgen/ xù attributes classify as base", | ||||
"[base label]", | ||||
"[base idurl id url]", | ||||
"[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]", | ||||
"[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]", | ||||
"[base arcskip]" | ||||
); | ||||
MT("a typical program", | ||||
"[comment # typical msgenny program]", | ||||
r4105 | "[keyword wordwraparcs][operator =][variable true][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]", | |||
r1 | "[base a : ][string \"Entity A\"][base ,]", | |||
"[base b : Entity B,]", | ||||
"[base c : Entity C;]", | ||||
"[base a ][keyword =>>][base b: ][string \"Hello entity B\"][base ;]", | ||||
"[base a ][keyword alt][base c][bracket {]", | ||||
"[base a ][keyword <<][base b: ][string \"Here's an answer dude!\"][base ;]", | ||||
"[keyword ---][base : ][string \"sorry, won't march - comm glitch\"]", | ||||
"[base a ][keyword x-][base b: ][string \"Here's an answer dude! (won't arrive...)\"][base ;]", | ||||
"[bracket }]", | ||||
"[base c ][keyword :>][base *: What about me?;]" | ||||
); | ||||
})(); | ||||