From a48ddc21a26f394e077e7bd80ef96b2c281e7730 Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Wed, 16 Aug 2023 07:46:50 +0200 Subject: feat!: add all-inclusive spans to tags Also more performant since we no longer have to update the name span on every Emitter::push_tag_name call. --- tests/test_spans.rs | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test_spans.rs b/tests/test_spans.rs index a33c2b3..33f5d11 100644 --- a/tests/test_spans.rs +++ b/tests/test_spans.rs @@ -43,13 +43,43 @@ fn annotate(html: &str, labels: Vec<(Range, impl AsRef)>) -> String .join("\n") } +#[test] +fn start_tag_span() { + let html = " "; + let mut labels = Vec::new(); + for token in tokenizer(html) { + if let Token::StartTag(tag) = token { + labels.push((tag.span, "")); + } + } + assert_snapshot!(annotate(html, labels), @r###" + + ^^^ ^^^^^ ^^^^^^^ ^^^^^^ + "###); +} + +#[test] +fn end_tag_span() { + let html = " "; + let mut labels = Vec::new(); + for token in tokenizer(html) { + if let Token::EndTag(tag) = token { + labels.push((tag.span, "")); + } + } + assert_snapshot!(annotate(html, labels), @r###" + + ^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^ + "###); +} + #[test] fn start_tag_name_span() { let html = " "; let mut labels = Vec::new(); for token in tokenizer(html) { if let Token::StartTag(tag) = token { - labels.push((tag.name_span, "")); + labels.push((tag.name_span(), "")); } } assert_snapshot!(annotate(html, labels), @r###" @@ -64,7 +94,7 @@ fn end_tag_name_span() { let mut labels = Vec::new(); for token in tokenizer(html) { if let Token::EndTag(tag) = token { - labels.push((tag.name_span, "")); + labels.push((tag.name_span(), "")); } } assert_snapshot!(annotate(html, labels), @r###" -- cgit v1.2.3