github.com/elliott5/community@v0.14.1-0.20160709191136-823126fb026a/app/public/codemirror/mode/slim/test.js (about)

     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  })();