Blame view

backend/makest/js/plugins/codemirror/mode/xml/test.js 1.72 KB
d1f8bd40   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  // CodeMirror, copyright (c) by Marijn Haverbeke and others
  // Distributed under an MIT license: http://codemirror.net/LICENSE
  
  (function() {
    var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml";
    function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); }
  
    MT("matching",
       "[tag&bracket <][tag top][tag&bracket >]",
       "  text",
       "  [tag&bracket <][tag inner][tag&bracket />]",
       "[tag&bracket </][tag top][tag&bracket >]");
  
    MT("nonmatching",
       "[tag&bracket <][tag top][tag&bracket >]",
       "  [tag&bracket <][tag inner][tag&bracket />]",
       "  [tag&bracket </][tag&error tip][tag&bracket&error >]");
  
    MT("doctype",
       "[meta <!doctype foobar>]",
       "[tag&bracket <][tag top][tag&bracket />]");
  
    MT("cdata",
       "[tag&bracket <][tag top][tag&bracket >]",
       "  [atom <![CDATA[foo]",
       "[atom barbazguh]]]]>]",
       "[tag&bracket </][tag top][tag&bracket >]");
  
    // HTML tests
    mode = CodeMirror.getMode({indentUnit: 2}, "text/html");
  
    MT("selfclose",
       "[tag&bracket <][tag html][tag&bracket >]",
       "  [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]",
       "[tag&bracket </][tag html][tag&bracket >]");
  
    MT("list",
       "[tag&bracket <][tag ol][tag&bracket >]",
       "  [tag&bracket <][tag li][tag&bracket >]one",
       "  [tag&bracket <][tag li][tag&bracket >]two",
       "[tag&bracket </][tag ol][tag&bracket >]");
  
    MT("valueless",
       "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]");
  
    MT("pThenArticle",
       "[tag&bracket <][tag p][tag&bracket >]",
       "  foo",
       "[tag&bracket <][tag article][tag&bracket >]bar");
  
  })();