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