[pkg-go] Bug#895639: golang-github-tdewolff-test: causes regression in autopkgtests of other packages

Paul Gevers elbrus at debian.org
Fri Apr 13 20:45:41 BST 2018


Source: golang-github-tdewolff-test
Version: 0.0~git20171106.2654270-1
Severity: normal
User: ci-team at tracker.debian.org
Usertags: triggers
Control: affects golang-github-tdewolff-buffer
Control: affects golang-github-tdewolff-parse
Control: affects golang-github-tdewolff-minify

With the upload of version 0.0~git20171106.2654270-1 of
golang-github-tdewolff-test, autopkgtests of multiple packages started
to fail.

While the case for golang-github-tdewolff-parse and
golang-github-tdewolff-minify doesn't appear to happen in unstable
(hinting at some missing versions in Depends or Breaks somewhere), the
breakage of golang-github-tdewolff-buffer is in unstable. As
golang-github-tdewolff-test triggered regressions in three different
packages, I decided to file this bug. Could you please investigate, and
if the other packages also have issues, please reassign, clone or file
new bugs as appropriate.

Paul

¹
https://ci.debian.net/packages/g/golang-github-tdewolff-buffer/unstable/amd64/
&
https://ci.debian.net/packages/g/golang-github-tdewolff-buffer/testing/amd64/
²
https://ci.debian.net/packages/g/golang-github-tdewolff-parse/testing/amd64/
³
https://ci.debian.net/packages/g/golang-github-tdewolff-minify/testing/amd64/

=============================================
* golang-github-tdewolff-buffer in unstable¹ and testing¹:
   dh_auto_build -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go install
-gcflags=\"-trimpath=/tmp/autopkgtest-lxc.vt5oqn63/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-asmflags=\"-trimpath=/tmp/autopkgtest-lxc.vt5oqn63/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-v -p 8 github.com/tdewolff/buffer
github.com/tdewolff/buffer
   dh_auto_test -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go test -vet=off -v -p 8
github.com/tdewolff/buffer
=== RUN   TestBufferPool
--- PASS: TestBufferPool (0.00s)
=== RUN   TestLexer
--- FAIL: TestLexer (0.00s)
	test.go:68:
	
	lexer_test.go:52: EOF buffer must be fully in memory: EOF
	test.go:68:
	
	lexer_test.go:78: EOF error must be EOF when past the buffer:
EOF
=== RUN   TestLexerShift
--- PASS: TestLexerShift (0.00s)
=== RUN   TestLexerSmall
--- PASS: TestLexerSmall (0.00s)
=== RUN   TestLexerSingle
--- PASS: TestLexerSingle (0.00s)
=== RUN   TestLexerRunes
--- PASS: TestLexerRunes (0.00s)
=== RUN   TestLexerZeroLen
--- PASS: TestLexerZeroLen (0.00s)
=== RUN   TestLexerEmptyReader
--- FAIL: TestLexerEmptyReader (0.00s)
	test.go:68:
	
	lexer_test.go:139: EOF error must be EOF: EOF
=== RUN   TestReader
--- FAIL: TestReader (0.00s)
	test.go:68:
	
	reader_test.go:29: EOF error must be io.EOF: EOF
=== RUN   TestShifter
--- FAIL: TestShifter (0.00s)
	test.go:68:
	
	shifter_test.go:41: EOF error must be EOF when past the buffer:
EOF
=== RUN   TestShifterSmall
--- PASS: TestShifterSmall (0.00s)
=== RUN   TestShifterRunes
--- PASS: TestShifterRunes (0.00s)
=== RUN   TestShifterZeroLen
--- PASS: TestShifterZeroLen (0.00s)
=== RUN   TestShifterEmptyReader
--- PASS: TestShifterEmptyReader (0.00s)
=== RUN   TestWriter
--- PASS: TestWriter (0.00s)
=== RUN   ExampleNewReader
--- PASS: ExampleNewReader (0.00s)
=== RUN   ExampleNewShifter
--- PASS: ExampleNewShifter (0.00s)
=== RUN   ExampleShifter_PeekRune
--- PASS: ExampleShifter_PeekRune (0.00s)
=== RUN   ExampleShifter_IsEOF
--- PASS: ExampleShifter_IsEOF (0.00s)
=== RUN   ExampleNewWriter
--- PASS: ExampleNewWriter (0.00s)
=== RUN   ExampleWriter_Reset
--- PASS: ExampleWriter_Reset (0.00s)
FAIL
FAIL	github.com/tdewolff/buffer	0.003s
dh_auto_test: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 8
github.com/tdewolff/buffer returned exit code 1



=============================================
* golang-github-tdewolff-parse in testing²
make[1]: Leaving directory
'/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp'
   dh_auto_build -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go install
-gcflags=\"-trimpath=/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-asmflags=\"-trimpath=/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-v -p 2 github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml
github.com/tdewolff/parse/svg
github.com/tdewolff/buffer
github.com/tdewolff/parse
github.com/tdewolff/parse/css
github.com/tdewolff/parse/html
github.com/tdewolff/parse/js
github.com/tdewolff/parse/json
github.com/tdewolff/parse/xml
   dh_auto_test -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go test -vet=off -v -p 2
