// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://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 ]') MT('nonmatching', '[tag&bracket <][tag top][tag&bracket >]', ' [tag&bracket <][tag inner][tag&bracket />]', ' [tag&bracket ]') MT('doctype', '[meta ]', '[tag&bracket <][tag top][tag&bracket />]') MT('cdata', '[tag&bracket <][tag top][tag&bracket >]', ' [atom ]', '[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 ]' ) MT('list', '[tag&bracket <][tag ol][tag&bracket >]', ' [tag&bracket <][tag li][tag&bracket >]one', ' [tag&bracket <][tag li][tag&bracket >]two', '[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') })()