diff options
Diffstat (limited to 'v_windows/v/old/vlib/net/html/parser_test.v')
-rw-r--r-- | v_windows/v/old/vlib/net/html/parser_test.v | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/net/html/parser_test.v b/v_windows/v/old/vlib/net/html/parser_test.v new file mode 100644 index 0000000..274a47c --- /dev/null +++ b/v_windows/v/old/vlib/net/html/parser_test.v @@ -0,0 +1,41 @@ +module html + +import strings + +fn test_split_parse() { + mut parser := Parser{} + parser.init() + parser.split_parse('<!doctype htm') + parser.split_parse('l public') + parser.split_parse('><html><he') + parser.split_parse('ad><t') + parser.split_parse('itle> Hum... ') + parser.split_parse('A Tit') + parser.split_parse('\nle</ti\ntle>') + parser.split_parse('</\nhead><body>\t\t\t<h3>') + parser.split_parse('Nice Test!</h3>') + parser.split_parse('</bo\n\n\ndy></html>') + parser.finalize() + assert parser.tags.len == 11 + assert parser.tags[3].content == ' Hum... A Tit\nle' +} + +fn test_giant_string() { + mut temp_html := strings.new_builder(200) + mut parser := Parser{} + temp_html.write_string('<!doctype html><html><head><title>Giant String</title></head><body>') + for counter := 0; counter < 2000; counter++ { + temp_html.write_string("<div id='name_$counter' class='several-$counter'>Look at $counter</div>") + } + temp_html.write_string('</body></html>') + parser.parse_html(temp_html.str()) + assert parser.tags.len == 4009 +} + +fn test_script_tag() { + mut parser := Parser{} + script_content := "\nvar googletag = googletag || {};\ngoogletag.cmd = googletag.cmd || [];if(3 > 5) {console.log('Birl');}\n" + temp_html := '<html><body><script>$script_content</script></body></html>' + parser.parse_html(temp_html) + assert parser.tags[2].content.len == script_content.replace('\n', '').len +} |