From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/pest_derive/tests/lists.rs | 121 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 vendor/pest_derive/tests/lists.rs (limited to 'vendor/pest_derive/tests/lists.rs') diff --git a/vendor/pest_derive/tests/lists.rs b/vendor/pest_derive/tests/lists.rs new file mode 100644 index 000000000..4ba0effce --- /dev/null +++ b/vendor/pest_derive/tests/lists.rs @@ -0,0 +1,121 @@ +// pest. The Elegant Parser +// Copyright (c) 2018 DragoČ™ Tiselice +// +// Licensed under the Apache License, Version 2.0 +// or the MIT +// license , at your +// option. All files in the project carrying such notice may not be copied, +// modified, or distributed except according to those terms. + +#[macro_use] +extern crate pest; +#[macro_use] +extern crate pest_derive; + +#[derive(Parser)] +#[grammar = "../tests/lists.pest"] +struct ListsParser; + +#[test] +fn item() { + parses_to! { + parser: ListsParser, + input: "- a", + rule: Rule::lists, + tokens: [ + item(2, 3) + ] + }; +} + +#[test] +fn items() { + parses_to! { + parser: ListsParser, + input: "- a\n- b", + rule: Rule::lists, + tokens: [ + item(2, 3), + item(6, 7) + ] + }; +} + +#[test] +fn children() { + parses_to! { + parser: ListsParser, + input: " - b", + rule: Rule::children, + tokens: [ + children(0, 5, [ + item(4, 5) + ]) + ] + }; +} + +#[test] +fn nested_item() { + parses_to! { + parser: ListsParser, + input: "- a\n - b", + rule: Rule::lists, + tokens: [ + item(2, 3), + children(4, 9, [ + item(8, 9) + ]) + ] + }; +} + +#[test] +fn nested_items() { + parses_to! { + parser: ListsParser, + input: "- a\n - b\n - c", + rule: Rule::lists, + tokens: [ + item(2, 3), + children(4, 15, [ + item(8, 9), + item(14, 15) + ]) + ] + }; +} + +#[test] +fn nested_two_levels() { + parses_to! { + parser: ListsParser, + input: "- a\n - b\n - c", + rule: Rule::lists, + tokens: [ + item(2, 3), + children(4, 17, [ + item(8, 9), + children(10, 17, [ + item(16, 17) + ]) + ]) + ] + }; +} + +#[test] +fn nested_then_not() { + parses_to! { + parser: ListsParser, + input: "- a\n - b\n- c", + rule: Rule::lists, + tokens: [ + item(2, 3), + children(4, 9, [ + item(8, 9) + ]), + item(12, 13) + ] + }; +} -- cgit v1.2.3