test.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334
  1. // CodeMirror, copyright (c) by Marijn Haverbeke and others
  2. // Distributed under an MIT license: https://codemirror.net/LICENSE
  3. ;(function () {
  4. var mode = CodeMirror.getMode({ indentUnit: 2 }, 'xml'),
  5. mname = 'xml'
  6. function MT(name) {
  7. test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname)
  8. }
  9. MT('matching', '[tag&bracket <][tag top][tag&bracket >]', ' text', ' [tag&bracket <][tag inner][tag&bracket />]', '[tag&bracket </][tag top][tag&bracket >]')
  10. MT('nonmatching', '[tag&bracket <][tag top][tag&bracket >]', ' [tag&bracket <][tag inner][tag&bracket />]', ' [tag&bracket </][tag&error tip][tag&bracket&error >]')
  11. MT('doctype', '[meta <!doctype foobar>]', '[tag&bracket <][tag top][tag&bracket />]')
  12. MT('cdata', '[tag&bracket <][tag top][tag&bracket >]', ' [atom <![CDATA[foo]', '[atom barbazguh]]]]>]', '[tag&bracket </][tag top][tag&bracket >]')
  13. // HTML tests
  14. mode = CodeMirror.getMode({ indentUnit: 2 }, 'text/html')
  15. MT(
  16. 'selfclose',
  17. '[tag&bracket <][tag html][tag&bracket >]',
  18. ' [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string "/foobar"][tag&bracket >]',
  19. '[tag&bracket </][tag html][tag&bracket >]'
  20. )
  21. 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 >]')
  22. MT('valueless', '[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]')
  23. MT('pThenArticle', '[tag&bracket <][tag p][tag&bracket >]', ' foo', '[tag&bracket <][tag article][tag&bracket >]bar')
  24. })()