diff --git a/glib/tests/markups/fail-41.expected b/glib/tests/markups/fail-41.expected
new file mode 100644
index 000000000..ab476eff2
--- /dev/null
+++ b/glib/tests/markups/fail-41.expected
@@ -0,0 +1 @@
+ERROR Error on line 2 char 1: Invalid UTF-8 encoded text in name - not valid 'abc'
diff --git a/glib/tests/markups/fail-41.gmarkup b/glib/tests/markups/fail-41.gmarkup
new file mode 100644
index 000000000..04780b4a8
--- /dev/null
+++ b/glib/tests/markups/fail-41.gmarkup
@@ -0,0 +1,3 @@
+
+abc
+
diff --git a/glib/tests/markups/fail-42.expected b/glib/tests/markups/fail-42.expected
new file mode 100644
index 000000000..4fbf6858c
--- /dev/null
+++ b/glib/tests/markups/fail-42.expected
@@ -0,0 +1 @@
+ERROR Error on line 3: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity - escape ampersand as &
diff --git a/glib/tests/markups/fail-42.gmarkup b/glib/tests/markups/fail-42.gmarkup
new file mode 100644
index 000000000..51e71b158
--- /dev/null
+++ b/glib/tests/markups/fail-42.gmarkup
@@ -0,0 +1,5 @@
+
diff --git a/glib/tests/markups/fail-43.expected b/glib/tests/markups/fail-43.expected
new file mode 100644
index 000000000..57a7b02c3
--- /dev/null
+++ b/glib/tests/markups/fail-43.expected
@@ -0,0 +1 @@
+ERROR Error on line 1 char 10: Odd character '≈', expected a '=' after attribute name 'bar' of element 'foo'
diff --git a/glib/tests/markups/fail-43.gmarkup b/glib/tests/markups/fail-43.gmarkup
new file mode 100644
index 000000000..c247c717a
--- /dev/null
+++ b/glib/tests/markups/fail-43.gmarkup
@@ -0,0 +1 @@
+
diff --git a/glib/tests/markups/fail-44.expected b/glib/tests/markups/fail-44.expected
new file mode 100644
index 000000000..2548050e2
--- /dev/null
+++ b/glib/tests/markups/fail-44.expected
@@ -0,0 +1,3 @@
+ELEMENT 'foo'
+END 'foo'
+ERROR Error on line 1 char 6: Odd character '≻', expected a '>' character to end the empty-element tag 'foo'
diff --git a/glib/tests/markups/fail-44.gmarkup b/glib/tests/markups/fail-44.gmarkup
new file mode 100644
index 000000000..f6217db47
--- /dev/null
+++ b/glib/tests/markups/fail-44.gmarkup
@@ -0,0 +1 @@
+'
diff --git a/glib/tests/markups/fail-45.gmarkup b/glib/tests/markups/fail-45.gmarkup
new file mode 100644
index 000000000..41832912a
--- /dev/null
+++ b/glib/tests/markups/fail-45.gmarkup
@@ -0,0 +1 @@
+
+abc
diff --git a/glib/tests/markups/fail-47.expected b/glib/tests/markups/fail-47.expected
new file mode 100644
index 000000000..89dc4b400
--- /dev/null
+++ b/glib/tests/markups/fail-47.expected
@@ -0,0 +1 @@
+ERROR Error on line 1: Failed to parse '', which should have been a digit inside a character reference (ê for example) - perhaps the digit is too large
diff --git a/glib/tests/markups/fail-47.gmarkup b/glib/tests/markups/fail-47.gmarkup
new file mode 100644
index 000000000..bbe81795f
--- /dev/null
+++ b/glib/tests/markups/fail-47.gmarkup
@@ -0,0 +1 @@
+
diff --git a/glib/tests/markups/fail-48.expected b/glib/tests/markups/fail-48.expected
new file mode 100644
index 000000000..e5fa74004
--- /dev/null
+++ b/glib/tests/markups/fail-48.expected
@@ -0,0 +1 @@
+ERROR Error on line 2 char 2: Odd character '>', expected a '=' after attribute name 'bar' of element 'fail'
diff --git a/glib/tests/markups/fail-48.gmarkup b/glib/tests/markups/fail-48.gmarkup
new file mode 100644
index 000000000..fcbeab659
--- /dev/null
+++ b/glib/tests/markups/fail-48.gmarkup
@@ -0,0 +1,2 @@
+
diff --git a/glib/tests/markups/fail-49.expected b/glib/tests/markups/fail-49.expected
new file mode 100644
index 000000000..fc3bacb57
--- /dev/null
+++ b/glib/tests/markups/fail-49.expected
@@ -0,0 +1,3 @@
+ELEMENT 'foo'
+ TEXT ''
+ERROR Error on line 2 char 2: Document ended unexpectedly inside the close tag for element 'foo'
diff --git a/glib/tests/markups/fail-49.gmarkup b/glib/tests/markups/fail-49.gmarkup
new file mode 100644
index 000000000..5e1e3bb92
--- /dev/null
+++ b/glib/tests/markups/fail-49.gmarkup
@@ -0,0 +1 @@
+
+abcäöü
+
diff --git a/glib/tests/markups/valid-13.expected b/glib/tests/markups/valid-13.expected
new file mode 100644
index 000000000..84f0e71f5
--- /dev/null
+++ b/glib/tests/markups/valid-13.expected
@@ -0,0 +1,4 @@
+ELEMENT 'foo'
+bar="a b c d e𝐀"
+ TEXT ''
+END 'foo'
diff --git a/glib/tests/markups/valid-13.gmarkup b/glib/tests/markups/valid-13.gmarkup
new file mode 100644
index 000000000..70afdb77c
--- /dev/null
+++ b/glib/tests/markups/valid-13.gmarkup
@@ -0,0 +1,3 @@
+
diff --git a/glib/tests/markups/valid-14.expected b/glib/tests/markups/valid-14.expected
new file mode 100644
index 000000000..cea1fdd42
--- /dev/null
+++ b/glib/tests/markups/valid-14.expected
@@ -0,0 +1,30 @@
+ELEMENT 'foo'
+ TEXT '
+'
+ ELEMENT 'bar'
+ TEXT '
+/* gmarkup.c - Simple XML-like parser
+ *
+ * Copyright 2000, 2003 Red Hat, Inc.
+ * Copyright 2007, 2008 Ryan Lortie
+ *
+ * GLib is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * GLib is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GLib; see the file COPYING.LIB. If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+'
+ END 'bar'
+ TEXT '
+'
+END 'foo'
diff --git a/glib/tests/markups/valid-14.gmarkup b/glib/tests/markups/valid-14.gmarkup
new file mode 100644
index 000000000..f999a342e
--- /dev/null
+++ b/glib/tests/markups/valid-14.gmarkup
@@ -0,0 +1,24 @@
+
+
+/* gmarkup.c - Simple XML-like parser
+ *
+ * Copyright 2000, 2003 Red Hat, Inc.
+ * Copyright 2007, 2008 Ryan Lortie <desrt@desrt.ca>
+ *
+ * GLib is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * GLib is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GLib; see the file COPYING.LIB. If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+