aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/net/html/parser_test.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/net/html/parser_test.v')
-rw-r--r--v_windows/v/vlib/net/html/parser_test.v41
1 files changed, 41 insertions, 0 deletions
diff --git a/v_windows/v/vlib/net/html/parser_test.v b/v_windows/v/vlib/net/html/parser_test.v
new file mode 100644
index 0000000..274a47c
--- /dev/null
+++ b/v_windows/v/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
+}