summaryrefslogtreecommitdiffstats
path: root/vendor/pest_derive/tests/implicit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/pest_derive/tests/implicit.rs')
-rw-r--r--vendor/pest_derive/tests/implicit.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/vendor/pest_derive/tests/implicit.rs b/vendor/pest_derive/tests/implicit.rs
index 8ad5a7e6a..48c880210 100644
--- a/vendor/pest_derive/tests/implicit.rs
+++ b/vendor/pest_derive/tests/implicit.rs
@@ -9,6 +9,7 @@ extern crate alloc;
extern crate pest;
extern crate pest_derive;
+#[cfg(feature = "grammar-extras")]
use pest::Parser;
use pest_derive::Parser;
@@ -17,9 +18,20 @@ use pest_derive::Parser;
struct TestImplicitParser;
#[test]
+#[cfg(feature = "grammar-extras")]
fn test_implicit_whitespace() {
// this failed to parse due to a bug in the optimizer
// see: https://github.com/pest-parser/pest/issues/762#issuecomment-1375374868
let successful_parse = TestImplicitParser::parse(Rule::program, "a a");
assert!(successful_parse.is_ok());
+ // dbg!(&successful_parse);
+ let pairs = successful_parse.unwrap();
+ assert!(pairs.find_first_tagged("head").is_some());
+ assert!(pairs.find_first_tagged("tail").is_some());
+ assert!(pairs.find_first_tagged("more_and").is_none());
+ assert!(pairs.find_first_tagged("more_comp").is_none());
+ assert!(pairs.find_first_tagged("more_array").is_none());
+ assert_eq!(pairs.clone().find_tagged("one_and").count(), 2);
+ assert_eq!(pairs.clone().find_tagged("one_comp").count(), 2);
+ assert_eq!(pairs.find_tagged("one_array").count(), 2);
}