test.js (3130B)
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 // Distributed under an MIT license: http://codemirror.net/LICENSE 3 4 // Slim Highlighting for CodeMirror copyright (c) HicknHack Software Gmbh 5 6 (function() { 7 var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "slim"); 8 function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 9 10 // Requires at least one media query 11 MT("elementName", 12 "[tag h1] Hey There"); 13 14 MT("oneElementPerLine", 15 "[tag h1] Hey There .h2"); 16 17 MT("idShortcut", 18 "[attribute&def #test] Hey There"); 19 20 MT("tagWithIdShortcuts", 21 "[tag h1][attribute&def #test] Hey There"); 22 23 MT("classShortcut", 24 "[attribute&qualifier .hello] Hey There"); 25 26 MT("tagWithIdAndClassShortcuts", 27 "[tag h1][attribute&def #test][attribute&qualifier .hello] Hey There"); 28 29 MT("docType", 30 "[keyword doctype] xml"); 31 32 MT("comment", 33 "[comment / Hello WORLD]"); 34 35 MT("notComment", 36 "[tag h1] This is not a / comment "); 37 38 MT("attributes", 39 "[tag a]([attribute title]=[string \"test\"]) [attribute href]=[string \"link\"]}"); 40 41 MT("multiLineAttributes", 42 "[tag a]([attribute title]=[string \"test\"]", 43 " ) [attribute href]=[string \"link\"]}"); 44 45 MT("htmlCode", 46 "[tag&bracket <][tag h1][tag&bracket >]Title[tag&bracket </][tag h1][tag&bracket >]"); 47 48 MT("rubyBlock", 49 "[operator&special =][variable-2 @item]"); 50 51 MT("selectorRubyBlock", 52 "[tag a][attribute&qualifier .test][operator&special =] [variable-2 @item]"); 53 54 MT("nestedRubyBlock", 55 "[tag a]", 56 " [operator&special =][variable puts] [string \"test\"]"); 57 58 MT("multilinePlaintext", 59 "[tag p]", 60 " | Hello,", 61 " World"); 62 63 MT("multilineRuby", 64 "[tag p]", 65 " [comment /# this is a comment]", 66 " [comment and this is a comment too]", 67 " | Date/Time", 68 " [operator&special -] [variable now] [operator =] [tag DateTime][operator .][property now]", 69 " [tag strong][operator&special =] [variable now]", 70 " [operator&special -] [keyword if] [variable now] [operator >] [tag DateTime][operator .][property parse]([string \"December 31, 2006\"])", 71 " [operator&special =][string \"Happy\"]", 72 " [operator&special =][string \"Belated\"]", 73 " [operator&special =][string \"Birthday\"]"); 74 75 MT("multilineComment", 76 "[comment /]", 77 " [comment Multiline]", 78 " [comment Comment]"); 79 80 MT("hamlAfterRubyTag", 81 "[attribute&qualifier .block]", 82 " [tag strong][operator&special =] [variable now]", 83 " [attribute&qualifier .test]", 84 " [operator&special =][variable now]", 85 " [attribute&qualifier .right]"); 86 87 MT("stretchedRuby", 88 "[operator&special =] [variable puts] [string \"Hello\"],", 89 " [string \"World\"]"); 90 91 MT("interpolationInHashAttribute", 92 "[tag div]{[attribute id] = [string \"]#{[variable test]}[string _]#{[variable ting]}[string \"]} test"); 93 94 MT("interpolationInHTMLAttribute", 95 "[tag div]([attribute title]=[string \"]#{[variable test]}[string _]#{[variable ting]()}[string \"]) Test"); 96 })();