aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser/tests.rs
diff options
context:
space:
mode:
authorPhilipp A2018-11-15 21:57:50 +0100
committerPhilipp A2018-11-15 22:03:42 +0100
commit144153fadc35bee8d0dad951b26c2e6150ba58f4 (patch)
treea438c58333df545f8815f51670549ec3f7dab3dc /src/parser/tests.rs
parent336e3b0ff159f8344ed07d7e23b87cff41084502 (diff)
downloadrust-rst-144153fadc35bee8d0dad951b26c2e6150ba58f4.tar.bz2
Moved parser tests
Diffstat (limited to 'src/parser/tests.rs')
-rw-r--r--src/parser/tests.rs93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/parser/tests.rs b/src/parser/tests.rs
new file mode 100644
index 0000000..fad7912
--- /dev/null
+++ b/src/parser/tests.rs
@@ -0,0 +1,93 @@
+use pest::consumes_to;
+use pest::parses_to;
+use super::{RstParser, Rule};
+
+#[test]
+fn plain() {
+ parses_to! {
+ parser: RstParser,
+ input: "line\n",
+ rule: Rule::paragraph,
+ tokens: [
+ paragraph(0, 5, [
+ line(0, 5)
+ ])
+ ]
+ };
+}
+
+#[test]
+fn title() {
+ parses_to! {
+ parser: RstParser,
+ input: "\
+Title
+=====
+",
+ rule: Rule::title,
+ tokens: [
+ title(0, 12, [
+ line(0, 6),
+ adornments(6, 11),
+ ])
+ ]
+ };
+}
+
+#[test]
+fn title_overline() {
+ parses_to! {
+ parser: RstParser,
+ input: "\
+-----
+Title
+-----
+",
+ rule: Rule::title,
+ tokens: [
+ title(0, 17, [
+ adornments(0, 5),
+ line(6, 12),
+ ])
+ ]
+ };
+}
+
+#[test]
+fn nested_lists() {
+ parses_to! {
+ parser: RstParser,
+ input: "\
+paragraph
+
+- item 1
+- item 2
+ more text
+ more text 2
+ more text 3
+ - nested item 1
+ - nested item 2
+ - nested item 3
+",
+ rule: Rule::document,
+ tokens: [
+ paragraph(0, 10, [ line(0, 10) ]),
+ bullet_list(11, 131, [
+ bullet_item(11, 21, [ line(14, 21) ]),
+ bullet_item(21, 131, [
+ line(24, 31),
+ paragraph(34, 74, [
+ line(34, 44),
+ line(47, 59),
+ line(62, 74),
+ ]),
+ bullet_list(77, 131, [
+ bullet_item(77, 93, [ line(79, 93) ]),
+ bullet_item(96, 112, [ line(98, 112) ]),
+ bullet_item(115, 131, [ line(117, 131) ]),
+ ]),
+ ]),
+ ]),
+ ]
+ }
+}