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());
+ }
+ }
}