extern crate htmlparser as html; use crate::token::*; test!( cdata_01, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("content", 3..22), Token::ElementEnd(ElementEnd::Close("", "p"), 22..26) ); test!( cdata_02, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("&ing", 3..22), Token::ElementEnd(ElementEnd::Close("", "p"), 22..26) ); test!( cdata_03, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("&ing ]", 3..24), Token::ElementEnd(ElementEnd::Close("", "p"), 24..28) ); test!( cdata_04, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("&ing]] ", 3..25), Token::ElementEnd(ElementEnd::Close("", "p"), 25..29) ); test!( cdata_05, "

text]]>

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("text", 3..38), Token::ElementEnd(ElementEnd::Close("", "p"), 38..42) ); test!( cdata_06, "

]]>

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("", 3..66), Token::ElementEnd(ElementEnd::Close("", "p"), 66..70) ); test!( cdata_07, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("1", 3..16), Token::Cdata("2", 16..29), Token::ElementEnd(ElementEnd::Close("", "p"), 29..33) ); test!( cdata_08, "

\n \t

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Text(" \n ", 3..6), Token::Cdata("data", 6..22), Token::Text(" \t ", 22..25), Token::ElementEnd(ElementEnd::Close("", "p"), 25..29) ); test!( cdata_09, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Cdata("bracket ]after", 3..29), Token::ElementEnd(ElementEnd::Close("", "p"), 29..33) ); test!( cdata_err_01, "

", Token::ElementStart("", "p", 0..2), Token::ElementEnd(ElementEnd::Open, 2..3), Token::Error( "invalid CDATA at 1:4 cause a non-XML character '\\u{1}' found at 1:13".to_string() ) );