From 2095895f7f2d5337c95af5d50f58ae24848c0f5f Mon Sep 17 00:00:00 2001 From: noriaki watanabe Date: Thu, 29 May 2025 06:46:27 +0900 Subject: [PATCH] Add missing test for HtmlTokenizer::next() starting from State::ScriptData context --- core/src/renderer/html/token.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/core/src/renderer/html/token.rs b/core/src/renderer/html/token.rs index 1f5120c..da2a59f 100644 --- a/core/src/renderer/html/token.rs +++ b/core/src/renderer/html/token.rs @@ -662,4 +662,32 @@ mod tests { assert_eq!(Some(e), tokenizer.next()); } } + + #[test] + fn test_script_context() { + let html = "".to_string(); + let mut tokenizer = HtmlTokenizer::new(html); + assert_eq!(Some(HtmlToken::StartTag { + tag: "script".to_string(), + self_closing: false, + attributes: Vec::new(), + }), tokenizer.next()); + tokenizer.switch_context(State::ScriptData); + let expected = [ + HtmlToken::Char('j'), + HtmlToken::Char('s'), + HtmlToken::Char(' '), + HtmlToken::Char('c'), + HtmlToken::Char('o'), + HtmlToken::Char('d'), + HtmlToken::Char('e'), + HtmlToken::Char(';'), + HtmlToken::EndTag { + tag: "script".to_string(), + }, + ]; + for e in expected { + assert_eq!(Some(e), tokenizer.next()); + } + } }