github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml
# github.com/tdewolff/parse/css
src/github.com/tdewolff/parse/css/util_test.go:21:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:22:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:23:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:26:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:27:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:28:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:31:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:32:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:33:2: undefined: test.Float
=== RUN   TestParseNumber
--- PASS: TestParseNumber (0.00s)
=== RUN   TestParseDimension
--- PASS: TestParseDimension (0.00s)
=== RUN   TestMediatype
--- PASS: TestMediatype (0.00s)
=== RUN   TestParseDataURI
--- FAIL: TestParseDataURI (0.00s)
	test.go:68:
	
	common_test.go:94: not a data URI: not a data URI
	test.go:68:
	
	common_test.go:94: illegal base64 data at input byte 0: illegal
base64 data at input byte 0
=== RUN   TestParseQuoteEntity
--- PASS: TestParseQuoteEntity (0.00s)
=== RUN   TestCopy
--- PASS: TestCopy (0.00s)
=== RUN   TestToLower
--- PASS: TestToLower (0.00s)
=== RUN   TestEqual
--- PASS: TestEqual (0.00s)
=== RUN   TestWhitespace
--- PASS: TestWhitespace (0.00s)
=== RUN   TestReplaceMultipleWhitespace
--- PASS: TestReplaceMultipleWhitespace (0.00s)
=== RUN   TestTrim
--- PASS: TestTrim (0.00s)
FAIL
FAIL	github.com/tdewolff/parse	0.003s
FAIL	github.com/tdewolff/parse/css [build failed]
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<html') StartTagClose('>')
EndTag('</html>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<img') StartTagVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment -->') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment --!>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<p') StartTagClose('>') Text('text')
EndTag('</p>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='button'='button'') StartTagVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='button'='button'') Attribute('  value=''=''') StartTagVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='=/>'='=/>'') Attribute('
			 value="'"="'"') Attribute(' name=x=x') Attribute(' checked=')
StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!doctype>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!doctype html>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<?bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('</0bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('< ') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('</') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<title') StartTagClose('>')
Text('<p></p>') EndTag('</title>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<title') StartTagClose('>')
Text('<p></p>') EndTag('</title>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<plaintext') StartTagClose('>')
Text('</plaintext>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
EndTag('</script>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('var x='') EndTag('</script>') Text('';') EndTag('</script>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='') EndTag('</script>') Text('';-->')
EndTag('</script>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script></script>';-->') EndTag('</script>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script>';-->') EndTag('</script>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('<![CDATA[ test ]]>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Svg('<svg>text</svg>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Math('<math>text</math>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Svg('<svg>text<x a="</svg>"></x></svg>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<a') StartTagClose('>')
Svg('<svg>text</svg>') EndTag('</a>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<? bogus comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in EndTag('</foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x=''=''')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!DOCTYPE note SYSTEM�') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('<![CDATA[ test') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script></script>';-->') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in EndTag('</>') Error('EOF'): EOF
=== RUN   TestTags
--- PASS: TestTags (0.00s)
=== RUN   TestAttributes
--- FAIL: TestAttributes (0.00s)
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' a="b"="b"')
StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' bar=" a
			
 b "=" a
			
 b "') StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' a=')
StartTagVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' /=/=/')
StartTagClose('>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
=== RUN   TestErrors
--- FAIL: TestErrors (0.00s)
	test.go:68:
	
	lex_test.go:195: unexpected null character in Text('a')
Error('unexpected null character'): unexpected null character
=== RUN   TestEscapeAttrVal
--- PASS: TestEscapeAttrVal (0.00s)
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/html	0.004s
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:141: EOF in Error('EOF') with code: "
\t\v\f\u00a0\ufeff\u2000": EOF
	test.go:68:
	
	lex_test.go:141: EOF in LineTerminator('
		

		

') Error('EOF') with code: "\n\r\r\n\u2028\u2029": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('5.2') Numeric('.04') Numeric('0x0F')
Numeric('5e99') Error('EOF') with code: "5.2 .04 0x0F 5e99":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
String(''string'') Error('EOF') with code: "a = 'string'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment*/') Comment('//comment')
Error('EOF') with code: "/*comment*/ //comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('{') Punctuator('}') Punctuator('(')
Punctuator(')') Punctuator('[') Punctuator(']') Error('EOF') with code:
"{ } ( ) [ ]": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('.') Punctuator(';') Punctuator(',')
Punctuator('<') Punctuator('>') Punctuator('<=') Error('EOF') with code:
". ; , < > <=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>=') Punctuator('==')
Punctuator('!=') Punctuator('===') Punctuator('!==') Error('EOF') with
code: ">= == != === !==": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('+') Punctuator('-') Punctuator('*')
Punctuator('%') Punctuator('++') Punctuator('--') Error('EOF') with
code: "+ - * % ++ --": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('<<') Punctuator('>>')
Punctuator('>>>') Punctuator('&') Punctuator('|') Punctuator('^')
Error('EOF') with code: "<< >> >>> & | ^": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('!') Punctuator('~')
Punctuator('&&') Punctuator('||') Punctuator('?') Punctuator(':')
Error('EOF') with code: "! ~ && || ? :": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('=') Punctuator('+=')
Punctuator('-=') Punctuator('*=') Punctuator('%=') Punctuator('<<=')
Error('EOF') with code: "= += -= *= %= <<=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>>=') Punctuator('>>>=')
Punctuator('&=') Punctuator('|=') Punctuator('^=') Punctuator('=>')
Error('EOF') with code: ">>= >>>= &= |= ^= =>": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/.*/g')
Punctuator(';') Error('EOF') with code: "a = /.*/g;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*co
		m
m/*ent*/') Comment('//co//mment') LineTerminator('
')
Comment('//comment') Error('EOF') with code: "/*co\nm\u2028m/*ent*/
//co//mment\u2029//comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('<') Punctuator('!') Punctuator('-')
Error('EOF') with code: "<!-": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Comment('<!--2') LineTerminator('
		') Error('EOF') with code: "1<!--2\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('x') Punctuator('=') Identifier('y')
Punctuator('--') Punctuator('>') Numeric('10') LineTerminator('
		') Error('EOF') with code: "x=y-->10\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment*/') Comment('-->nothing')
LineTerminator('
		') Error('EOF') with code: "  /*comment*/ -->nothing\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Comment('/*comment
		multiline*/') Comment('-->nothing') LineTerminator('
		') Error('EOF') with code: "1 /*comment\nmultiline*/ -->nothing\n":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('$') Identifier('_‌')
Identifier('\u2000') Unknown('‌') Error('EOF') with code: "$ _\u200c
\\u2000 \u200c": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>>>=') Punctuator('>>>')
Punctuator('>=') Error('EOF') with code: ">>>=>>>>=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Punctuator('/') Error('EOF') with
code: "1/": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Punctuator('/=') Error('EOF') with
code: "1/=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Numeric('10') Identifier('xF')
Error('EOF') with code: "010xF": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('50') Identifier('e') Punctuator('+')
Punctuator('-') Numeric('0') Error('EOF') with code: "50e+-0":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\i\'ng'') Error('EOF') with code:
"'str\\i\\'ng'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\\'') Identifier('abc')
Error('EOF') with code: "'str\\\\'abc": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\
		i\\u00A0ng'') Error('EOF') with code: "'str\\\ni\\\\u00A0ng'":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/[a-z/]/g') Error('EOF') with code: "a = /[a-z/]/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/=/g1')
Error('EOF') with code: "a=/=/g1": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/'\\/')
LineTerminator('
		') Error('EOF') with code: "a = /'\\\\/\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/\//g1') Error('EOF') with code: "a=/\\//g1": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('new') Identifier('RegExp')
Punctuator('(') Identifier('a') Punctuator('+') Regexp('/\d{1,2}/')
Punctuator('.') Identifier('source') Punctuator(')') Error('EOF') with
code: "new RegExp(a + /\\d{1,2}/.source)": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0b0101') Numeric('0o0707')
Numeric('0b1') Numeric('7') Error('EOF') with code: "0b0101 0o0707
0b17": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`template`') Error('EOF') with code:
"`template`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`a${') Identifier('x')
Punctuator('+') Identifier('y') Template('}b`') Error('EOF') with code:
"`a${x+y}b`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`temp
		late`') Error('EOF') with code: "`temp\nlate`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`outer${') Punctuator('{')
Identifier('x') Punctuator(':') Numeric('10') Punctuator('}')
Template('}bar${') Identifier('raw') Template('`nested${') Numeric('2')
Template('}endnest`') Template('}end`') Error('EOF') with code:
"`outer${{x: 10}}bar${ raw`nested${2}endnest` }end`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''string') Error('EOF') with code:
"'string": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown(''') LineTerminator('
		') Unknown(''') LineTerminator('
') Error('EOF') with code: "'\n
'\u2028": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\􀀀ing\0'') Error('EOF') with code:
"'str\\\U00100000ing\\0'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''strin\00g'') Error('EOF') with code:
"'strin\\00g'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment') Error('EOF') with code:
"/*comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/regexp') Error('EOF') with code: "a=/regexp": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('u002') Error('EOF')
with code: "\\u002": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('Ø') Identifier('a') Unknown('〉')
Error('EOF') with code: "Ø a〉": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Identifier('xg') Numeric('0')
Punctuator('.') Identifier('f') Error('EOF') with code: "0xg 0.f":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Identifier('bg') Numeric('0')
Identifier('og') Error('EOF') with code: "0bg 0og": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Error('EOF') with code: "\u00a0\ufeff\u2000":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in LineTerminator('

') Error('EOF') with code:
"\u2028\u2029": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('\u0029ident') Error('EOF') with
code: "\\u0029ident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('\u{0029FEF}ident') Error('EOF')
with code: "\\u{0029FEF}ident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('u') Punctuator('{')
Punctuator('}') Error('EOF') with code: "\\u{}": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('ugident') Error('EOF')
with code: "\\ugident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown(''') Identifier('str')
LineTerminator('
') Identifier('ing') String(''') Error('EOF') with
code: "'str\u2028ing'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Punctuator('/')
Unknown('\') LineTerminator('
		') Error('EOF') with code: "a=/\\\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/x/‌')
Unknown('〉') Error('EOF') with code: "a=/x/\u200c〉": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Punctuator('/')
Identifier('x') LineTerminator('
		') Error('EOF') with code: "a=/x\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('return') Regexp('/abc/')
Punctuator(';') Error('EOF') with code: "return /abc/;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('yield') Regexp('/abc/')
Punctuator(';') Error('EOF') with code: "yield /abc/;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('/') Identifier('b')
Punctuator('/') Identifier('g') Error('EOF') with code: "a/b/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('{') Punctuator('}') Regexp('/1/g')
Error('EOF') with code: "{}/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('i') Punctuator('(') Numeric('0')
Punctuator(')') Punctuator('/') Numeric('1') Punctuator('/')
Identifier('g') Error('EOF') with code: "i(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('if') Punctuator('(') Numeric('0')
Punctuator(')') Regexp('/1/g') Error('EOF') with code: "if(0)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('.')
Identifier('if') Punctuator('(') Numeric('0') Punctuator(')')
Punctuator('/') Numeric('1') Punctuator('/') Identifier('g')
Error('EOF') with code: "a.if(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('while') Punctuator('(')
Numeric('0') Punctuator(')') Regexp('/1/g') Error('EOF') with code:
"while(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('for') Punctuator('(')
Punctuator(';') Punctuator(';') Punctuator(')') Regexp('/1/g')
Error('EOF') with code: "for(;;)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('with') Punctuator('(') Numeric('0')
Punctuator(')') Regexp('/1/g') Error('EOF') with code: "with(0)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('this') Punctuator('/') Numeric('1')
Punctuator('/') Identifier('g') Error('EOF') with code: "this/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('case') Regexp('/1/g')
Punctuator(':') Error('EOF') with code: "case /1/g:": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('function') Identifier('f')
Punctuator('(') Punctuator(')') Punctuator('{') Punctuator('}')
Regexp('/1/g') Error('EOF') with code: "function f(){}/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('this') Punctuator('.')
Identifier('return') Punctuator('/') Numeric('1') Punctuator('/')
Identifier('g') Error('EOF') with code: "this.return/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('(') Identifier('a') Punctuator('+')
Identifier('b') Punctuator(')') Punctuator('/') Numeric('1')
Punctuator('/') Identifier('g') Error('EOF') with code: "(a+b)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('`') Error('EOF') with code: "`":
EOF
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/js	0.004s
=== RUN   TestGrammars
--- FAIL: TestGrammars (0.00s)
	test.go:68:
	
	parse_test.go:63: EOF in Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in Literal('null') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') EndArray(']') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Number('15.2') Number('0.4')
Number('5e9') Number('-4E-3') EndArray(']') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Literal('true')
Literal('false') Literal('null') EndArray(']') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') String('""') String('"abc"')
String('"\""') String('"\\"') EndArray(']') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') EndObject('}') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') String('"a"') String('"b"')
String('"c"') String('"d"') EndObject('}') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') String('"a"') StartArray('[')
Number('1') Number('2') EndArray(']') String('"b"') StartObject('{')
String('"c"') Number('3') : EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Literal('null') EndArray(']')
Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') String('"x\�y"') Number('0')
EndArray(']') Error('EOF'): EOF
=== RUN   TestGrammarsError
--- FAIL: TestGrammarsError (0.00s)
	test.go:68:
	
	parse_test.go:107: unexpected comma character outside an array or
object in Literal('true') Error('unexpected comma character outside an
array or object'): unexpected comma character outside an array
or object
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in StartArray('[') Literal('true') Error('expected comma
character or an array or object ending'): expected comma
character or an array or object ending
	test.go:68:
	
	parse_test.go:107: unexpected right bracket character in
Error('unexpected right bracket character'): unexpected right
bracket character
	test.go:68:
	
	parse_test.go:107: unexpected right brace character in
Error('unexpected right brace character'): unexpected right
brace character
	test.go:68:
	
	parse_test.go:107: expected object key to be a quoted string in
StartObject('{') Error('expected object key to be a quoted string'):
expected object key to be a quoted string
	test.go:68:
	
	parse_test.go:107: expected colon character after object key in
StartObject('{') Error('expected colon character after object key'):
expected colon character after object key
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in Number('1') Error('expected comma character or an array or
object ending'): expected comma character or an array or object
ending
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in Number('1') Error('expected comma character or an array or
object ending'): expected comma character or an array or object
ending
	test.go:68:
	
	parse_test.go:107: EOF in StartObject('{') String('""') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:107: EOF in Error('EOF'): EOF
=== RUN   TestStates
--- FAIL: TestStates (0.00s)
	test.go:68:
	
	parse_test.go:132: EOF in Literal('null') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:132: EOF in StartArray('[') Literal('null') EndArray(']')
Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:132: EOF in StartObject('{') String('""') Literal('null')
EndObject('}') Error('EOF'): EOF
=== RUN   ExampleNewParser
--- PASS: ExampleNewParser (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/json	0.003s
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
PASS
ok  	github.com/tdewolff/parse/svg	0.002s
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:90: EOF in Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment -->') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment
		 multi
 line -->') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid(' 	
		/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo:bar.qux-norf')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagClose('>')
EndTag('</foo>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagClose('>') Text('text')
EndTag('</foo>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid('/>') Text('
text') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<a') StartTagClose('>') Text(' ')
StartTag('<b') StartTagClose('>') Text(' ') StartTag('<c')
StartTagClose('>') Text('text') EndTag('</c>') : EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a='a'='a'')
Attribute(' b="b"="b"') Attribute(' c=c=c') StartTagCloseVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a=""=""')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a-b=""=""')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') StartTagClosePI('?>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Attribute(' a="a"="a"')
StartTagClosePI(' ?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Attribute(' a=a=a')
StartTagClosePI('?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in CDATA('<![CDATA[ test ]]>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note SYSTEM "Note.dtd">')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note [<!ENTITY nbsp
"&#xA0;"><!ENTITY writer "Writer: Donald Duck."><!ENTITY copyright
"Copyright:]> W3Schools.">]>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<!foo') StartTagClose('>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x==') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x=''=''')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in CDATA('<![CDATA[ test') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note SYSTEM') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</
		') Error('EOF'): EOF
=== RUN   TestTags
--- PASS: TestTags (0.00s)
=== RUN   TestAttributes
--- FAIL: TestAttributes (0.00s)
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' a="b"="b"')
StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' bar=" a     b "="
a     b "') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTagPI('<?xml') Attribute(' a=b=b')
StartTagClosePI('?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' /=?=?')
StartTagClose(' >') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
=== RUN   TestErrors
--- FAIL: TestErrors (0.00s)
	test.go:68:
	
	lex_test.go:185: unexpected null character in Text('a')
Error('unexpected null character'): unexpected null character
=== RUN   TestEscapeAttrVal
--- PASS: TestEscapeAttrVal (0.00s)
=== RUN   TestEscapeCDATAVal
--- PASS: TestEscapeCDATAVal (0.00s)
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/xml	0.003s
dh_auto_test: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 2
github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml returned exit code 2



=============================================
* golang-github-tdewolff-minify in testing³
make[1]: Leaving directory
'/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp'
   dh_auto_build -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go install
-gcflags=\"-trimpath=/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-asmflags=\"-trimpath=/tmp/autopkgtest-lxc.gpl16fpt/downtmp/autopkgtest_tmp/obj-x86_64-linux-gnu/src\"
-v -p 2 github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml
github.com/tdewolff/parse/svg
github.com/tdewolff/buffer
github.com/tdewolff/parse
github.com/tdewolff/parse/css
github.com/tdewolff/parse/html
github.com/tdewolff/parse/js
github.com/tdewolff/parse/json
github.com/tdewolff/parse/xml
   dh_auto_test -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go test -vet=off -v -p 2
github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml
# github.com/tdewolff/parse/css
src/github.com/tdewolff/parse/css/util_test.go:21:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:22:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:23:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:26:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:27:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:28:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:31:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:32:2: undefined: test.Float
src/github.com/tdewolff/parse/css/util_test.go:33:2: undefined: test.Float
=== RUN   TestParseNumber
--- PASS: TestParseNumber (0.00s)
=== RUN   TestParseDimension
--- PASS: TestParseDimension (0.00s)
=== RUN   TestMediatype
--- PASS: TestMediatype (0.00s)
=== RUN   TestParseDataURI
--- FAIL: TestParseDataURI (0.00s)
	test.go:68:
	
	common_test.go:94: not a data URI: not a data URI
	test.go:68:
	
	common_test.go:94: illegal base64 data at input byte 0: illegal
base64 data at input byte 0
=== RUN   TestParseQuoteEntity
--- PASS: TestParseQuoteEntity (0.00s)
=== RUN   TestCopy
--- PASS: TestCopy (0.00s)
=== RUN   TestToLower
--- PASS: TestToLower (0.00s)
=== RUN   TestEqual
--- PASS: TestEqual (0.00s)
=== RUN   TestWhitespace
--- PASS: TestWhitespace (0.00s)
=== RUN   TestReplaceMultipleWhitespace
--- PASS: TestReplaceMultipleWhitespace (0.00s)
=== RUN   TestTrim
--- PASS: TestTrim (0.00s)
FAIL
FAIL	github.com/tdewolff/parse	0.003s
FAIL	github.com/tdewolff/parse/css [build failed]
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<html') StartTagClose('>')
EndTag('</html>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<img') StartTagVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment -->') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment --!>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<p') StartTagClose('>') Text('text')
EndTag('</p>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='button'='button'') StartTagVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='button'='button'') Attribute('  value=''=''') StartTagVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<input') Attribute('
type='=/>'='=/>'') Attribute('
			 value="'"="'"') Attribute(' name=x=x') Attribute(' checked=')
StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!doctype>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!doctype html>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<?bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('</0bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!bogus>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('< ') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('</') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<title') StartTagClose('>')
Text('<p></p>') EndTag('</title>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<title') StartTagClose('>')
Text('<p></p>') EndTag('</title>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<plaintext') StartTagClose('>')
Text('</plaintext>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
EndTag('</script>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('var x='') EndTag('</script>') Text('';') EndTag('</script>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='') EndTag('</script>') Text('';-->')
EndTag('</script>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script></script>';-->') EndTag('</script>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script>';-->') EndTag('</script>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('<![CDATA[ test ]]>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Svg('<svg>text</svg>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Math('<math>text</math>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Svg('<svg>text<x a="</svg>"></x></svg>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<a') StartTagClose('>')
Svg('<svg>text</svg>') EndTag('</a>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<!-- comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Comment('<? bogus comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in EndTag('</foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<foo') Attribute(' x=''=''')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in Doctype('<!DOCTYPE note SYSTEM�') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in Text('<![CDATA[ test') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in StartTag('<script') StartTagClose('>')
Text('<!--var x='<script></script>';-->') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:100: EOF in EndTag('</>') Error('EOF'): EOF
=== RUN   TestTags
--- PASS: TestTags (0.00s)
=== RUN   TestAttributes
--- FAIL: TestAttributes (0.00s)
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' a="b"="b"')
StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' bar=" a
			
 b "=" a
			
 b "') StartTagVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' a=')
StartTagVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' /=/=/')
StartTagClose('>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:168: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
=== RUN   TestErrors
--- FAIL: TestErrors (0.00s)
	test.go:68:
	
	lex_test.go:195: unexpected null character in Text('a')
Error('unexpected null character'): unexpected null character
=== RUN   TestEscapeAttrVal
--- PASS: TestEscapeAttrVal (0.00s)
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/html	0.004s
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:141: EOF in Error('EOF') with code: "
\t\v\f\u00a0\ufeff\u2000": EOF
	test.go:68:
	
	lex_test.go:141: EOF in LineTerminator('
		

		

') Error('EOF') with code: "\n\r\r\n\u2028\u2029": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('5.2') Numeric('.04') Numeric('0x0F')
Numeric('5e99') Error('EOF') with code: "5.2 .04 0x0F 5e99":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
String(''string'') Error('EOF') with code: "a = 'string'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment*/') Comment('//comment')
Error('EOF') with code: "/*comment*/ //comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('{') Punctuator('}') Punctuator('(')
Punctuator(')') Punctuator('[') Punctuator(']') Error('EOF') with code:
"{ } ( ) [ ]": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('.') Punctuator(';') Punctuator(',')
Punctuator('<') Punctuator('>') Punctuator('<=') Error('EOF') with code:
". ; , < > <=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>=') Punctuator('==')
Punctuator('!=') Punctuator('===') Punctuator('!==') Error('EOF') with
code: ">= == != === !==": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('+') Punctuator('-') Punctuator('*')
Punctuator('%') Punctuator('++') Punctuator('--') Error('EOF') with
code: "+ - * % ++ --": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('<<') Punctuator('>>')
Punctuator('>>>') Punctuator('&') Punctuator('|') Punctuator('^')
Error('EOF') with code: "<< >> >>> & | ^": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('!') Punctuator('~')
Punctuator('&&') Punctuator('||') Punctuator('?') Punctuator(':')
Error('EOF') with code: "! ~ && || ? :": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('=') Punctuator('+=')
Punctuator('-=') Punctuator('*=') Punctuator('%=') Punctuator('<<=')
Error('EOF') with code: "= += -= *= %= <<=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>>=') Punctuator('>>>=')
Punctuator('&=') Punctuator('|=') Punctuator('^=') Punctuator('=>')
Error('EOF') with code: ">>= >>>= &= |= ^= =>": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/.*/g')
Punctuator(';') Error('EOF') with code: "a = /.*/g;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*co
		m
m/*ent*/') Comment('//co//mment') LineTerminator('
')
Comment('//comment') Error('EOF') with code: "/*co\nm\u2028m/*ent*/
//co//mment\u2029//comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('<') Punctuator('!') Punctuator('-')
Error('EOF') with code: "<!-": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Comment('<!--2') LineTerminator('
		') Error('EOF') with code: "1<!--2\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('x') Punctuator('=') Identifier('y')
Punctuator('--') Punctuator('>') Numeric('10') LineTerminator('
		') Error('EOF') with code: "x=y-->10\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment*/') Comment('-->nothing')
LineTerminator('
		') Error('EOF') with code: "  /*comment*/ -->nothing\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Comment('/*comment
		multiline*/') Comment('-->nothing') LineTerminator('
		') Error('EOF') with code: "1 /*comment\nmultiline*/ -->nothing\n":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('$') Identifier('_‌')
Identifier('\u2000') Unknown('‌') Error('EOF') with code: "$ _\u200c
\\u2000 \u200c": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('>>>=') Punctuator('>>>')
Punctuator('>=') Error('EOF') with code: ">>>=>>>>=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Punctuator('/') Error('EOF') with
code: "1/": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('1') Punctuator('/=') Error('EOF') with
code: "1/=": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Numeric('10') Identifier('xF')
Error('EOF') with code: "010xF": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('50') Identifier('e') Punctuator('+')
Punctuator('-') Numeric('0') Error('EOF') with code: "50e+-0":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\i\'ng'') Error('EOF') with code:
"'str\\i\\'ng'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\\'') Identifier('abc')
Error('EOF') with code: "'str\\\\'abc": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\
		i\\u00A0ng'') Error('EOF') with code: "'str\\\ni\\\\u00A0ng'":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/[a-z/]/g') Error('EOF') with code: "a = /[a-z/]/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/=/g1')
Error('EOF') with code: "a=/=/g1": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/'\\/')
LineTerminator('
		') Error('EOF') with code: "a = /'\\\\/\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/\//g1') Error('EOF') with code: "a=/\\//g1": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('new') Identifier('RegExp')
Punctuator('(') Identifier('a') Punctuator('+') Regexp('/\d{1,2}/')
Punctuator('.') Identifier('source') Punctuator(')') Error('EOF') with
code: "new RegExp(a + /\\d{1,2}/.source)": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0b0101') Numeric('0o0707')
Numeric('0b1') Numeric('7') Error('EOF') with code: "0b0101 0o0707
0b17": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`template`') Error('EOF') with code:
"`template`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`a${') Identifier('x')
Punctuator('+') Identifier('y') Template('}b`') Error('EOF') with code:
"`a${x+y}b`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`temp
		late`') Error('EOF') with code: "`temp\nlate`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Template('`outer${') Punctuator('{')
Identifier('x') Punctuator(':') Numeric('10') Punctuator('}')
Template('}bar${') Identifier('raw') Template('`nested${') Numeric('2')
Template('}endnest`') Template('}end`') Error('EOF') with code:
"`outer${{x: 10}}bar${ raw`nested${2}endnest` }end`": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''string') Error('EOF') with code:
"'string": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown(''') LineTerminator('
		') Unknown(''') LineTerminator('
') Error('EOF') with code: "'\n
'\u2028": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''str\􀀀ing\0'') Error('EOF') with code:
"'str\\\U00100000ing\\0'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in String(''strin\00g'') Error('EOF') with code:
"'strin\\00g'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Comment('/*comment') Error('EOF') with code:
"/*comment": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=')
Regexp('/regexp') Error('EOF') with code: "a=/regexp": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('u002') Error('EOF')
with code: "\\u002": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('Ø') Identifier('a') Unknown('〉')
Error('EOF') with code: "Ø a〉": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Identifier('xg') Numeric('0')
Punctuator('.') Identifier('f') Error('EOF') with code: "0xg 0.f":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Numeric('0') Identifier('bg') Numeric('0')
Identifier('og') Error('EOF') with code: "0bg 0og": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Error('EOF') with code: "\u00a0\ufeff\u2000":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in LineTerminator('

') Error('EOF') with code:
"\u2028\u2029": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('\u0029ident') Error('EOF') with
code: "\\u0029ident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('\u{0029FEF}ident') Error('EOF')
with code: "\\u{0029FEF}ident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('u') Punctuator('{')
Punctuator('}') Error('EOF') with code: "\\u{}": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('\') Identifier('ugident') Error('EOF')
with code: "\\ugident": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown(''') Identifier('str')
LineTerminator('
') Identifier('ing') String(''') Error('EOF') with
code: "'str\u2028ing'": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Punctuator('/')
Unknown('\') LineTerminator('
		') Error('EOF') with code: "a=/\\\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Regexp('/x/‌')
Unknown('〉') Error('EOF') with code: "a=/x/\u200c〉": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('=') Punctuator('/')
Identifier('x') LineTerminator('
		') Error('EOF') with code: "a=/x\n": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('return') Regexp('/abc/')
Punctuator(';') Error('EOF') with code: "return /abc/;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('yield') Regexp('/abc/')
Punctuator(';') Error('EOF') with code: "yield /abc/;": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('/') Identifier('b')
Punctuator('/') Identifier('g') Error('EOF') with code: "a/b/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('{') Punctuator('}') Regexp('/1/g')
Error('EOF') with code: "{}/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('i') Punctuator('(') Numeric('0')
Punctuator(')') Punctuator('/') Numeric('1') Punctuator('/')
Identifier('g') Error('EOF') with code: "i(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('if') Punctuator('(') Numeric('0')
Punctuator(')') Regexp('/1/g') Error('EOF') with code: "if(0)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('a') Punctuator('.')
Identifier('if') Punctuator('(') Numeric('0') Punctuator(')')
Punctuator('/') Numeric('1') Punctuator('/') Identifier('g')
Error('EOF') with code: "a.if(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('while') Punctuator('(')
Numeric('0') Punctuator(')') Regexp('/1/g') Error('EOF') with code:
"while(0)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('for') Punctuator('(')
Punctuator(';') Punctuator(';') Punctuator(')') Regexp('/1/g')
Error('EOF') with code: "for(;;)/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('with') Punctuator('(') Numeric('0')
Punctuator(')') Regexp('/1/g') Error('EOF') with code: "with(0)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('this') Punctuator('/') Numeric('1')
Punctuator('/') Identifier('g') Error('EOF') with code: "this/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('case') Regexp('/1/g')
Punctuator(':') Error('EOF') with code: "case /1/g:": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('function') Identifier('f')
Punctuator('(') Punctuator(')') Punctuator('{') Punctuator('}')
Regexp('/1/g') Error('EOF') with code: "function f(){}/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Identifier('this') Punctuator('.')
Identifier('return') Punctuator('/') Numeric('1') Punctuator('/')
Identifier('g') Error('EOF') with code: "this.return/1/g": EOF
	test.go:68:
	
	lex_test.go:141: EOF in Punctuator('(') Identifier('a') Punctuator('+')
Identifier('b') Punctuator(')') Punctuator('/') Numeric('1')
Punctuator('/') Identifier('g') Error('EOF') with code: "(a+b)/1/g":
EOF
	test.go:68:
	
	lex_test.go:141: EOF in Unknown('`') Error('EOF') with code: "`":
EOF
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/js	0.004s
=== RUN   TestGrammars
--- FAIL: TestGrammars (0.00s)
	test.go:68:
	
	parse_test.go:63: EOF in Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in Literal('null') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') EndArray(']') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Number('15.2') Number('0.4')
Number('5e9') Number('-4E-3') EndArray(']') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Literal('true')
Literal('false') Literal('null') EndArray(']') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') String('""') String('"abc"')
String('"\""') String('"\\"') EndArray(']') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') EndObject('}') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') String('"a"') String('"b"')
String('"c"') String('"d"') EndObject('}') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartObject('{') String('"a"') StartArray('[')
Number('1') Number('2') EndArray(']') String('"b"') StartObject('{')
String('"c"') Number('3') : EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') Literal('null') EndArray(']')
Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:63: EOF in StartArray('[') String('"x\�y"') Number('0')
EndArray(']') Error('EOF'): EOF
=== RUN   TestGrammarsError
--- FAIL: TestGrammarsError (0.00s)
	test.go:68:
	
	parse_test.go:107: unexpected comma character outside an array or
object in Literal('true') Error('unexpected comma character outside an
array or object'): unexpected comma character outside an array
or object
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in StartArray('[') Literal('true') Error('expected comma
character or an array or object ending'): expected comma
character or an array or object ending
	test.go:68:
	
	parse_test.go:107: unexpected right bracket character in
Error('unexpected right bracket character'): unexpected right
bracket character
	test.go:68:
	
	parse_test.go:107: unexpected right brace character in
Error('unexpected right brace character'): unexpected right
brace character
	test.go:68:
	
	parse_test.go:107: expected object key to be a quoted string in
StartObject('{') Error('expected object key to be a quoted string'):
expected object key to be a quoted string
	test.go:68:
	
	parse_test.go:107: expected colon character after object key in
StartObject('{') Error('expected colon character after object key'):
expected colon character after object key
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in Number('1') Error('expected comma character or an array or
object ending'): expected comma character or an array or object
ending
	test.go:68:
	
	parse_test.go:107: expected comma character or an array or object
ending in Number('1') Error('expected comma character or an array or
object ending'): expected comma character or an array or object
ending
	test.go:68:
	
	parse_test.go:107: EOF in StartObject('{') String('""') Error('EOF'):
EOF
	test.go:68:
	
	parse_test.go:107: EOF in Error('EOF'): EOF
=== RUN   TestStates
--- FAIL: TestStates (0.00s)
	test.go:68:
	
	parse_test.go:132: EOF in Literal('null') Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:132: EOF in StartArray('[') Literal('null') EndArray(']')
Error('EOF'): EOF
	test.go:68:
	
	parse_test.go:132: EOF in StartObject('{') String('""') Literal('null')
EndObject('}') Error('EOF'): EOF
=== RUN   ExampleNewParser
--- PASS: ExampleNewParser (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/json	0.003s
=== RUN   TestHashTable
--- PASS: TestHashTable (0.00s)
PASS
ok  	github.com/tdewolff/parse/svg	0.002s
=== RUN   TestTokens
--- FAIL: TestTokens (0.00s)
	test.go:68:
	
	lex_test.go:90: EOF in Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment -->') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment
		 multi
 line -->') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid(' 	
		/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo:bar.qux-norf')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagClose('>')
EndTag('</foo>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagClose('>') Text('text')
EndTag('</foo>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') StartTagCloseVoid('/>') Text('
text') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<a') StartTagClose('>') Text(' ')
StartTag('<b') StartTagClose('>') Text(' ') StartTag('<c')
StartTagClose('>') Text('text') EndTag('</c>') : EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a='a'='a'')
Attribute(' b="b"="b"') Attribute(' c=c=c') StartTagCloseVoid('/>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a=""=""')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' a-b=""=""')
StartTagCloseVoid('/>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') StartTagClosePI('?>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Attribute(' a="a"="a"')
StartTagClosePI(' ?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Attribute(' a=a=a')
StartTagClosePI('?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in CDATA('<![CDATA[ test ]]>') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note SYSTEM "Note.dtd">')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note [<!ENTITY nbsp
"&#xA0;"><!ENTITY writer "Writer: Donald Duck."><!ENTITY copyright
"Copyright:]> W3Schools.">]>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<!foo') StartTagClose('>')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in Comment('<!-- comment') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</foo') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x==') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTag('<foo') Attribute(' x=''=''')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in StartTagPI('<?xml') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in CDATA('<![CDATA[ test') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in DOCTYPE('<!DOCTYPE note SYSTEM') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:90: EOF in EndTag('</
		') Error('EOF'): EOF
=== RUN   TestTags
--- PASS: TestTags (0.00s)
=== RUN   TestAttributes
--- FAIL: TestAttributes (0.00s)
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' a="b"="b"')
StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute('
		checked=') Attribute('
		 value
=	'=/>"'='=/>"'') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' bar=" a     b "="
a     b "') StartTagCloseVoid(' />') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTagPI('<?xml') Attribute(' a=b=b')
StartTagClosePI('?>') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' /=?=?')
StartTagClose(' >') Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x=') Error('EOF'):
EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x==')
Error('EOF'): EOF
	test.go:68:
	
	lex_test.go:158: EOF in StartTag('<foo') Attribute(' x='='')
Error('EOF'): EOF
=== RUN   TestErrors
--- FAIL: TestErrors (0.00s)
	test.go:68:
	
	lex_test.go:185: unexpected null character in Text('a')
Error('unexpected null character'): unexpected null character
=== RUN   TestEscapeAttrVal
--- PASS: TestEscapeAttrVal (0.00s)
=== RUN   TestEscapeCDATAVal
--- PASS: TestEscapeCDATAVal (0.00s)
=== RUN   ExampleNewLexer
--- PASS: ExampleNewLexer (0.00s)
FAIL
FAIL	github.com/tdewolff/parse/xml	0.003s
dh_auto_test: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 2
github.com/tdewolff/parse github.com/tdewolff/parse/css
github.com/tdewolff/parse/html github.com/tdewolff/parse/js
github.com/tdewolff/parse/json github.com/tdewolff/parse/svg
github.com/tdewolff/parse/xml returned exit code 2


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-go-maintainers/attachments/20180413/d697a5aa/attachment-0003.sig>


More information about the Pkg-go-maintainers mailing list