Skip to content

Commit

Permalink
Merge pull request #660 from Golmote/tests-markup
Browse files Browse the repository at this point in the history
Add tests for Markup component
  • Loading branch information
Golmote committed Aug 13, 2015
2 parents 956cd85 + 48d20e7 commit d04c8aa
Show file tree
Hide file tree
Showing 8 changed files with 313 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tests/languages/markup/cdata_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<![CDATA[ foo bar baz ]]>
<![CDATA[
foo bar baz
]]>

----------------------------------------------------

[
["cdata", "<![CDATA[ foo bar baz ]]>"],
["cdata", "<![CDATA[\r\nfoo bar baz\r\n]]>"]
]

----------------------------------------------------

Checks for CDATA sections, single-line and multi-line.
16 changes: 16 additions & 0 deletions tests/languages/markup/comment_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!---->
<!-- foo bar -->
<!-- foo bar
baz -->

----------------------------------------------------

[
["comment", "<!---->"],
["comment", "<!-- foo bar -->"],
["comment", "<!-- foo bar\r\nbaz -->"]
]

----------------------------------------------------

Checks for empty comment, single-line comment and multi-line comment.
16 changes: 16 additions & 0 deletions tests/languages/markup/doctype_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

----------------------------------------------------

[
["doctype", "<!DOCTYPE html>"],
["doctype", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"],
["doctype", "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\r\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"]
]

----------------------------------------------------

Checks for different doctypes, single-line and multi-line.
14 changes: 14 additions & 0 deletions tests/languages/markup/entity_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
&amp; &thetasym; &#x26f5; &#160;

----------------------------------------------------

[
["entity", "&amp;"],
["entity", "&thetasym;"],
["entity", "&#x26f5;"],
["entity", "&#160;"]
]

----------------------------------------------------

Checks for HTML/XML character entity references.
63 changes: 63 additions & 0 deletions tests/languages/markup/issue585.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<Läufer>foo</Läufer>
<tag läufer="läufer">
<läufer:tag>baz</läufer:tag>

----------------------------------------------------

[
["tag", [
["tag", [
["punctuation", "<"],
"Läufer"
]],
["punctuation", ">"]
]],
"foo",
["tag", [
["tag", [
["punctuation", "</"],
"Läufer"
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"tag"
]],
["attr-name", [
"läufer"
]],
["attr-value", [
["punctuation", "="],
["punctuation", "\""],
"läufer",
["punctuation", "\""]
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
["namespace", "läufer:"],
"tag"
]],
["punctuation", ">"]
]],
"baz",
["tag", [
["tag", [
["punctuation", "</"],
["namespace", "läufer:"],
"tag"
]],
["punctuation", ">"]
]]
]

----------------------------------------------------

Checks for tags, attributes and namespaces containing unicode characters.
See #585 for details.
16 changes: 16 additions & 0 deletions tests/languages/markup/prolog_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="tei2html.xsl"
type="text/xsl"?>

----------------------------------------------------

[
["prolog", "<?xml version=\"1.0\"?>"],
["prolog", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"],
["prolog", "<?xml-stylesheet href=\"tei2html.xsl\"\r\ntype=\"text/xsl\"?>"]
]

----------------------------------------------------

Checks for different XML prologs, single-line and multi-line.
92 changes: 92 additions & 0 deletions tests/languages/markup/tag_attribute_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<div class="test" foo bar=baz>
<div foo='bar'>
<div class="foo
bar
baz">
<div foo:bar=42>

----------------------------------------------------

[
["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["attr-name", [
"class"
]],
["attr-value", [
["punctuation", "="],
["punctuation", "\""],
"test",
["punctuation", "\""]
]],
["attr-name", [
"foo"
]],
["attr-name", [
"bar"
]],
["attr-value", [
["punctuation", "="],
"baz"
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["attr-name", [
"foo"
]],
["attr-value", [
["punctuation", "="],
["punctuation", "'"],
"bar",
["punctuation", "'"]
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["attr-name", [
"class"
]],
["attr-value", [
["punctuation", "="],
["punctuation", "\""],
"foo\r\nbar\r\nbaz",
["punctuation", "\""]
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["attr-name", [
["namespace", "foo:"],
"bar"
]],
["attr-value", [
["punctuation", "="],
"42"
]],
["punctuation", ">"]
]]
]

----------------------------------------------------

Checks for single-quoted, double-quoted and unquoted attributes, attributes without value and
namespaced attributes.
81 changes: 81 additions & 0 deletions tests/languages/markup/tag_feature.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<p></p>
<div>dummy</div>
<div
> </div
>
<foo:bar> </foo:bar>
<div


----------------------------------------------------

[
["tag", [
["tag", [
["punctuation", "<"],
"p"
]],
["punctuation", ">"]
]],
["tag", [
["tag", [
["punctuation", "</"],
"p"
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["punctuation", ">"]
]],
"dummy",
["tag", [
["tag", [
["punctuation", "</"],
"div"
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
"div"
]],
["punctuation", ">"]
]],
["tag", [
["tag", [
["punctuation", "</"],
"div"
]],
["punctuation", ">"]
]],

["tag", [
["tag", [
["punctuation", "<"],
["namespace", "foo:"],
"bar"
]],
["punctuation", ">"]
]],
["tag", [
["tag", [
["punctuation", "</"],
["namespace", "foo:"],
"bar"
]],
["punctuation", ">"]
]],
"\r\n<div"
]

----------------------------------------------------

Checks for empty tags, tags that span multiple lines and namespaces in tag names.
Also checks that unclosed tags (e.g. "<div") are not highlighted.

0 comments on commit d04c8aa

Please sign in to comment.