From a48ddc21a26f394e077e7bd80ef96b2c281e7730 Mon Sep 17 00:00:00 2001
From: Martin Fischer <martin@push-f.com>
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<usize>, impl AsRef<str>)>) -> String
         .join("\n")
 }
 
+#[test]
+fn start_tag_span() {
+    let html = "<x> <xyz> <xyz  > <xyz/>";
+    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###"
+    <x> <xyz> <xyz  > <xyz/>
+    ^^^ ^^^^^ ^^^^^^^ ^^^^^^
+    "###);
+}
+
+#[test]
+fn end_tag_span() {
+    let html = "</x> </xyz> </xyz  > </xyz/>";
+    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###"
+    </x> </xyz> </xyz  > </xyz/>
+    ^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^
+    "###);
+}
+
 #[test]
 fn start_tag_name_span() {
     let html = "<x> <xyz> <xyz  > <xyz/>";
     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