##// END OF EJS Templates
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking...
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking for the LRU implementation, this it's safer to use for dogpile. We used it before with beaker, so it's generally more stable.

File last commit:

r1:854a839a default
r2945:ec5716e4 default
Show More
msgenny_test.js
71 lines | 3.0 KiB | application/javascript | JavascriptLexer
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(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]",
"[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]"
);
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]",
"[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]",
"[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?;]"
);
})();