[valadoc] Add tests for MarkupReader
- From: Florian Brosch <flobrosch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] Add tests for MarkupReader
- Date: Fri, 17 Aug 2012 23:24:09 +0000 (UTC)
commit a5be9be3c238dbaa80075c16d1ee535c187003fb
Author: Florian Brosch <flo brosch gmail com>
Date: Mon Aug 13 05:14:21 2012 +0200
Add tests for MarkupReader
tests/Makefile.am | 1 +
tests/libvaladoc/markupreader.vala | 207 ++++++++++++++++++++++++++++++++++++
2 files changed, 208 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2885334..8fd51c9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -16,6 +16,7 @@ TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) $(srcdir)/testrunner.sh
TESTS = \
libvaladoc/errorreporter.vala \
+ libvaladoc/markupreader.vala \
libvaladoc/gtkdoc-scanner.vala \
libvaladoc/parser/manyrule.vala \
libvaladoc/parser/oneofrule.vala \
diff --git a/tests/libvaladoc/markupreader.vala b/tests/libvaladoc/markupreader.vala
new file mode 100644
index 0000000..d38b4d4
--- /dev/null
+++ b/tests/libvaladoc/markupreader.vala
@@ -0,0 +1,207 @@
+/* markupreader.vala
+ *
+ * Copyright (C) 2012 Florian Brosch
+ *
+ * This library 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.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Author:
+ * Florian Brosch <flo brosch gmail com>
+ */
+
+using Valadoc;
+
+
+public static void positive_1 () {
+ var reporter = new ErrorReporter ();
+
+ string content =
+"""<?xml version="1.0" ?>
+<root-element>
+ <subelement level="1" nested="true">my text</subelement>
+ <simpletag1 level="2" nested="false" />
+ <simpletag2 level="3"/>
+ <simpletag3/>
+</root-element>""";
+
+
+ var reader = new MarkupReader.from_string ("testfile", content, reporter);
+ assert (reader.filename == "testfile");
+
+ MarkupSourceLocation begin;
+ MarkupSourceLocation end;
+ MarkupTokenType token;
+
+
+ token = reader.read_token (out begin, out end);
+ token = reader.read_token (out begin, out end);
+
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.START_ELEMENT);
+ assert (reader.name == "root-element");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 2);
+ assert (end.line == 2);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.START_ELEMENT);
+ assert (reader.name == "subelement");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 2);
+ assert (reader.get_attribute ("nested") == "true");
+ assert (reader.get_attribute ("level") == "1");
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 3);
+ assert (end.line == 3);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.TEXT);
+ assert (reader.name == null);
+ assert (reader.content == "my text");
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 3);
+ assert (end.line == 3);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.END_ELEMENT);
+ assert (reader.name == "subelement");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 3);
+ assert (end.line == 3);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.START_ELEMENT);
+ assert (reader.name == "simpletag1");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 2);
+ assert (reader.get_attribute ("nested") == "false");
+ assert (reader.get_attribute ("level") == "2");
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 4);
+ assert (end.line == 4);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.END_ELEMENT);
+ assert (reader.name == "simpletag1");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 4);
+ assert (end.line == 4);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.START_ELEMENT);
+ assert (reader.name == "simpletag2");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 1);
+ assert (reader.get_attribute ("level") == "3");
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 5);
+ assert (end.line == 5);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.END_ELEMENT);
+ assert (reader.name == "simpletag2");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 5);
+ assert (end.line == 5);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.START_ELEMENT);
+ assert (reader.name == "simpletag3");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 6);
+ assert (end.line == 6);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.END_ELEMENT);
+ assert (reader.name == "simpletag3");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 6);
+ assert (end.line == 6);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.END_ELEMENT);
+ assert (reader.name == "root-element");
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 7);
+ assert (end.line == 7);
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.EOF);
+ assert (reader.name == null);
+ assert (reader.content == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 7);
+ assert (end.line == 7);
+}
+
+
+public static void positive_2 () {
+ var reporter = new ErrorReporter ();
+
+ string content = "AA BB & "' < > %";
+
+ var reader = new MarkupReader.from_string ("testfile", content, reporter);
+ assert (reader.filename == "testfile");
+
+ MarkupSourceLocation begin;
+ MarkupSourceLocation end;
+ MarkupTokenType token;
+
+ token = reader.read_token (out begin, out end);
+ assert (token == MarkupTokenType.TEXT);
+ assert (reader.content == "AA BB & \"' < > >");
+ assert (reader.name == null);
+ assert (reader.get_attributes ().size == 0);
+ assert (reporter.warnings == 0);
+ assert (reporter.errors == 0);
+ assert (begin.line == 1);
+ assert (end.line == 1);
+
+}
+
+
+public static void main () {
+ positive_1 ();
+ positive_2 ();
+}
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]