mirror of
https://github.com/ericchiang/pup
synced 2025-01-15 02:00:55 +00:00
remove Godeps directory
This commit is contained in:
parent
e76307d03d
commit
2a0609560c
30
Godeps/Godeps.json
generated
30
Godeps/Godeps.json
generated
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"ImportPath": "github.com/ericchiang/pup",
|
|
||||||
"GoVersion": "go1.4",
|
|
||||||
"Deps": [
|
|
||||||
{
|
|
||||||
"ImportPath": "github.com/fatih/color",
|
|
||||||
"Rev": "3161cccfa22c6243e02aa984cf2886d022024cec"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "github.com/mattn/go-colorable",
|
|
||||||
"Rev": "043ae16291351db8465272edf465c9f388161627"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "github.com/mattn/go-isatty",
|
|
||||||
"Rev": "6152ce208cfa13d58f065348a3312b4160fb98d1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "golang.org/x/net/html",
|
|
||||||
"Rev": "cbcac7bb8415db9b6cb4d1ebab1dc9afbd688b97"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "golang.org/x/text/encoding",
|
|
||||||
"Rev": "ef0bf1da95d2b971524f971801f2a4c2d0b4841f"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "golang.org/x/text/transform",
|
|
||||||
"Rev": "ef0bf1da95d2b971524f971801f2a4c2d0b4841f"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
5
Godeps/Readme
generated
5
Godeps/Readme
generated
@ -1,5 +0,0 @@
|
|||||||
This directory tree is generated automatically by godep.
|
|
||||||
|
|
||||||
Please do not edit.
|
|
||||||
|
|
||||||
See https://github.com/tools/godep for more information.
|
|
2
Godeps/_workspace/.gitignore
generated
vendored
2
Godeps/_workspace/.gitignore
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
/pkg
|
|
||||||
/bin
|
|
3
Godeps/_workspace/src/github.com/fatih/color/.travis.yml
generated
vendored
3
Godeps/_workspace/src/github.com/fatih/color/.travis.yml
generated
vendored
@ -1,3 +0,0 @@
|
|||||||
language: go
|
|
||||||
go: 1.3
|
|
||||||
|
|
20
Godeps/_workspace/src/github.com/fatih/color/LICENSE.md
generated
vendored
20
Godeps/_workspace/src/github.com/fatih/color/LICENSE.md
generated
vendored
@ -1,20 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2013 Fatih Arslan
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
120
Godeps/_workspace/src/github.com/fatih/color/README.md
generated
vendored
120
Godeps/_workspace/src/github.com/fatih/color/README.md
generated
vendored
@ -1,120 +0,0 @@
|
|||||||
# Color [![GoDoc](https://godoc.org/github.com/fatih/color?status.svg)](http://godoc.org/github.com/fatih/color) [![Build Status](https://travis-ci.org/fatih/color.svg)](https://travis-ci.org/fatih/color)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Color let you use colorized outputs in terms of [ANSI Escape
|
|
||||||
Codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors). The API can be
|
|
||||||
used in several way, pick one that suits you.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
![Color](http://i.imgur.com/c1JI0lA.png)
|
|
||||||
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```bash
|
|
||||||
go get github.com/fatih/color
|
|
||||||
```
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
### Standard colors
|
|
||||||
|
|
||||||
```go
|
|
||||||
// Print with default helper functions
|
|
||||||
color.Cyan("Prints text in cyan.")
|
|
||||||
|
|
||||||
// a newline will be appended automatically
|
|
||||||
color.Blue("Prints %s in blue.", "text")
|
|
||||||
|
|
||||||
// These are using by default foreground colors.
|
|
||||||
color.Red("We have red")
|
|
||||||
color.Magenta("And many others ..")
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### Mix and reuse colors
|
|
||||||
|
|
||||||
```go
|
|
||||||
// Create a new color object
|
|
||||||
c := color.New(color.FgCyan).Add(color.Underline)
|
|
||||||
c.Println("Prints cyan text with an underline.")
|
|
||||||
|
|
||||||
// Or just add them to New()
|
|
||||||
d := color.New(color.FgCyan, color.Bold)
|
|
||||||
d.Printf("This prints bold cyan %s\n", "too!.")
|
|
||||||
|
|
||||||
// Mix up foreground and background colors, create new mixes!
|
|
||||||
red := color.New(color.FgRed)
|
|
||||||
|
|
||||||
boldRed := red.Add(color.Bold)
|
|
||||||
boldRed.Println("This will print text in bold red.")
|
|
||||||
|
|
||||||
whiteBackground := red.Add(color.BgWhite)
|
|
||||||
whiteBackground.Println("Red text with White background.")
|
|
||||||
```
|
|
||||||
|
|
||||||
### Custom print functions (PrintFunc)
|
|
||||||
|
|
||||||
```go
|
|
||||||
// Create a custom print function for convenient
|
|
||||||
red := color.New(color.FgRed).PrintfFunc()
|
|
||||||
red("warning")
|
|
||||||
red("error: %s", err)
|
|
||||||
|
|
||||||
// Mix up multiple attributes
|
|
||||||
notice := color.New(color.Bold, color.FgGreen).PrintlnFunc()
|
|
||||||
notice("don't forget this...")
|
|
||||||
```
|
|
||||||
|
|
||||||
### Insert into noncolor strings (SprintFunc)
|
|
||||||
|
|
||||||
```go
|
|
||||||
// Create SprintXxx functions to mix strings with other non-colorized strings:
|
|
||||||
yellow := color.New(color.FgYellow).SprintFunc()
|
|
||||||
red := color.New(color.FgRed).SprintFunc()
|
|
||||||
fmt.Printf("this is a %s and this is %s.\n", yellow("warning"), red("error"))
|
|
||||||
|
|
||||||
info := color.New(color.FgWhite, color.BgGreen).SprintFunc()
|
|
||||||
fmt.Printf("this %s rocks!\n", info("package"))
|
|
||||||
|
|
||||||
// use helper functions
|
|
||||||
fmt.Printf("this", color.RedString("warning"), "should be not neglected.")
|
|
||||||
fmt.Printf(color.GreenString("Info:"), "an important message." )
|
|
||||||
```
|
|
||||||
|
|
||||||
### Plug into existing code
|
|
||||||
|
|
||||||
```go
|
|
||||||
// Use handy standard colors.
|
|
||||||
color.Set(color.FgYellow)
|
|
||||||
|
|
||||||
fmt.Println("Existing text will be now in Yellow")
|
|
||||||
fmt.Printf("This one %s\n", "too")
|
|
||||||
|
|
||||||
color.Unset() // don't forget to unset
|
|
||||||
|
|
||||||
// You can mix up parameters
|
|
||||||
color.Set(color.FgMagenta, color.Bold)
|
|
||||||
defer color.Unset() // use it in your function
|
|
||||||
|
|
||||||
fmt.Println("All text will be now bold magenta.")
|
|
||||||
```
|
|
||||||
|
|
||||||
## Todo
|
|
||||||
|
|
||||||
* Save/Return previous values
|
|
||||||
* Add Windows support
|
|
||||||
* Evaluate fmt.Formatter interface
|
|
||||||
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
* [Fatih Arslan](https://github.com/fatih)
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
The MIT License (MIT) - see LICENSE.md for more details
|
|
||||||
|
|
||||||
|
|
286
Godeps/_workspace/src/github.com/fatih/color/color.go
generated
vendored
286
Godeps/_workspace/src/github.com/fatih/color/color.go
generated
vendored
@ -1,286 +0,0 @@
|
|||||||
package color
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Color defines a custom color object which is defined by SGR parameters.
|
|
||||||
type Color struct {
|
|
||||||
params []Attribute
|
|
||||||
}
|
|
||||||
|
|
||||||
// Attribute defines a single SGR Code
|
|
||||||
type Attribute int
|
|
||||||
|
|
||||||
const escape = "\x1b"
|
|
||||||
|
|
||||||
// Base attributes
|
|
||||||
const (
|
|
||||||
Reset Attribute = iota
|
|
||||||
Bold
|
|
||||||
Faint
|
|
||||||
Italic
|
|
||||||
Underline
|
|
||||||
BlinkSlow
|
|
||||||
BlinkRapid
|
|
||||||
ReverseVideo
|
|
||||||
Concealed
|
|
||||||
CrossedOut
|
|
||||||
)
|
|
||||||
|
|
||||||
// Foreground text colors
|
|
||||||
const (
|
|
||||||
FgBlack Attribute = iota + 30
|
|
||||||
FgRed
|
|
||||||
FgGreen
|
|
||||||
FgYellow
|
|
||||||
FgBlue
|
|
||||||
FgMagenta
|
|
||||||
FgCyan
|
|
||||||
FgWhite
|
|
||||||
)
|
|
||||||
|
|
||||||
// Background text colors
|
|
||||||
const (
|
|
||||||
BgBlack Attribute = iota + 40
|
|
||||||
BgRed
|
|
||||||
BgGreen
|
|
||||||
BgYellow
|
|
||||||
BgBlue
|
|
||||||
BgMagenta
|
|
||||||
BgCyan
|
|
||||||
BgWhite
|
|
||||||
)
|
|
||||||
|
|
||||||
// New returns a newly created color object.
|
|
||||||
func New(value ...Attribute) *Color {
|
|
||||||
c := &Color{params: make([]Attribute, 0)}
|
|
||||||
c.Add(value...)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set sets the given parameters immediately. It will change the color of
|
|
||||||
// output with the given SGR parameters until color.Unset() is called.
|
|
||||||
func Set(p ...Attribute) *Color {
|
|
||||||
c := New(p...)
|
|
||||||
c.Set()
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unset resets all escape attributes and clears the output. Usually should
|
|
||||||
// be called after Set().
|
|
||||||
func Unset() {
|
|
||||||
fmt.Fprintf(Output, "%s[%dm", escape, Reset)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add is used to chain SGR parameters. Use as many as parameters to combine
|
|
||||||
// and create custom color objects. Example: Add(color.FgRed, color.Underline).
|
|
||||||
func (c *Color) Add(value ...Attribute) *Color {
|
|
||||||
c.params = append(c.params, value...)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Color) prepend(value Attribute) {
|
|
||||||
c.params = append(c.params, 0)
|
|
||||||
copy(c.params[1:], c.params[0:])
|
|
||||||
c.params[0] = value
|
|
||||||
}
|
|
||||||
|
|
||||||
// Output defines the standard output of the print functions. By default
|
|
||||||
// os.Stdout is used.
|
|
||||||
var Output io.Writer = os.Stdout
|
|
||||||
|
|
||||||
// Print formats using the default formats for its operands and writes to
|
|
||||||
// standard output. Spaces are added between operands when neither is a
|
|
||||||
// string. It returns the number of bytes written and any write error
|
|
||||||
// encountered. This is the standard fmt.Print() method wrapped with the given
|
|
||||||
// color.
|
|
||||||
func (c *Color) Print(a ...interface{}) (n int, err error) {
|
|
||||||
c.Set()
|
|
||||||
defer Unset()
|
|
||||||
|
|
||||||
return fmt.Fprint(Output, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Printf formats according to a format specifier and writes to standard output.
|
|
||||||
// It returns the number of bytes written and any write error encountered.
|
|
||||||
// This is the standard fmt.Printf() method wrapped with the given color.
|
|
||||||
func (c *Color) Printf(format string, a ...interface{}) (n int, err error) {
|
|
||||||
c.Set()
|
|
||||||
defer Unset()
|
|
||||||
|
|
||||||
return fmt.Fprintf(Output, format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Println formats using the default formats for its operands and writes to
|
|
||||||
// standard output. Spaces are always added between operands and a newline is
|
|
||||||
// appended. It returns the number of bytes written and any write error
|
|
||||||
// encountered. This is the standard fmt.Print() method wrapped with the given
|
|
||||||
// color.
|
|
||||||
func (c *Color) Println(a ...interface{}) (n int, err error) {
|
|
||||||
c.Set()
|
|
||||||
defer Unset()
|
|
||||||
|
|
||||||
return fmt.Fprintln(Output, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// PrintFunc returns a new function that prints the passed arguments as
|
|
||||||
// colorized with color.Print().
|
|
||||||
func (c *Color) PrintFunc() func(a ...interface{}) {
|
|
||||||
return func(a ...interface{}) { c.Print(a...) }
|
|
||||||
}
|
|
||||||
|
|
||||||
// PrintfFunc returns a new function that prints the passed arguments as
|
|
||||||
// colorized with color.Printf().
|
|
||||||
func (c *Color) PrintfFunc() func(format string, a ...interface{}) {
|
|
||||||
return func(format string, a ...interface{}) { c.Printf(format, a...) }
|
|
||||||
}
|
|
||||||
|
|
||||||
// PrintlnFunc returns a new function that prints the passed arguments as
|
|
||||||
// colorized with color.Println().
|
|
||||||
func (c *Color) PrintlnFunc() func(a ...interface{}) {
|
|
||||||
return func(a ...interface{}) { c.Println(a...) }
|
|
||||||
}
|
|
||||||
|
|
||||||
// SprintFunc returns a new function that returns colorized strings for the
|
|
||||||
// given arguments with fmt.Sprint(). Useful to put into or mix into other
|
|
||||||
// string.
|
|
||||||
func (c *Color) SprintFunc() func(a ...interface{}) string {
|
|
||||||
return func(a ...interface{}) string {
|
|
||||||
return c.wrap(fmt.Sprint(a...))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SprintfFunc returns a new function that returns colorized strings for the
|
|
||||||
// given arguments with fmt.Sprintf(). Useful to put into or mix into other
|
|
||||||
// string.
|
|
||||||
func (c *Color) SprintfFunc() func(format string, a ...interface{}) string {
|
|
||||||
return func(format string, a ...interface{}) string {
|
|
||||||
return c.wrap(fmt.Sprintf(format, a...))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SprintlnFunc returns a new function that returns colorized strings for the
|
|
||||||
// given arguments with fmt.Sprintln(). Useful to put into or mix into other
|
|
||||||
// string.
|
|
||||||
func (c *Color) SprintlnFunc() func(a ...interface{}) string {
|
|
||||||
return func(a ...interface{}) string {
|
|
||||||
return c.wrap(fmt.Sprintln(a...))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// sequence returns a formated SGR sequence to be plugged into a "\x1b[...m"
|
|
||||||
// an example output might be: "1;36" -> bold cyan
|
|
||||||
func (c *Color) sequence() string {
|
|
||||||
format := make([]string, len(c.params))
|
|
||||||
for i, v := range c.params {
|
|
||||||
format[i] = strconv.Itoa(int(v))
|
|
||||||
}
|
|
||||||
|
|
||||||
return strings.Join(format, ";")
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Color) wrap(s string) string { return c.format() + s + c.unformat() }
|
|
||||||
|
|
||||||
func (c *Color) format() string { return fmt.Sprintf("%s[%sm", escape, c.sequence()) }
|
|
||||||
|
|
||||||
func (c *Color) unformat() string { return fmt.Sprintf("%s[%dm", escape, Reset) }
|
|
||||||
|
|
||||||
// Set sets the SGR sequence.
|
|
||||||
func (c *Color) Set() *Color {
|
|
||||||
fmt.Fprintf(Output, c.format())
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
// Black is an convenient helper function to print with black foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func Black(format string, a ...interface{}) { printColor(format, FgBlack, a...) }
|
|
||||||
|
|
||||||
// Red is an convenient helper function to print with red foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func Red(format string, a ...interface{}) { printColor(format, FgRed, a...) }
|
|
||||||
|
|
||||||
// Green is an convenient helper function to print with green foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func Green(format string, a ...interface{}) { printColor(format, FgGreen, a...) }
|
|
||||||
|
|
||||||
// Yellow is an convenient helper function to print with yellow foreground.
|
|
||||||
// A newline is appended to format by default.
|
|
||||||
func Yellow(format string, a ...interface{}) { printColor(format, FgYellow, a...) }
|
|
||||||
|
|
||||||
// Blue is an convenient helper function to print with blue foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func Blue(format string, a ...interface{}) { printColor(format, FgBlue, a...) }
|
|
||||||
|
|
||||||
// Magenta is an convenient helper function to print with magenta foreground.
|
|
||||||
// A newline is appended to format by default.
|
|
||||||
func Magenta(format string, a ...interface{}) { printColor(format, FgMagenta, a...) }
|
|
||||||
|
|
||||||
// Cyan is an convenient helper function to print with cyan foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func Cyan(format string, a ...interface{}) { printColor(format, FgCyan, a...) }
|
|
||||||
|
|
||||||
// White is an convenient helper function to print with white foreground. A
|
|
||||||
// newline is appended to format by default.
|
|
||||||
func White(format string, a ...interface{}) { printColor(format, FgWhite, a...) }
|
|
||||||
|
|
||||||
func printColor(format string, p Attribute, a ...interface{}) {
|
|
||||||
if !strings.HasSuffix(format, "\n") {
|
|
||||||
format += "\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
c := &Color{params: []Attribute{p}}
|
|
||||||
c.Printf(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// BlackString is an convenient helper function to return a string with black
|
|
||||||
// foreground.
|
|
||||||
func BlackString(format string, a ...interface{}) string {
|
|
||||||
return New(FgBlack).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RedString is an convenient helper function to return a string with red
|
|
||||||
// foreground.
|
|
||||||
func RedString(format string, a ...interface{}) string {
|
|
||||||
return New(FgRed).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GreenString is an convenient helper function to return a string with green
|
|
||||||
// foreground.
|
|
||||||
func GreenString(format string, a ...interface{}) string {
|
|
||||||
return New(FgGreen).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// YellowString is an convenient helper function to return a string with yellow
|
|
||||||
// foreground.
|
|
||||||
func YellowString(format string, a ...interface{}) string {
|
|
||||||
return New(FgYellow).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// BlueString is an convenient helper function to return a string with blue
|
|
||||||
// foreground.
|
|
||||||
func BlueString(format string, a ...interface{}) string {
|
|
||||||
return New(FgBlue).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// MagentaString is an convenient helper function to return a string with magenta
|
|
||||||
// foreground.
|
|
||||||
func MagentaString(format string, a ...interface{}) string {
|
|
||||||
return New(FgMagenta).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// CyanString is an convenient helper function to return a string with cyan
|
|
||||||
// foreground.
|
|
||||||
func CyanString(format string, a ...interface{}) string {
|
|
||||||
return New(FgCyan).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// WhiteString is an convenient helper function to return a string with white
|
|
||||||
// foreground.
|
|
||||||
func WhiteString(format string, a ...interface{}) string {
|
|
||||||
return New(FgWhite).SprintfFunc()(format, a...)
|
|
||||||
}
|
|
127
Godeps/_workspace/src/github.com/fatih/color/color_test.go
generated
vendored
127
Godeps/_workspace/src/github.com/fatih/color/color_test.go
generated
vendored
@ -1,127 +0,0 @@
|
|||||||
package color
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Testing colors is kinda different. First we test for given colors and their
|
|
||||||
// escaped formatted results. Next we create some visual tests to be tested.
|
|
||||||
// Each visual test includes the color name to be compared.
|
|
||||||
func TestColor(t *testing.T) {
|
|
||||||
rb := new(bytes.Buffer)
|
|
||||||
Output = rb
|
|
||||||
|
|
||||||
testColors := []struct {
|
|
||||||
text string
|
|
||||||
code Attribute
|
|
||||||
}{
|
|
||||||
{text: "black", code: FgBlack},
|
|
||||||
{text: "red", code: FgRed},
|
|
||||||
{text: "green", code: FgGreen},
|
|
||||||
{text: "yellow", code: FgYellow},
|
|
||||||
{text: "blue", code: FgBlue},
|
|
||||||
{text: "magent", code: FgMagenta},
|
|
||||||
{text: "cyan", code: FgCyan},
|
|
||||||
{text: "white", code: FgWhite},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, c := range testColors {
|
|
||||||
New(c.code).Print(c.text)
|
|
||||||
|
|
||||||
line, _ := rb.ReadString('\n')
|
|
||||||
scannedLine := fmt.Sprintf("%q", line)
|
|
||||||
colored := fmt.Sprintf("\x1b[%dm%s\x1b[0m", c.code, c.text)
|
|
||||||
escapedForm := fmt.Sprintf("%q", colored)
|
|
||||||
|
|
||||||
fmt.Printf("%s\t: %s\n", c.text, line)
|
|
||||||
|
|
||||||
if scannedLine != escapedForm {
|
|
||||||
t.Errorf("Expecting %s, got '%s'\n", escapedForm, scannedLine)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// First Visual Test
|
|
||||||
fmt.Println("")
|
|
||||||
Output = os.Stdout
|
|
||||||
|
|
||||||
New(FgRed).Printf("red\t")
|
|
||||||
New(BgRed).Print(" ")
|
|
||||||
New(FgRed, Bold).Println(" red")
|
|
||||||
|
|
||||||
New(FgGreen).Printf("green\t")
|
|
||||||
New(BgGreen).Print(" ")
|
|
||||||
New(FgGreen, Bold).Println(" green")
|
|
||||||
|
|
||||||
New(FgYellow).Printf("yellow\t")
|
|
||||||
New(BgYellow).Print(" ")
|
|
||||||
New(FgYellow, Bold).Println(" yellow")
|
|
||||||
|
|
||||||
New(FgBlue).Printf("blue\t")
|
|
||||||
New(BgBlue).Print(" ")
|
|
||||||
New(FgBlue, Bold).Println(" blue")
|
|
||||||
|
|
||||||
New(FgMagenta).Printf("magenta\t")
|
|
||||||
New(BgMagenta).Print(" ")
|
|
||||||
New(FgMagenta, Bold).Println(" magenta")
|
|
||||||
|
|
||||||
New(FgCyan).Printf("cyan\t")
|
|
||||||
New(BgCyan).Print(" ")
|
|
||||||
New(FgCyan, Bold).Println(" cyan")
|
|
||||||
|
|
||||||
New(FgWhite).Printf("white\t")
|
|
||||||
New(BgWhite).Print(" ")
|
|
||||||
New(FgWhite, Bold).Println(" white")
|
|
||||||
fmt.Println("")
|
|
||||||
|
|
||||||
// Second Visual test
|
|
||||||
Black("black")
|
|
||||||
Red("red")
|
|
||||||
Green("green")
|
|
||||||
Yellow("yellow")
|
|
||||||
Blue("blue")
|
|
||||||
Magenta("magenta")
|
|
||||||
Cyan("cyan")
|
|
||||||
White("white")
|
|
||||||
|
|
||||||
// Third visual test
|
|
||||||
fmt.Println()
|
|
||||||
Set(FgBlue)
|
|
||||||
fmt.Println("is this blue?")
|
|
||||||
Unset()
|
|
||||||
|
|
||||||
Set(FgMagenta)
|
|
||||||
fmt.Println("and this magenta?")
|
|
||||||
Unset()
|
|
||||||
|
|
||||||
// Fourth Visual test
|
|
||||||
fmt.Println()
|
|
||||||
blue := New(FgBlue).PrintlnFunc()
|
|
||||||
blue("blue text with custom print func")
|
|
||||||
|
|
||||||
red := New(FgRed).PrintfFunc()
|
|
||||||
red("red text with a printf func: %d\n", 123)
|
|
||||||
|
|
||||||
put := New(FgYellow).SprintFunc()
|
|
||||||
warn := New(FgRed).SprintFunc()
|
|
||||||
|
|
||||||
fmt.Printf("this is a %s and this is %s.\n", put("warning"), warn("error"))
|
|
||||||
|
|
||||||
info := New(FgWhite, BgGreen).SprintFunc()
|
|
||||||
fmt.Printf("this %s rocks!\n", info("package"))
|
|
||||||
|
|
||||||
// Fifth Visual Test
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
fmt.Println(BlackString("black"))
|
|
||||||
fmt.Println(RedString("red"))
|
|
||||||
fmt.Println(GreenString("green"))
|
|
||||||
fmt.Println(YellowString("yellow"))
|
|
||||||
fmt.Println(BlueString("blue"))
|
|
||||||
fmt.Println(MagentaString("magenta"))
|
|
||||||
fmt.Println(CyanString("cyan"))
|
|
||||||
fmt.Println(WhiteString("white"))
|
|
||||||
|
|
||||||
}
|
|
82
Godeps/_workspace/src/github.com/fatih/color/doc.go
generated
vendored
82
Godeps/_workspace/src/github.com/fatih/color/doc.go
generated
vendored
@ -1,82 +0,0 @@
|
|||||||
/*
|
|
||||||
Package color is an ANSI color package to output colorized or SGR defined
|
|
||||||
output to the standard output. The API can be used in several way, pick one
|
|
||||||
that suits you.
|
|
||||||
|
|
||||||
Use simple and default helper functions with predefined foreground colors:
|
|
||||||
|
|
||||||
color.Cyan("Prints text in cyan.")
|
|
||||||
|
|
||||||
// a newline will be appended automatically
|
|
||||||
color.Blue("Prints %s in blue.", "text")
|
|
||||||
|
|
||||||
// More default foreground colors..
|
|
||||||
color.Red("We have red")
|
|
||||||
color.Yellow("Yellow color too!")
|
|
||||||
color.Magenta("And many others ..")
|
|
||||||
|
|
||||||
However there are times where custom color mixes are required. Below are some
|
|
||||||
examples to create custom color objects and use the print functions of each
|
|
||||||
separate color object.
|
|
||||||
|
|
||||||
// Create a new color object
|
|
||||||
c := color.New(color.FgCyan).Add(color.Underline)
|
|
||||||
c.Println("Prints cyan text with an underline.")
|
|
||||||
|
|
||||||
// Or just add them to New()
|
|
||||||
d := color.New(color.FgCyan, color.Bold)
|
|
||||||
d.Printf("This prints bold cyan %s\n", "too!.")
|
|
||||||
|
|
||||||
|
|
||||||
// Mix up foreground and background colors, create new mixes!
|
|
||||||
red := color.New(color.FgRed)
|
|
||||||
|
|
||||||
boldRed := red.Add(color.Bold)
|
|
||||||
boldRed.Println("This will print text in bold red.")
|
|
||||||
|
|
||||||
whiteBackground := red.Add(color.BgWhite)
|
|
||||||
whiteBackground.Println("Red text with White background.")
|
|
||||||
|
|
||||||
|
|
||||||
You can create PrintXxx functions to simplify even more:
|
|
||||||
|
|
||||||
// Create a custom print function for convenient
|
|
||||||
red := color.New(color.FgRed).PrintfFunc()
|
|
||||||
red("warning")
|
|
||||||
red("error: %s", err)
|
|
||||||
|
|
||||||
// Mix up multiple attributes
|
|
||||||
notice := color.New(color.Bold, color.FgGreen).PrintlnFunc()
|
|
||||||
notice("don't forget this...")
|
|
||||||
|
|
||||||
|
|
||||||
Or create SprintXxx functions to mix strings with other non-colorized strings:
|
|
||||||
|
|
||||||
yellow := New(FgYellow).SprintFunc()
|
|
||||||
red := New(FgRed).SprintFunc()
|
|
||||||
|
|
||||||
fmt.Printf("this is a %s and this is %s.\n", yellow("warning"), red("error"))
|
|
||||||
|
|
||||||
info := New(FgWhite, BgGreen).SprintFunc()
|
|
||||||
fmt.Printf("this %s rocks!\n", info("package"))
|
|
||||||
|
|
||||||
|
|
||||||
Using with existing code is possible. Just use the Set() method to set the
|
|
||||||
standard output to the given parameters. That way a rewrite of an existing
|
|
||||||
code is not required.
|
|
||||||
|
|
||||||
// Use handy standard colors.
|
|
||||||
color.Set(color.FgYellow)
|
|
||||||
|
|
||||||
fmt.Println("Existing text will be now in Yellow")
|
|
||||||
fmt.Printf("This one %s\n", "too")
|
|
||||||
|
|
||||||
color.Unset() // don't forget to unset
|
|
||||||
|
|
||||||
// You can mix up parameters
|
|
||||||
color.Set(color.FgMagenta, color.Bold)
|
|
||||||
defer color.Unset() // use it in your function
|
|
||||||
|
|
||||||
fmt.Println("All text will be now bold magenta.")
|
|
||||||
*/
|
|
||||||
package color
|
|
42
Godeps/_workspace/src/github.com/mattn/go-colorable/README.md
generated
vendored
42
Godeps/_workspace/src/github.com/mattn/go-colorable/README.md
generated
vendored
@ -1,42 +0,0 @@
|
|||||||
# go-colorable
|
|
||||||
|
|
||||||
Colorable writer for windows.
|
|
||||||
|
|
||||||
For example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.)
|
|
||||||
This package is possible to handle escape sequence for ansi color on windows.
|
|
||||||
|
|
||||||
## Too Bad!
|
|
||||||
|
|
||||||
![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png)
|
|
||||||
|
|
||||||
|
|
||||||
## So Good!
|
|
||||||
|
|
||||||
![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png)
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```go
|
|
||||||
logrus.SetOutput(colorable.NewColorableStdout())
|
|
||||||
|
|
||||||
logrus.Info("succeeded")
|
|
||||||
logrus.Warn("not correct")
|
|
||||||
logrus.Error("something error")
|
|
||||||
logrus.Fatal("panic")
|
|
||||||
```
|
|
||||||
|
|
||||||
You can compile above code on non-windows OSs.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
```
|
|
||||||
$ go get github.com/mattn/go-colorable
|
|
||||||
```
|
|
||||||
|
|
||||||
# License
|
|
||||||
|
|
||||||
MIT
|
|
||||||
|
|
||||||
# Author
|
|
||||||
|
|
||||||
Yasuhiro Matsumoto (a.k.a mattn)
|
|
16
Godeps/_workspace/src/github.com/mattn/go-colorable/colorable_others.go
generated
vendored
16
Godeps/_workspace/src/github.com/mattn/go-colorable/colorable_others.go
generated
vendored
@ -1,16 +0,0 @@
|
|||||||
// +build !windows
|
|
||||||
|
|
||||||
package colorable
|
|
||||||
|
|
||||||
import (
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
func NewColorableStdout() io.Writer {
|
|
||||||
return os.Stdout
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewColorableStderr() io.Writer {
|
|
||||||
return os.Stderr
|
|
||||||
}
|
|
594
Godeps/_workspace/src/github.com/mattn/go-colorable/colorable_windows.go
generated
vendored
594
Godeps/_workspace/src/github.com/mattn/go-colorable/colorable_windows.go
generated
vendored
@ -1,594 +0,0 @@
|
|||||||
package colorable
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"os"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/github.com/mattn/go-isatty"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
foregroundBlue = 0x1
|
|
||||||
foregroundGreen = 0x2
|
|
||||||
foregroundRed = 0x4
|
|
||||||
foregroundIntensity = 0x8
|
|
||||||
foregroundMask = (foregroundRed | foregroundBlue | foregroundGreen | foregroundIntensity)
|
|
||||||
backgroundBlue = 0x10
|
|
||||||
backgroundGreen = 0x20
|
|
||||||
backgroundRed = 0x40
|
|
||||||
backgroundIntensity = 0x80
|
|
||||||
backgroundMask = (backgroundRed | backgroundBlue | backgroundGreen | backgroundIntensity)
|
|
||||||
)
|
|
||||||
|
|
||||||
type wchar uint16
|
|
||||||
type short int16
|
|
||||||
type dword uint32
|
|
||||||
type word uint16
|
|
||||||
|
|
||||||
type coord struct {
|
|
||||||
x short
|
|
||||||
y short
|
|
||||||
}
|
|
||||||
|
|
||||||
type smallRect struct {
|
|
||||||
left short
|
|
||||||
top short
|
|
||||||
right short
|
|
||||||
bottom short
|
|
||||||
}
|
|
||||||
|
|
||||||
type consoleScreenBufferInfo struct {
|
|
||||||
size coord
|
|
||||||
cursorPosition coord
|
|
||||||
attributes word
|
|
||||||
window smallRect
|
|
||||||
maximumWindowSize coord
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
|
||||||
procGetConsoleScreenBufferInfo = kernel32.NewProc("GetConsoleScreenBufferInfo")
|
|
||||||
procSetConsoleTextAttribute = kernel32.NewProc("SetConsoleTextAttribute")
|
|
||||||
)
|
|
||||||
|
|
||||||
type Writer struct {
|
|
||||||
out io.Writer
|
|
||||||
handle syscall.Handle
|
|
||||||
lastbuf bytes.Buffer
|
|
||||||
oldattr word
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewColorableStdout() io.Writer {
|
|
||||||
var csbi consoleScreenBufferInfo
|
|
||||||
out := os.Stdout
|
|
||||||
if !isatty.IsTerminal(out.Fd()) {
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
handle := syscall.Handle(out.Fd())
|
|
||||||
procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi)))
|
|
||||||
return &Writer{out: out, handle: handle, oldattr: csbi.attributes}
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewColorableStderr() io.Writer {
|
|
||||||
var csbi consoleScreenBufferInfo
|
|
||||||
out := os.Stderr
|
|
||||||
if !isatty.IsTerminal(out.Fd()) {
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
handle := syscall.Handle(out.Fd())
|
|
||||||
procGetConsoleScreenBufferInfo.Call(uintptr(handle), uintptr(unsafe.Pointer(&csbi)))
|
|
||||||
return &Writer{out: out, handle: handle, oldattr: csbi.attributes}
|
|
||||||
}
|
|
||||||
|
|
||||||
var color256 = map[int]int{
|
|
||||||
0: 0x000000,
|
|
||||||
1: 0x800000,
|
|
||||||
2: 0x008000,
|
|
||||||
3: 0x808000,
|
|
||||||
4: 0x000080,
|
|
||||||
5: 0x800080,
|
|
||||||
6: 0x008080,
|
|
||||||
7: 0xc0c0c0,
|
|
||||||
8: 0x808080,
|
|
||||||
9: 0xff0000,
|
|
||||||
10: 0x00ff00,
|
|
||||||
11: 0xffff00,
|
|
||||||
12: 0x0000ff,
|
|
||||||
13: 0xff00ff,
|
|
||||||
14: 0x00ffff,
|
|
||||||
15: 0xffffff,
|
|
||||||
16: 0x000000,
|
|
||||||
17: 0x00005f,
|
|
||||||
18: 0x000087,
|
|
||||||
19: 0x0000af,
|
|
||||||
20: 0x0000d7,
|
|
||||||
21: 0x0000ff,
|
|
||||||
22: 0x005f00,
|
|
||||||
23: 0x005f5f,
|
|
||||||
24: 0x005f87,
|
|
||||||
25: 0x005faf,
|
|
||||||
26: 0x005fd7,
|
|
||||||
27: 0x005fff,
|
|
||||||
28: 0x008700,
|
|
||||||
29: 0x00875f,
|
|
||||||
30: 0x008787,
|
|
||||||
31: 0x0087af,
|
|
||||||
32: 0x0087d7,
|
|
||||||
33: 0x0087ff,
|
|
||||||
34: 0x00af00,
|
|
||||||
35: 0x00af5f,
|
|
||||||
36: 0x00af87,
|
|
||||||
37: 0x00afaf,
|
|
||||||
38: 0x00afd7,
|
|
||||||
39: 0x00afff,
|
|
||||||
40: 0x00d700,
|
|
||||||
41: 0x00d75f,
|
|
||||||
42: 0x00d787,
|
|
||||||
43: 0x00d7af,
|
|
||||||
44: 0x00d7d7,
|
|
||||||
45: 0x00d7ff,
|
|
||||||
46: 0x00ff00,
|
|
||||||
47: 0x00ff5f,
|
|
||||||
48: 0x00ff87,
|
|
||||||
49: 0x00ffaf,
|
|
||||||
50: 0x00ffd7,
|
|
||||||
51: 0x00ffff,
|
|
||||||
52: 0x5f0000,
|
|
||||||
53: 0x5f005f,
|
|
||||||
54: 0x5f0087,
|
|
||||||
55: 0x5f00af,
|
|
||||||
56: 0x5f00d7,
|
|
||||||
57: 0x5f00ff,
|
|
||||||
58: 0x5f5f00,
|
|
||||||
59: 0x5f5f5f,
|
|
||||||
60: 0x5f5f87,
|
|
||||||
61: 0x5f5faf,
|
|
||||||
62: 0x5f5fd7,
|
|
||||||
63: 0x5f5fff,
|
|
||||||
64: 0x5f8700,
|
|
||||||
65: 0x5f875f,
|
|
||||||
66: 0x5f8787,
|
|
||||||
67: 0x5f87af,
|
|
||||||
68: 0x5f87d7,
|
|
||||||
69: 0x5f87ff,
|
|
||||||
70: 0x5faf00,
|
|
||||||
71: 0x5faf5f,
|
|
||||||
72: 0x5faf87,
|
|
||||||
73: 0x5fafaf,
|
|
||||||
74: 0x5fafd7,
|
|
||||||
75: 0x5fafff,
|
|
||||||
76: 0x5fd700,
|
|
||||||
77: 0x5fd75f,
|
|
||||||
78: 0x5fd787,
|
|
||||||
79: 0x5fd7af,
|
|
||||||
80: 0x5fd7d7,
|
|
||||||
81: 0x5fd7ff,
|
|
||||||
82: 0x5fff00,
|
|
||||||
83: 0x5fff5f,
|
|
||||||
84: 0x5fff87,
|
|
||||||
85: 0x5fffaf,
|
|
||||||
86: 0x5fffd7,
|
|
||||||
87: 0x5fffff,
|
|
||||||
88: 0x870000,
|
|
||||||
89: 0x87005f,
|
|
||||||
90: 0x870087,
|
|
||||||
91: 0x8700af,
|
|
||||||
92: 0x8700d7,
|
|
||||||
93: 0x8700ff,
|
|
||||||
94: 0x875f00,
|
|
||||||
95: 0x875f5f,
|
|
||||||
96: 0x875f87,
|
|
||||||
97: 0x875faf,
|
|
||||||
98: 0x875fd7,
|
|
||||||
99: 0x875fff,
|
|
||||||
100: 0x878700,
|
|
||||||
101: 0x87875f,
|
|
||||||
102: 0x878787,
|
|
||||||
103: 0x8787af,
|
|
||||||
104: 0x8787d7,
|
|
||||||
105: 0x8787ff,
|
|
||||||
106: 0x87af00,
|
|
||||||
107: 0x87af5f,
|
|
||||||
108: 0x87af87,
|
|
||||||
109: 0x87afaf,
|
|
||||||
110: 0x87afd7,
|
|
||||||
111: 0x87afff,
|
|
||||||
112: 0x87d700,
|
|
||||||
113: 0x87d75f,
|
|
||||||
114: 0x87d787,
|
|
||||||
115: 0x87d7af,
|
|
||||||
116: 0x87d7d7,
|
|
||||||
117: 0x87d7ff,
|
|
||||||
118: 0x87ff00,
|
|
||||||
119: 0x87ff5f,
|
|
||||||
120: 0x87ff87,
|
|
||||||
121: 0x87ffaf,
|
|
||||||
122: 0x87ffd7,
|
|
||||||
123: 0x87ffff,
|
|
||||||
124: 0xaf0000,
|
|
||||||
125: 0xaf005f,
|
|
||||||
126: 0xaf0087,
|
|
||||||
127: 0xaf00af,
|
|
||||||
128: 0xaf00d7,
|
|
||||||
129: 0xaf00ff,
|
|
||||||
130: 0xaf5f00,
|
|
||||||
131: 0xaf5f5f,
|
|
||||||
132: 0xaf5f87,
|
|
||||||
133: 0xaf5faf,
|
|
||||||
134: 0xaf5fd7,
|
|
||||||
135: 0xaf5fff,
|
|
||||||
136: 0xaf8700,
|
|
||||||
137: 0xaf875f,
|
|
||||||
138: 0xaf8787,
|
|
||||||
139: 0xaf87af,
|
|
||||||
140: 0xaf87d7,
|
|
||||||
141: 0xaf87ff,
|
|
||||||
142: 0xafaf00,
|
|
||||||
143: 0xafaf5f,
|
|
||||||
144: 0xafaf87,
|
|
||||||
145: 0xafafaf,
|
|
||||||
146: 0xafafd7,
|
|
||||||
147: 0xafafff,
|
|
||||||
148: 0xafd700,
|
|
||||||
149: 0xafd75f,
|
|
||||||
150: 0xafd787,
|
|
||||||
151: 0xafd7af,
|
|
||||||
152: 0xafd7d7,
|
|
||||||
153: 0xafd7ff,
|
|
||||||
154: 0xafff00,
|
|
||||||
155: 0xafff5f,
|
|
||||||
156: 0xafff87,
|
|
||||||
157: 0xafffaf,
|
|
||||||
158: 0xafffd7,
|
|
||||||
159: 0xafffff,
|
|
||||||
160: 0xd70000,
|
|
||||||
161: 0xd7005f,
|
|
||||||
162: 0xd70087,
|
|
||||||
163: 0xd700af,
|
|
||||||
164: 0xd700d7,
|
|
||||||
165: 0xd700ff,
|
|
||||||
166: 0xd75f00,
|
|
||||||
167: 0xd75f5f,
|
|
||||||
168: 0xd75f87,
|
|
||||||
169: 0xd75faf,
|
|
||||||
170: 0xd75fd7,
|
|
||||||
171: 0xd75fff,
|
|
||||||
172: 0xd78700,
|
|
||||||
173: 0xd7875f,
|
|
||||||
174: 0xd78787,
|
|
||||||
175: 0xd787af,
|
|
||||||
176: 0xd787d7,
|
|
||||||
177: 0xd787ff,
|
|
||||||
178: 0xd7af00,
|
|
||||||
179: 0xd7af5f,
|
|
||||||
180: 0xd7af87,
|
|
||||||
181: 0xd7afaf,
|
|
||||||
182: 0xd7afd7,
|
|
||||||
183: 0xd7afff,
|
|
||||||
184: 0xd7d700,
|
|
||||||
185: 0xd7d75f,
|
|
||||||
186: 0xd7d787,
|
|
||||||
187: 0xd7d7af,
|
|
||||||
188: 0xd7d7d7,
|
|
||||||
189: 0xd7d7ff,
|
|
||||||
190: 0xd7ff00,
|
|
||||||
191: 0xd7ff5f,
|
|
||||||
192: 0xd7ff87,
|
|
||||||
193: 0xd7ffaf,
|
|
||||||
194: 0xd7ffd7,
|
|
||||||
195: 0xd7ffff,
|
|
||||||
196: 0xff0000,
|
|
||||||
197: 0xff005f,
|
|
||||||
198: 0xff0087,
|
|
||||||
199: 0xff00af,
|
|
||||||
200: 0xff00d7,
|
|
||||||
201: 0xff00ff,
|
|
||||||
202: 0xff5f00,
|
|
||||||
203: 0xff5f5f,
|
|
||||||
204: 0xff5f87,
|
|
||||||
205: 0xff5faf,
|
|
||||||
206: 0xff5fd7,
|
|
||||||
207: 0xff5fff,
|
|
||||||
208: 0xff8700,
|
|
||||||
209: 0xff875f,
|
|
||||||
210: 0xff8787,
|
|
||||||
211: 0xff87af,
|
|
||||||
212: 0xff87d7,
|
|
||||||
213: 0xff87ff,
|
|
||||||
214: 0xffaf00,
|
|
||||||
215: 0xffaf5f,
|
|
||||||
216: 0xffaf87,
|
|
||||||
217: 0xffafaf,
|
|
||||||
218: 0xffafd7,
|
|
||||||
219: 0xffafff,
|
|
||||||
220: 0xffd700,
|
|
||||||
221: 0xffd75f,
|
|
||||||
222: 0xffd787,
|
|
||||||
223: 0xffd7af,
|
|
||||||
224: 0xffd7d7,
|
|
||||||
225: 0xffd7ff,
|
|
||||||
226: 0xffff00,
|
|
||||||
227: 0xffff5f,
|
|
||||||
228: 0xffff87,
|
|
||||||
229: 0xffffaf,
|
|
||||||
230: 0xffffd7,
|
|
||||||
231: 0xffffff,
|
|
||||||
232: 0x080808,
|
|
||||||
233: 0x121212,
|
|
||||||
234: 0x1c1c1c,
|
|
||||||
235: 0x262626,
|
|
||||||
236: 0x303030,
|
|
||||||
237: 0x3a3a3a,
|
|
||||||
238: 0x444444,
|
|
||||||
239: 0x4e4e4e,
|
|
||||||
240: 0x585858,
|
|
||||||
241: 0x626262,
|
|
||||||
242: 0x6c6c6c,
|
|
||||||
243: 0x767676,
|
|
||||||
244: 0x808080,
|
|
||||||
245: 0x8a8a8a,
|
|
||||||
246: 0x949494,
|
|
||||||
247: 0x9e9e9e,
|
|
||||||
248: 0xa8a8a8,
|
|
||||||
249: 0xb2b2b2,
|
|
||||||
250: 0xbcbcbc,
|
|
||||||
251: 0xc6c6c6,
|
|
||||||
252: 0xd0d0d0,
|
|
||||||
253: 0xdadada,
|
|
||||||
254: 0xe4e4e4,
|
|
||||||
255: 0xeeeeee,
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *Writer) Write(data []byte) (n int, err error) {
|
|
||||||
var csbi consoleScreenBufferInfo
|
|
||||||
procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))
|
|
||||||
|
|
||||||
er := bytes.NewBuffer(data)
|
|
||||||
loop:
|
|
||||||
for {
|
|
||||||
r1, _, err := procGetConsoleScreenBufferInfo.Call(uintptr(w.handle), uintptr(unsafe.Pointer(&csbi)))
|
|
||||||
if r1 == 0 {
|
|
||||||
break loop
|
|
||||||
}
|
|
||||||
|
|
||||||
c1, _, err := er.ReadRune()
|
|
||||||
if err != nil {
|
|
||||||
break loop
|
|
||||||
}
|
|
||||||
if c1 != 0x1b {
|
|
||||||
fmt.Fprint(w.out, string(c1))
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
c2, _, err := er.ReadRune()
|
|
||||||
if err != nil {
|
|
||||||
w.lastbuf.WriteRune(c1)
|
|
||||||
break loop
|
|
||||||
}
|
|
||||||
if c2 != 0x5b {
|
|
||||||
w.lastbuf.WriteRune(c1)
|
|
||||||
w.lastbuf.WriteRune(c2)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
var buf bytes.Buffer
|
|
||||||
var m rune
|
|
||||||
for {
|
|
||||||
c, _, err := er.ReadRune()
|
|
||||||
if err != nil {
|
|
||||||
w.lastbuf.WriteRune(c1)
|
|
||||||
w.lastbuf.WriteRune(c2)
|
|
||||||
w.lastbuf.Write(buf.Bytes())
|
|
||||||
break loop
|
|
||||||
}
|
|
||||||
if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' {
|
|
||||||
m = c
|
|
||||||
break
|
|
||||||
}
|
|
||||||
buf.Write([]byte(string(c)))
|
|
||||||
}
|
|
||||||
|
|
||||||
switch m {
|
|
||||||
case 'm':
|
|
||||||
attr := csbi.attributes
|
|
||||||
cs := buf.String()
|
|
||||||
if cs == "" {
|
|
||||||
procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(w.oldattr))
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
token := strings.Split(cs, ";")
|
|
||||||
for i, ns := range token {
|
|
||||||
if n, err = strconv.Atoi(ns); err == nil {
|
|
||||||
switch {
|
|
||||||
case n == 0 || n == 100:
|
|
||||||
attr = w.oldattr
|
|
||||||
case 1 <= n && n <= 5:
|
|
||||||
attr |= foregroundIntensity
|
|
||||||
case n == 7:
|
|
||||||
attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4)
|
|
||||||
case 22 == n || n == 25 || n == 25:
|
|
||||||
attr |= foregroundIntensity
|
|
||||||
case n == 27:
|
|
||||||
attr = ((attr & foregroundMask) << 4) | ((attr & backgroundMask) >> 4)
|
|
||||||
case 30 <= n && n <= 37:
|
|
||||||
attr = (attr & backgroundMask)
|
|
||||||
if (n-30)&1 != 0 {
|
|
||||||
attr |= foregroundRed
|
|
||||||
}
|
|
||||||
if (n-30)&2 != 0 {
|
|
||||||
attr |= foregroundGreen
|
|
||||||
}
|
|
||||||
if (n-30)&4 != 0 {
|
|
||||||
attr |= foregroundBlue
|
|
||||||
}
|
|
||||||
case n == 38: // set foreground color.
|
|
||||||
if i < len(token)-2 && token[i+1] == "5" {
|
|
||||||
if n256, err := strconv.Atoi(token[i+2]); err == nil {
|
|
||||||
if n256foreAttr == nil {
|
|
||||||
n256setup()
|
|
||||||
}
|
|
||||||
attr &= backgroundMask
|
|
||||||
attr |= n256foreAttr[n256]
|
|
||||||
i += 2
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
attr = attr & (w.oldattr & backgroundMask)
|
|
||||||
}
|
|
||||||
case n == 39: // reset foreground color.
|
|
||||||
attr &= backgroundMask
|
|
||||||
attr |= w.oldattr & foregroundMask
|
|
||||||
case 40 <= n && n <= 47:
|
|
||||||
attr = (attr & foregroundMask)
|
|
||||||
if (n-40)&1 != 0 {
|
|
||||||
attr |= backgroundRed
|
|
||||||
}
|
|
||||||
if (n-40)&2 != 0 {
|
|
||||||
attr |= backgroundGreen
|
|
||||||
}
|
|
||||||
if (n-40)&4 != 0 {
|
|
||||||
attr |= backgroundBlue
|
|
||||||
}
|
|
||||||
case n == 48: // set background color.
|
|
||||||
if i < len(token)-2 && token[i+1] == "5" {
|
|
||||||
if n256, err := strconv.Atoi(token[i+2]); err == nil {
|
|
||||||
if n256backAttr == nil {
|
|
||||||
n256setup()
|
|
||||||
}
|
|
||||||
attr &= foregroundMask
|
|
||||||
attr |= n256backAttr[n256]
|
|
||||||
i += 2
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
attr = attr & (w.oldattr & foregroundMask)
|
|
||||||
}
|
|
||||||
case n == 49: // reset foreground color.
|
|
||||||
attr &= foregroundMask
|
|
||||||
attr |= w.oldattr & backgroundMask
|
|
||||||
}
|
|
||||||
procSetConsoleTextAttribute.Call(uintptr(w.handle), uintptr(attr))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return len(data) - w.lastbuf.Len(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type consoleColor struct {
|
|
||||||
red bool
|
|
||||||
green bool
|
|
||||||
blue bool
|
|
||||||
intensity bool
|
|
||||||
}
|
|
||||||
|
|
||||||
func minmax3(a, b, c int) (min, max int) {
|
|
||||||
if a < b {
|
|
||||||
if b < c {
|
|
||||||
return a, c
|
|
||||||
} else if a < c {
|
|
||||||
return a, b
|
|
||||||
} else {
|
|
||||||
return c, b
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if a < c {
|
|
||||||
return b, c
|
|
||||||
} else if b < c {
|
|
||||||
return b, a
|
|
||||||
} else {
|
|
||||||
return c, a
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func toConsoleColor(rgb int) (c consoleColor) {
|
|
||||||
r, g, b := (rgb&0xFF0000)>>16, (rgb&0x00FF00)>>8, rgb&0x0000FF
|
|
||||||
min, max := minmax3(r, g, b)
|
|
||||||
a := (min + max) / 2
|
|
||||||
if r < 128 && g < 128 && b < 128 {
|
|
||||||
if r >= a {
|
|
||||||
c.red = true
|
|
||||||
}
|
|
||||||
if g >= a {
|
|
||||||
c.green = true
|
|
||||||
}
|
|
||||||
if b >= a {
|
|
||||||
c.blue = true
|
|
||||||
}
|
|
||||||
// non-intensed white is lighter than intensed black, so swap those.
|
|
||||||
if c.red && c.green && c.blue {
|
|
||||||
c.red, c.green, c.blue = false, false, false
|
|
||||||
c.intensity = true
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if min < 128 {
|
|
||||||
min = 128
|
|
||||||
a = (min + max) / 2
|
|
||||||
}
|
|
||||||
if r >= a {
|
|
||||||
c.red = true
|
|
||||||
}
|
|
||||||
if g >= a {
|
|
||||||
c.green = true
|
|
||||||
}
|
|
||||||
if b >= a {
|
|
||||||
c.blue = true
|
|
||||||
}
|
|
||||||
c.intensity = true
|
|
||||||
// intensed black is darker than non-intensed white, so swap those.
|
|
||||||
if !c.red && !c.green && !c.blue {
|
|
||||||
c.red, c.green, c.blue = true, true, true
|
|
||||||
c.intensity = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c consoleColor) foregroundAttr() (attr word) {
|
|
||||||
if c.red {
|
|
||||||
attr |= foregroundRed
|
|
||||||
}
|
|
||||||
if c.green {
|
|
||||||
attr |= foregroundGreen
|
|
||||||
}
|
|
||||||
if c.blue {
|
|
||||||
attr |= foregroundBlue
|
|
||||||
}
|
|
||||||
if c.intensity {
|
|
||||||
attr |= foregroundIntensity
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c consoleColor) backgroundAttr() (attr word) {
|
|
||||||
if c.red {
|
|
||||||
attr |= backgroundRed
|
|
||||||
}
|
|
||||||
if c.green {
|
|
||||||
attr |= backgroundGreen
|
|
||||||
}
|
|
||||||
if c.blue {
|
|
||||||
attr |= backgroundBlue
|
|
||||||
}
|
|
||||||
if c.intensity {
|
|
||||||
attr |= backgroundIntensity
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var n256foreAttr []word
|
|
||||||
var n256backAttr []word
|
|
||||||
|
|
||||||
func n256setup() {
|
|
||||||
n256foreAttr = make([]word, 256)
|
|
||||||
n256backAttr = make([]word, 256)
|
|
||||||
for i, rgb := range color256 {
|
|
||||||
c := toConsoleColor(rgb)
|
|
||||||
n256foreAttr[i] = c.foregroundAttr()
|
|
||||||
n256backAttr[i] = c.backgroundAttr()
|
|
||||||
}
|
|
||||||
}
|
|
37
Godeps/_workspace/src/github.com/mattn/go-isatty/README.md
generated
vendored
37
Godeps/_workspace/src/github.com/mattn/go-isatty/README.md
generated
vendored
@ -1,37 +0,0 @@
|
|||||||
# go-isatty
|
|
||||||
|
|
||||||
isatty for golang
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"github.com/mattn/go-isatty"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
if isatty.IsTerminal(os.Stdout.Fd()) {
|
|
||||||
fmt.Println("Is Terminal")
|
|
||||||
} else {
|
|
||||||
fmt.Println("Is Not Terminal")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
```
|
|
||||||
$ go get github.com/mattn/go-isatty
|
|
||||||
```
|
|
||||||
|
|
||||||
# License
|
|
||||||
|
|
||||||
MIT
|
|
||||||
|
|
||||||
# Author
|
|
||||||
|
|
||||||
Yasuhiro Matsumoto (a.k.a mattn)
|
|
2
Godeps/_workspace/src/github.com/mattn/go-isatty/doc.go
generated
vendored
2
Godeps/_workspace/src/github.com/mattn/go-isatty/doc.go
generated
vendored
@ -1,2 +0,0 @@
|
|||||||
// Package isatty implements interface to isatty
|
|
||||||
package isatty
|
|
17
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_bsd.go
generated
vendored
17
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_bsd.go
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
// +build darwin freebsd openbsd
|
|
||||||
|
|
||||||
package isatty
|
|
||||||
|
|
||||||
import (
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
const ioctlReadTermios = syscall.TIOCGETA
|
|
||||||
|
|
||||||
// IsTerminal return true if the file descriptor is terminal.
|
|
||||||
func IsTerminal(fd uintptr) bool {
|
|
||||||
var termios syscall.Termios
|
|
||||||
_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
|
|
||||||
return err == 0
|
|
||||||
}
|
|
17
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_linux.go
generated
vendored
17
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_linux.go
generated
vendored
@ -1,17 +0,0 @@
|
|||||||
// +build linux
|
|
||||||
|
|
||||||
package isatty
|
|
||||||
|
|
||||||
import (
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
const ioctlReadTermios = syscall.TCGETS
|
|
||||||
|
|
||||||
// IsTerminal return true if the file descriptor is terminal.
|
|
||||||
func IsTerminal(fd uintptr) bool {
|
|
||||||
var termios syscall.Termios
|
|
||||||
_, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
|
|
||||||
return err == 0
|
|
||||||
}
|
|
18
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_windows.go
generated
vendored
18
Godeps/_workspace/src/github.com/mattn/go-isatty/isatty_windows.go
generated
vendored
@ -1,18 +0,0 @@
|
|||||||
// +build windows
|
|
||||||
|
|
||||||
package isatty
|
|
||||||
|
|
||||||
import (
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
var kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
|
||||||
var procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
|
|
||||||
|
|
||||||
// IsTerminal return true if the file descriptor is terminal.
|
|
||||||
func IsTerminal(fd uintptr) bool {
|
|
||||||
var st uint32
|
|
||||||
r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
|
|
||||||
return r != 0 && e == 0
|
|
||||||
}
|
|
78
Godeps/_workspace/src/golang.org/x/net/html/atom/atom.go
generated
vendored
78
Godeps/_workspace/src/golang.org/x/net/html/atom/atom.go
generated
vendored
@ -1,78 +0,0 @@
|
|||||||
// Copyright 2012 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// Package atom provides integer codes (also known as atoms) for a fixed set of
|
|
||||||
// frequently occurring HTML strings: tag names and attribute keys such as "p"
|
|
||||||
// and "id".
|
|
||||||
//
|
|
||||||
// Sharing an atom's name between all elements with the same tag can result in
|
|
||||||
// fewer string allocations when tokenizing and parsing HTML. Integer
|
|
||||||
// comparisons are also generally faster than string comparisons.
|
|
||||||
//
|
|
||||||
// The value of an atom's particular code is not guaranteed to stay the same
|
|
||||||
// between versions of this package. Neither is any ordering guaranteed:
|
|
||||||
// whether atom.H1 < atom.H2 may also change. The codes are not guaranteed to
|
|
||||||
// be dense. The only guarantees are that e.g. looking up "div" will yield
|
|
||||||
// atom.Div, calling atom.Div.String will return "div", and atom.Div != 0.
|
|
||||||
package atom
|
|
||||||
|
|
||||||
// Atom is an integer code for a string. The zero value maps to "".
|
|
||||||
type Atom uint32
|
|
||||||
|
|
||||||
// String returns the atom's name.
|
|
||||||
func (a Atom) String() string {
|
|
||||||
start := uint32(a >> 8)
|
|
||||||
n := uint32(a & 0xff)
|
|
||||||
if start+n > uint32(len(atomText)) {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return atomText[start : start+n]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a Atom) string() string {
|
|
||||||
return atomText[a>>8 : a>>8+a&0xff]
|
|
||||||
}
|
|
||||||
|
|
||||||
// fnv computes the FNV hash with an arbitrary starting value h.
|
|
||||||
func fnv(h uint32, s []byte) uint32 {
|
|
||||||
for i := range s {
|
|
||||||
h ^= uint32(s[i])
|
|
||||||
h *= 16777619
|
|
||||||
}
|
|
||||||
return h
|
|
||||||
}
|
|
||||||
|
|
||||||
func match(s string, t []byte) bool {
|
|
||||||
for i, c := range t {
|
|
||||||
if s[i] != c {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lookup returns the atom whose name is s. It returns zero if there is no
|
|
||||||
// such atom. The lookup is case sensitive.
|
|
||||||
func Lookup(s []byte) Atom {
|
|
||||||
if len(s) == 0 || len(s) > maxAtomLen {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
h := fnv(hash0, s)
|
|
||||||
if a := table[h&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) {
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
if a := table[(h>>16)&uint32(len(table)-1)]; int(a&0xff) == len(s) && match(a.string(), s) {
|
|
||||||
return a
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// String returns a string whose contents are equal to s. In that sense, it is
|
|
||||||
// equivalent to string(s) but may be more efficient.
|
|
||||||
func String(s []byte) string {
|
|
||||||
if a := Lookup(s); a != 0 {
|
|
||||||
return a.String()
|
|
||||||
}
|
|
||||||
return string(s)
|
|
||||||
}
|
|
109
Godeps/_workspace/src/golang.org/x/net/html/atom/atom_test.go
generated
vendored
109
Godeps/_workspace/src/golang.org/x/net/html/atom/atom_test.go
generated
vendored
@ -1,109 +0,0 @@
|
|||||||
// Copyright 2012 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package atom
|
|
||||||
|
|
||||||
import (
|
|
||||||
"sort"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestKnown(t *testing.T) {
|
|
||||||
for _, s := range testAtomList {
|
|
||||||
if atom := Lookup([]byte(s)); atom.String() != s {
|
|
||||||
t.Errorf("Lookup(%q) = %#x (%q)", s, uint32(atom), atom.String())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestHits(t *testing.T) {
|
|
||||||
for _, a := range table {
|
|
||||||
if a == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
got := Lookup([]byte(a.String()))
|
|
||||||
if got != a {
|
|
||||||
t.Errorf("Lookup(%q) = %#x, want %#x", a.String(), uint32(got), uint32(a))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestMisses(t *testing.T) {
|
|
||||||
testCases := []string{
|
|
||||||
"",
|
|
||||||
"\x00",
|
|
||||||
"\xff",
|
|
||||||
"A",
|
|
||||||
"DIV",
|
|
||||||
"Div",
|
|
||||||
"dIV",
|
|
||||||
"aa",
|
|
||||||
"a\x00",
|
|
||||||
"ab",
|
|
||||||
"abb",
|
|
||||||
"abbr0",
|
|
||||||
"abbr ",
|
|
||||||
" abbr",
|
|
||||||
" a",
|
|
||||||
"acceptcharset",
|
|
||||||
"acceptCharset",
|
|
||||||
"accept_charset",
|
|
||||||
"h0",
|
|
||||||
"h1h2",
|
|
||||||
"h7",
|
|
||||||
"onClick",
|
|
||||||
"λ",
|
|
||||||
// The following string has the same hash (0xa1d7fab7) as "onmouseover".
|
|
||||||
"\x00\x00\x00\x00\x00\x50\x18\xae\x38\xd0\xb7",
|
|
||||||
}
|
|
||||||
for _, tc := range testCases {
|
|
||||||
got := Lookup([]byte(tc))
|
|
||||||
if got != 0 {
|
|
||||||
t.Errorf("Lookup(%q): got %d, want 0", tc, got)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestForeignObject(t *testing.T) {
|
|
||||||
const (
|
|
||||||
afo = Foreignobject
|
|
||||||
afO = ForeignObject
|
|
||||||
sfo = "foreignobject"
|
|
||||||
sfO = "foreignObject"
|
|
||||||
)
|
|
||||||
if got := Lookup([]byte(sfo)); got != afo {
|
|
||||||
t.Errorf("Lookup(%q): got %#v, want %#v", sfo, got, afo)
|
|
||||||
}
|
|
||||||
if got := Lookup([]byte(sfO)); got != afO {
|
|
||||||
t.Errorf("Lookup(%q): got %#v, want %#v", sfO, got, afO)
|
|
||||||
}
|
|
||||||
if got := afo.String(); got != sfo {
|
|
||||||
t.Errorf("Atom(%#v).String(): got %q, want %q", afo, got, sfo)
|
|
||||||
}
|
|
||||||
if got := afO.String(); got != sfO {
|
|
||||||
t.Errorf("Atom(%#v).String(): got %q, want %q", afO, got, sfO)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkLookup(b *testing.B) {
|
|
||||||
sortedTable := make([]string, 0, len(table))
|
|
||||||
for _, a := range table {
|
|
||||||
if a != 0 {
|
|
||||||
sortedTable = append(sortedTable, a.String())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sort.Strings(sortedTable)
|
|
||||||
|
|
||||||
x := make([][]byte, 1000)
|
|
||||||
for i := range x {
|
|
||||||
x[i] = []byte(sortedTable[i%len(sortedTable)])
|
|
||||||
}
|
|
||||||
|
|
||||||
b.ResetTimer()
|
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
for _, s := range x {
|
|
||||||
Lookup(s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
636
Godeps/_workspace/src/golang.org/x/net/html/atom/gen.go
generated
vendored
636
Godeps/_workspace/src/golang.org/x/net/html/atom/gen.go
generated
vendored
@ -1,636 +0,0 @@
|
|||||||
// Copyright 2012 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build ignore
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
// This program generates table.go and table_test.go.
|
|
||||||
// Invoke as
|
|
||||||
//
|
|
||||||
// go run gen.go |gofmt >table.go
|
|
||||||
// go run gen.go -test |gofmt >table_test.go
|
|
||||||
|
|
||||||
import (
|
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
"math/rand"
|
|
||||||
"os"
|
|
||||||
"sort"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// identifier converts s to a Go exported identifier.
|
|
||||||
// It converts "div" to "Div" and "accept-charset" to "AcceptCharset".
|
|
||||||
func identifier(s string) string {
|
|
||||||
b := make([]byte, 0, len(s))
|
|
||||||
cap := true
|
|
||||||
for _, c := range s {
|
|
||||||
if c == '-' {
|
|
||||||
cap = true
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if cap && 'a' <= c && c <= 'z' {
|
|
||||||
c -= 'a' - 'A'
|
|
||||||
}
|
|
||||||
cap = false
|
|
||||||
b = append(b, byte(c))
|
|
||||||
}
|
|
||||||
return string(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
var test = flag.Bool("test", false, "generate table_test.go")
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
flag.Parse()
|
|
||||||
|
|
||||||
var all []string
|
|
||||||
all = append(all, elements...)
|
|
||||||
all = append(all, attributes...)
|
|
||||||
all = append(all, eventHandlers...)
|
|
||||||
all = append(all, extra...)
|
|
||||||
sort.Strings(all)
|
|
||||||
|
|
||||||
if *test {
|
|
||||||
fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n")
|
|
||||||
fmt.Printf("package atom\n\n")
|
|
||||||
fmt.Printf("var testAtomList = []string{\n")
|
|
||||||
for _, s := range all {
|
|
||||||
fmt.Printf("\t%q,\n", s)
|
|
||||||
}
|
|
||||||
fmt.Printf("}\n")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// uniq - lists have dups
|
|
||||||
// compute max len too
|
|
||||||
maxLen := 0
|
|
||||||
w := 0
|
|
||||||
for _, s := range all {
|
|
||||||
if w == 0 || all[w-1] != s {
|
|
||||||
if maxLen < len(s) {
|
|
||||||
maxLen = len(s)
|
|
||||||
}
|
|
||||||
all[w] = s
|
|
||||||
w++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
all = all[:w]
|
|
||||||
|
|
||||||
// Find hash that minimizes table size.
|
|
||||||
var best *table
|
|
||||||
for i := 0; i < 1000000; i++ {
|
|
||||||
if best != nil && 1<<(best.k-1) < len(all) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
h := rand.Uint32()
|
|
||||||
for k := uint(0); k <= 16; k++ {
|
|
||||||
if best != nil && k >= best.k {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
var t table
|
|
||||||
if t.init(h, k, all) {
|
|
||||||
best = &t
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if best == nil {
|
|
||||||
fmt.Fprintf(os.Stderr, "failed to construct string table\n")
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lay out strings, using overlaps when possible.
|
|
||||||
layout := append([]string{}, all...)
|
|
||||||
|
|
||||||
// Remove strings that are substrings of other strings
|
|
||||||
for changed := true; changed; {
|
|
||||||
changed = false
|
|
||||||
for i, s := range layout {
|
|
||||||
if s == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for j, t := range layout {
|
|
||||||
if i != j && t != "" && strings.Contains(s, t) {
|
|
||||||
changed = true
|
|
||||||
layout[j] = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Join strings where one suffix matches another prefix.
|
|
||||||
for {
|
|
||||||
// Find best i, j, k such that layout[i][len-k:] == layout[j][:k],
|
|
||||||
// maximizing overlap length k.
|
|
||||||
besti := -1
|
|
||||||
bestj := -1
|
|
||||||
bestk := 0
|
|
||||||
for i, s := range layout {
|
|
||||||
if s == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for j, t := range layout {
|
|
||||||
if i == j {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
for k := bestk + 1; k <= len(s) && k <= len(t); k++ {
|
|
||||||
if s[len(s)-k:] == t[:k] {
|
|
||||||
besti = i
|
|
||||||
bestj = j
|
|
||||||
bestk = k
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if bestk > 0 {
|
|
||||||
layout[besti] += layout[bestj][bestk:]
|
|
||||||
layout[bestj] = ""
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
text := strings.Join(layout, "")
|
|
||||||
|
|
||||||
atom := map[string]uint32{}
|
|
||||||
for _, s := range all {
|
|
||||||
off := strings.Index(text, s)
|
|
||||||
if off < 0 {
|
|
||||||
panic("lost string " + s)
|
|
||||||
}
|
|
||||||
atom[s] = uint32(off<<8 | len(s))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate the Go code.
|
|
||||||
fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n")
|
|
||||||
fmt.Printf("package atom\n\nconst (\n")
|
|
||||||
for _, s := range all {
|
|
||||||
fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s])
|
|
||||||
}
|
|
||||||
fmt.Printf(")\n\n")
|
|
||||||
|
|
||||||
fmt.Printf("const hash0 = %#x\n\n", best.h0)
|
|
||||||
fmt.Printf("const maxAtomLen = %d\n\n", maxLen)
|
|
||||||
|
|
||||||
fmt.Printf("var table = [1<<%d]Atom{\n", best.k)
|
|
||||||
for i, s := range best.tab {
|
|
||||||
if s == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s)
|
|
||||||
}
|
|
||||||
fmt.Printf("}\n")
|
|
||||||
datasize := (1 << best.k) * 4
|
|
||||||
|
|
||||||
fmt.Printf("const atomText =\n")
|
|
||||||
textsize := len(text)
|
|
||||||
for len(text) > 60 {
|
|
||||||
fmt.Printf("\t%q +\n", text[:60])
|
|
||||||
text = text[60:]
|
|
||||||
}
|
|
||||||
fmt.Printf("\t%q\n\n", text)
|
|
||||||
|
|
||||||
fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize)
|
|
||||||
}
|
|
||||||
|
|
||||||
type byLen []string
|
|
||||||
|
|
||||||
func (x byLen) Less(i, j int) bool { return len(x[i]) > len(x[j]) }
|
|
||||||
func (x byLen) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
|
|
||||||
func (x byLen) Len() int { return len(x) }
|
|
||||||
|
|
||||||
// fnv computes the FNV hash with an arbitrary starting value h.
|
|
||||||
func fnv(h uint32, s string) uint32 {
|
|
||||||
for i := 0; i < len(s); i++ {
|
|
||||||
h ^= uint32(s[i])
|
|
||||||
h *= 16777619
|
|
||||||
}
|
|
||||||
return h
|
|
||||||
}
|
|
||||||
|
|
||||||
// A table represents an attempt at constructing the lookup table.
|
|
||||||
// The lookup table uses cuckoo hashing, meaning that each string
|
|
||||||
// can be found in one of two positions.
|
|
||||||
type table struct {
|
|
||||||
h0 uint32
|
|
||||||
k uint
|
|
||||||
mask uint32
|
|
||||||
tab []string
|
|
||||||
}
|
|
||||||
|
|
||||||
// hash returns the two hashes for s.
|
|
||||||
func (t *table) hash(s string) (h1, h2 uint32) {
|
|
||||||
h := fnv(t.h0, s)
|
|
||||||
h1 = h & t.mask
|
|
||||||
h2 = (h >> 16) & t.mask
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// init initializes the table with the given parameters.
|
|
||||||
// h0 is the initial hash value,
|
|
||||||
// k is the number of bits of hash value to use, and
|
|
||||||
// x is the list of strings to store in the table.
|
|
||||||
// init returns false if the table cannot be constructed.
|
|
||||||
func (t *table) init(h0 uint32, k uint, x []string) bool {
|
|
||||||
t.h0 = h0
|
|
||||||
t.k = k
|
|
||||||
t.tab = make([]string, 1<<k)
|
|
||||||
t.mask = 1<<k - 1
|
|
||||||
for _, s := range x {
|
|
||||||
if !t.insert(s) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// insert inserts s in the table.
|
|
||||||
func (t *table) insert(s string) bool {
|
|
||||||
h1, h2 := t.hash(s)
|
|
||||||
if t.tab[h1] == "" {
|
|
||||||
t.tab[h1] = s
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if t.tab[h2] == "" {
|
|
||||||
t.tab[h2] = s
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if t.push(h1, 0) {
|
|
||||||
t.tab[h1] = s
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if t.push(h2, 0) {
|
|
||||||
t.tab[h2] = s
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// push attempts to push aside the entry in slot i.
|
|
||||||
func (t *table) push(i uint32, depth int) bool {
|
|
||||||
if depth > len(t.tab) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
s := t.tab[i]
|
|
||||||
h1, h2 := t.hash(s)
|
|
||||||
j := h1 + h2 - i
|
|
||||||
if t.tab[j] != "" && !t.push(j, depth+1) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
t.tab[j] = s
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// The lists of element names and attribute keys were taken from
|
|
||||||
// http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html
|
|
||||||
// as of the "HTML Living Standard - Last Updated 30 May 2012" version.
|
|
||||||
|
|
||||||
var elements = []string{
|
|
||||||
"a",
|
|
||||||
"abbr",
|
|
||||||
"address",
|
|
||||||
"area",
|
|
||||||
"article",
|
|
||||||
"aside",
|
|
||||||
"audio",
|
|
||||||
"b",
|
|
||||||
"base",
|
|
||||||
"bdi",
|
|
||||||
"bdo",
|
|
||||||
"blockquote",
|
|
||||||
"body",
|
|
||||||
"br",
|
|
||||||
"button",
|
|
||||||
"canvas",
|
|
||||||
"caption",
|
|
||||||
"cite",
|
|
||||||
"code",
|
|
||||||
"col",
|
|
||||||
"colgroup",
|
|
||||||
"command",
|
|
||||||
"data",
|
|
||||||
"datalist",
|
|
||||||
"dd",
|
|
||||||
"del",
|
|
||||||
"details",
|
|
||||||
"dfn",
|
|
||||||
"dialog",
|
|
||||||
"div",
|
|
||||||
"dl",
|
|
||||||
"dt",
|
|
||||||
"em",
|
|
||||||
"embed",
|
|
||||||
"fieldset",
|
|
||||||
"figcaption",
|
|
||||||
"figure",
|
|
||||||
"footer",
|
|
||||||
"form",
|
|
||||||
"h1",
|
|
||||||
"h2",
|
|
||||||
"h3",
|
|
||||||
"h4",
|
|
||||||
"h5",
|
|
||||||
"h6",
|
|
||||||
"head",
|
|
||||||
"header",
|
|
||||||
"hgroup",
|
|
||||||
"hr",
|
|
||||||
"html",
|
|
||||||
"i",
|
|
||||||
"iframe",
|
|
||||||
"img",
|
|
||||||
"input",
|
|
||||||
"ins",
|
|
||||||
"kbd",
|
|
||||||
"keygen",
|
|
||||||
"label",
|
|
||||||
"legend",
|
|
||||||
"li",
|
|
||||||
"link",
|
|
||||||
"map",
|
|
||||||
"mark",
|
|
||||||
"menu",
|
|
||||||
"meta",
|
|
||||||
"meter",
|
|
||||||
"nav",
|
|
||||||
"noscript",
|
|
||||||
"object",
|
|
||||||
"ol",
|
|
||||||
"optgroup",
|
|
||||||
"option",
|
|
||||||
"output",
|
|
||||||
"p",
|
|
||||||
"param",
|
|
||||||
"pre",
|
|
||||||
"progress",
|
|
||||||
"q",
|
|
||||||
"rp",
|
|
||||||
"rt",
|
|
||||||
"ruby",
|
|
||||||
"s",
|
|
||||||
"samp",
|
|
||||||
"script",
|
|
||||||
"section",
|
|
||||||
"select",
|
|
||||||
"small",
|
|
||||||
"source",
|
|
||||||
"span",
|
|
||||||
"strong",
|
|
||||||
"style",
|
|
||||||
"sub",
|
|
||||||
"summary",
|
|
||||||
"sup",
|
|
||||||
"table",
|
|
||||||
"tbody",
|
|
||||||
"td",
|
|
||||||
"textarea",
|
|
||||||
"tfoot",
|
|
||||||
"th",
|
|
||||||
"thead",
|
|
||||||
"time",
|
|
||||||
"title",
|
|
||||||
"tr",
|
|
||||||
"track",
|
|
||||||
"u",
|
|
||||||
"ul",
|
|
||||||
"var",
|
|
||||||
"video",
|
|
||||||
"wbr",
|
|
||||||
}
|
|
||||||
|
|
||||||
var attributes = []string{
|
|
||||||
"accept",
|
|
||||||
"accept-charset",
|
|
||||||
"accesskey",
|
|
||||||
"action",
|
|
||||||
"alt",
|
|
||||||
"async",
|
|
||||||
"autocomplete",
|
|
||||||
"autofocus",
|
|
||||||
"autoplay",
|
|
||||||
"border",
|
|
||||||
"challenge",
|
|
||||||
"charset",
|
|
||||||
"checked",
|
|
||||||
"cite",
|
|
||||||
"class",
|
|
||||||
"cols",
|
|
||||||
"colspan",
|
|
||||||
"command",
|
|
||||||
"content",
|
|
||||||
"contenteditable",
|
|
||||||
"contextmenu",
|
|
||||||
"controls",
|
|
||||||
"coords",
|
|
||||||
"crossorigin",
|
|
||||||
"data",
|
|
||||||
"datetime",
|
|
||||||
"default",
|
|
||||||
"defer",
|
|
||||||
"dir",
|
|
||||||
"dirname",
|
|
||||||
"disabled",
|
|
||||||
"download",
|
|
||||||
"draggable",
|
|
||||||
"dropzone",
|
|
||||||
"enctype",
|
|
||||||
"for",
|
|
||||||
"form",
|
|
||||||
"formaction",
|
|
||||||
"formenctype",
|
|
||||||
"formmethod",
|
|
||||||
"formnovalidate",
|
|
||||||
"formtarget",
|
|
||||||
"headers",
|
|
||||||
"height",
|
|
||||||
"hidden",
|
|
||||||
"high",
|
|
||||||
"href",
|
|
||||||
"hreflang",
|
|
||||||
"http-equiv",
|
|
||||||
"icon",
|
|
||||||
"id",
|
|
||||||
"inert",
|
|
||||||
"ismap",
|
|
||||||
"itemid",
|
|
||||||
"itemprop",
|
|
||||||
"itemref",
|
|
||||||
"itemscope",
|
|
||||||
"itemtype",
|
|
||||||
"keytype",
|
|
||||||
"kind",
|
|
||||||
"label",
|
|
||||||
"lang",
|
|
||||||
"list",
|
|
||||||
"loop",
|
|
||||||
"low",
|
|
||||||
"manifest",
|
|
||||||
"max",
|
|
||||||
"maxlength",
|
|
||||||
"media",
|
|
||||||
"mediagroup",
|
|
||||||
"method",
|
|
||||||
"min",
|
|
||||||
"multiple",
|
|
||||||
"muted",
|
|
||||||
"name",
|
|
||||||
"novalidate",
|
|
||||||
"open",
|
|
||||||
"optimum",
|
|
||||||
"pattern",
|
|
||||||
"ping",
|
|
||||||
"placeholder",
|
|
||||||
"poster",
|
|
||||||
"preload",
|
|
||||||
"radiogroup",
|
|
||||||
"readonly",
|
|
||||||
"rel",
|
|
||||||
"required",
|
|
||||||
"reversed",
|
|
||||||
"rows",
|
|
||||||
"rowspan",
|
|
||||||
"sandbox",
|
|
||||||
"spellcheck",
|
|
||||||
"scope",
|
|
||||||
"scoped",
|
|
||||||
"seamless",
|
|
||||||
"selected",
|
|
||||||
"shape",
|
|
||||||
"size",
|
|
||||||
"sizes",
|
|
||||||
"span",
|
|
||||||
"src",
|
|
||||||
"srcdoc",
|
|
||||||
"srclang",
|
|
||||||
"start",
|
|
||||||
"step",
|
|
||||||
"style",
|
|
||||||
"tabindex",
|
|
||||||
"target",
|
|
||||||
"title",
|
|
||||||
"translate",
|
|
||||||
"type",
|
|
||||||
"typemustmatch",
|
|
||||||
"usemap",
|
|
||||||
"value",
|
|
||||||
"width",
|
|
||||||
"wrap",
|
|
||||||
}
|
|
||||||
|
|
||||||
var eventHandlers = []string{
|
|
||||||
"onabort",
|
|
||||||
"onafterprint",
|
|
||||||
"onbeforeprint",
|
|
||||||
"onbeforeunload",
|
|
||||||
"onblur",
|
|
||||||
"oncancel",
|
|
||||||
"oncanplay",
|
|
||||||
"oncanplaythrough",
|
|
||||||
"onchange",
|
|
||||||
"onclick",
|
|
||||||
"onclose",
|
|
||||||
"oncontextmenu",
|
|
||||||
"oncuechange",
|
|
||||||
"ondblclick",
|
|
||||||
"ondrag",
|
|
||||||
"ondragend",
|
|
||||||
"ondragenter",
|
|
||||||
"ondragleave",
|
|
||||||
"ondragover",
|
|
||||||
"ondragstart",
|
|
||||||
"ondrop",
|
|
||||||
"ondurationchange",
|
|
||||||
"onemptied",
|
|
||||||
"onended",
|
|
||||||
"onerror",
|
|
||||||
"onfocus",
|
|
||||||
"onhashchange",
|
|
||||||
"oninput",
|
|
||||||
"oninvalid",
|
|
||||||
"onkeydown",
|
|
||||||
"onkeypress",
|
|
||||||
"onkeyup",
|
|
||||||
"onload",
|
|
||||||
"onloadeddata",
|
|
||||||
"onloadedmetadata",
|
|
||||||
"onloadstart",
|
|
||||||
"onmessage",
|
|
||||||
"onmousedown",
|
|
||||||
"onmousemove",
|
|
||||||
"onmouseout",
|
|
||||||
"onmouseover",
|
|
||||||
"onmouseup",
|
|
||||||
"onmousewheel",
|
|
||||||
"onoffline",
|
|
||||||
"ononline",
|
|
||||||
"onpagehide",
|
|
||||||
"onpageshow",
|
|
||||||
"onpause",
|
|
||||||
"onplay",
|
|
||||||
"onplaying",
|
|
||||||
"onpopstate",
|
|
||||||
"onprogress",
|
|
||||||
"onratechange",
|
|
||||||
"onreset",
|
|
||||||
"onresize",
|
|
||||||
"onscroll",
|
|
||||||
"onseeked",
|
|
||||||
"onseeking",
|
|
||||||
"onselect",
|
|
||||||
"onshow",
|
|
||||||
"onstalled",
|
|
||||||
"onstorage",
|
|
||||||
"onsubmit",
|
|
||||||
"onsuspend",
|
|
||||||
"ontimeupdate",
|
|
||||||
"onunload",
|
|
||||||
"onvolumechange",
|
|
||||||
"onwaiting",
|
|
||||||
}
|
|
||||||
|
|
||||||
// extra are ad-hoc values not covered by any of the lists above.
|
|
||||||
var extra = []string{
|
|
||||||
"align",
|
|
||||||
"annotation",
|
|
||||||
"annotation-xml",
|
|
||||||
"applet",
|
|
||||||
"basefont",
|
|
||||||
"bgsound",
|
|
||||||
"big",
|
|
||||||
"blink",
|
|
||||||
"center",
|
|
||||||
"color",
|
|
||||||
"desc",
|
|
||||||
"face",
|
|
||||||
"font",
|
|
||||||
"foreignObject", // HTML is case-insensitive, but SVG-embedded-in-HTML is case-sensitive.
|
|
||||||
"foreignobject",
|
|
||||||
"frame",
|
|
||||||
"frameset",
|
|
||||||
"image",
|
|
||||||
"isindex",
|
|
||||||
"listing",
|
|
||||||
"malignmark",
|
|
||||||
"marquee",
|
|
||||||
"math",
|
|
||||||
"mglyph",
|
|
||||||
"mi",
|
|
||||||
"mn",
|
|
||||||
"mo",
|
|
||||||
"ms",
|
|
||||||
"mtext",
|
|
||||||
"nobr",
|
|
||||||
"noembed",
|
|
||||||
"noframes",
|
|
||||||
"plaintext",
|
|
||||||
"prompt",
|
|
||||||
"public",
|
|
||||||
"spacer",
|
|
||||||
"strike",
|
|
||||||
"svg",
|
|
||||||
"system",
|
|
||||||
"tt",
|
|
||||||
"xmp",
|
|
||||||
}
|
|
694
Godeps/_workspace/src/golang.org/x/net/html/atom/table.go
generated
vendored
694
Godeps/_workspace/src/golang.org/x/net/html/atom/table.go
generated
vendored
@ -1,694 +0,0 @@
|
|||||||
// generated by go run gen.go; DO NOT EDIT
|
|
||||||
|
|
||||||
package atom
|
|
||||||
|
|
||||||
const (
|
|
||||||
A Atom = 0x1
|
|
||||||
Abbr Atom = 0x4
|
|
||||||
Accept Atom = 0x2106
|
|
||||||
AcceptCharset Atom = 0x210e
|
|
||||||
Accesskey Atom = 0x3309
|
|
||||||
Action Atom = 0x21b06
|
|
||||||
Address Atom = 0x5d507
|
|
||||||
Align Atom = 0x1105
|
|
||||||
Alt Atom = 0x4503
|
|
||||||
Annotation Atom = 0x18d0a
|
|
||||||
AnnotationXml Atom = 0x18d0e
|
|
||||||
Applet Atom = 0x2d106
|
|
||||||
Area Atom = 0x31804
|
|
||||||
Article Atom = 0x39907
|
|
||||||
Aside Atom = 0x4f05
|
|
||||||
Async Atom = 0x9305
|
|
||||||
Audio Atom = 0xaf05
|
|
||||||
Autocomplete Atom = 0xd50c
|
|
||||||
Autofocus Atom = 0xe109
|
|
||||||
Autoplay Atom = 0x10c08
|
|
||||||
B Atom = 0x101
|
|
||||||
Base Atom = 0x11404
|
|
||||||
Basefont Atom = 0x11408
|
|
||||||
Bdi Atom = 0x1a03
|
|
||||||
Bdo Atom = 0x12503
|
|
||||||
Bgsound Atom = 0x13807
|
|
||||||
Big Atom = 0x14403
|
|
||||||
Blink Atom = 0x14705
|
|
||||||
Blockquote Atom = 0x14c0a
|
|
||||||
Body Atom = 0x2f04
|
|
||||||
Border Atom = 0x15606
|
|
||||||
Br Atom = 0x202
|
|
||||||
Button Atom = 0x15c06
|
|
||||||
Canvas Atom = 0x4b06
|
|
||||||
Caption Atom = 0x1e007
|
|
||||||
Center Atom = 0x2df06
|
|
||||||
Challenge Atom = 0x23e09
|
|
||||||
Charset Atom = 0x2807
|
|
||||||
Checked Atom = 0x33f07
|
|
||||||
Cite Atom = 0x9704
|
|
||||||
Class Atom = 0x3d905
|
|
||||||
Code Atom = 0x16f04
|
|
||||||
Col Atom = 0x17603
|
|
||||||
Colgroup Atom = 0x17608
|
|
||||||
Color Atom = 0x18305
|
|
||||||
Cols Atom = 0x18804
|
|
||||||
Colspan Atom = 0x18807
|
|
||||||
Command Atom = 0x19b07
|
|
||||||
Content Atom = 0x42c07
|
|
||||||
Contenteditable Atom = 0x42c0f
|
|
||||||
Contextmenu Atom = 0x3480b
|
|
||||||
Controls Atom = 0x1ae08
|
|
||||||
Coords Atom = 0x1ba06
|
|
||||||
Crossorigin Atom = 0x1c40b
|
|
||||||
Data Atom = 0x44304
|
|
||||||
Datalist Atom = 0x44308
|
|
||||||
Datetime Atom = 0x25b08
|
|
||||||
Dd Atom = 0x28802
|
|
||||||
Default Atom = 0x5207
|
|
||||||
Defer Atom = 0x17105
|
|
||||||
Del Atom = 0x4d603
|
|
||||||
Desc Atom = 0x4804
|
|
||||||
Details Atom = 0x6507
|
|
||||||
Dfn Atom = 0x8303
|
|
||||||
Dialog Atom = 0x1b06
|
|
||||||
Dir Atom = 0x9d03
|
|
||||||
Dirname Atom = 0x9d07
|
|
||||||
Disabled Atom = 0x10008
|
|
||||||
Div Atom = 0x10703
|
|
||||||
Dl Atom = 0x13e02
|
|
||||||
Download Atom = 0x40908
|
|
||||||
Draggable Atom = 0x1a109
|
|
||||||
Dropzone Atom = 0x3a208
|
|
||||||
Dt Atom = 0x4e402
|
|
||||||
Em Atom = 0x7f02
|
|
||||||
Embed Atom = 0x7f05
|
|
||||||
Enctype Atom = 0x23007
|
|
||||||
Face Atom = 0x2dd04
|
|
||||||
Fieldset Atom = 0x1d508
|
|
||||||
Figcaption Atom = 0x1dd0a
|
|
||||||
Figure Atom = 0x1f106
|
|
||||||
Font Atom = 0x11804
|
|
||||||
Footer Atom = 0x5906
|
|
||||||
For Atom = 0x1fd03
|
|
||||||
ForeignObject Atom = 0x1fd0d
|
|
||||||
Foreignobject Atom = 0x20a0d
|
|
||||||
Form Atom = 0x21704
|
|
||||||
Formaction Atom = 0x2170a
|
|
||||||
Formenctype Atom = 0x22c0b
|
|
||||||
Formmethod Atom = 0x2470a
|
|
||||||
Formnovalidate Atom = 0x2510e
|
|
||||||
Formtarget Atom = 0x2660a
|
|
||||||
Frame Atom = 0x8705
|
|
||||||
Frameset Atom = 0x8708
|
|
||||||
H1 Atom = 0x13602
|
|
||||||
H2 Atom = 0x29602
|
|
||||||
H3 Atom = 0x2c502
|
|
||||||
H4 Atom = 0x30e02
|
|
||||||
H5 Atom = 0x4e602
|
|
||||||
H6 Atom = 0x27002
|
|
||||||
Head Atom = 0x2fa04
|
|
||||||
Header Atom = 0x2fa06
|
|
||||||
Headers Atom = 0x2fa07
|
|
||||||
Height Atom = 0x27206
|
|
||||||
Hgroup Atom = 0x27a06
|
|
||||||
Hidden Atom = 0x28606
|
|
||||||
High Atom = 0x29304
|
|
||||||
Hr Atom = 0x13102
|
|
||||||
Href Atom = 0x29804
|
|
||||||
Hreflang Atom = 0x29808
|
|
||||||
Html Atom = 0x27604
|
|
||||||
HttpEquiv Atom = 0x2a00a
|
|
||||||
I Atom = 0x601
|
|
||||||
Icon Atom = 0x42b04
|
|
||||||
Id Atom = 0x5102
|
|
||||||
Iframe Atom = 0x2b406
|
|
||||||
Image Atom = 0x2ba05
|
|
||||||
Img Atom = 0x2bf03
|
|
||||||
Inert Atom = 0x4c105
|
|
||||||
Input Atom = 0x3f605
|
|
||||||
Ins Atom = 0x1cd03
|
|
||||||
Isindex Atom = 0x2c707
|
|
||||||
Ismap Atom = 0x2ce05
|
|
||||||
Itemid Atom = 0x9806
|
|
||||||
Itemprop Atom = 0x57e08
|
|
||||||
Itemref Atom = 0x2d707
|
|
||||||
Itemscope Atom = 0x2e509
|
|
||||||
Itemtype Atom = 0x2ef08
|
|
||||||
Kbd Atom = 0x1903
|
|
||||||
Keygen Atom = 0x3906
|
|
||||||
Keytype Atom = 0x51207
|
|
||||||
Kind Atom = 0xfd04
|
|
||||||
Label Atom = 0xba05
|
|
||||||
Lang Atom = 0x29c04
|
|
||||||
Legend Atom = 0x1a806
|
|
||||||
Li Atom = 0x1202
|
|
||||||
Link Atom = 0x14804
|
|
||||||
List Atom = 0x44704
|
|
||||||
Listing Atom = 0x44707
|
|
||||||
Loop Atom = 0xbe04
|
|
||||||
Low Atom = 0x13f03
|
|
||||||
Malignmark Atom = 0x100a
|
|
||||||
Manifest Atom = 0x5b608
|
|
||||||
Map Atom = 0x2d003
|
|
||||||
Mark Atom = 0x1604
|
|
||||||
Marquee Atom = 0x5f207
|
|
||||||
Math Atom = 0x2f704
|
|
||||||
Max Atom = 0x30603
|
|
||||||
Maxlength Atom = 0x30609
|
|
||||||
Media Atom = 0xa205
|
|
||||||
Mediagroup Atom = 0xa20a
|
|
||||||
Menu Atom = 0x34f04
|
|
||||||
Meta Atom = 0x45604
|
|
||||||
Meter Atom = 0x26105
|
|
||||||
Method Atom = 0x24b06
|
|
||||||
Mglyph Atom = 0x2c006
|
|
||||||
Mi Atom = 0x9b02
|
|
||||||
Min Atom = 0x31003
|
|
||||||
Mn Atom = 0x25402
|
|
||||||
Mo Atom = 0x47a02
|
|
||||||
Ms Atom = 0x2e802
|
|
||||||
Mtext Atom = 0x31305
|
|
||||||
Multiple Atom = 0x32108
|
|
||||||
Muted Atom = 0x32905
|
|
||||||
Name Atom = 0xa004
|
|
||||||
Nav Atom = 0x3e03
|
|
||||||
Nobr Atom = 0x7404
|
|
||||||
Noembed Atom = 0x7d07
|
|
||||||
Noframes Atom = 0x8508
|
|
||||||
Noscript Atom = 0x28b08
|
|
||||||
Novalidate Atom = 0x2550a
|
|
||||||
Object Atom = 0x21106
|
|
||||||
Ol Atom = 0xcd02
|
|
||||||
Onabort Atom = 0x16007
|
|
||||||
Onafterprint Atom = 0x1e50c
|
|
||||||
Onbeforeprint Atom = 0x21f0d
|
|
||||||
Onbeforeunload Atom = 0x5c90e
|
|
||||||
Onblur Atom = 0x3e206
|
|
||||||
Oncancel Atom = 0xb308
|
|
||||||
Oncanplay Atom = 0x12709
|
|
||||||
Oncanplaythrough Atom = 0x12710
|
|
||||||
Onchange Atom = 0x3b808
|
|
||||||
Onclick Atom = 0x2ad07
|
|
||||||
Onclose Atom = 0x32e07
|
|
||||||
Oncontextmenu Atom = 0x3460d
|
|
||||||
Oncuechange Atom = 0x3530b
|
|
||||||
Ondblclick Atom = 0x35e0a
|
|
||||||
Ondrag Atom = 0x36806
|
|
||||||
Ondragend Atom = 0x36809
|
|
||||||
Ondragenter Atom = 0x3710b
|
|
||||||
Ondragleave Atom = 0x37c0b
|
|
||||||
Ondragover Atom = 0x3870a
|
|
||||||
Ondragstart Atom = 0x3910b
|
|
||||||
Ondrop Atom = 0x3a006
|
|
||||||
Ondurationchange Atom = 0x3b010
|
|
||||||
Onemptied Atom = 0x3a709
|
|
||||||
Onended Atom = 0x3c007
|
|
||||||
Onerror Atom = 0x3c707
|
|
||||||
Onfocus Atom = 0x3ce07
|
|
||||||
Onhashchange Atom = 0x3e80c
|
|
||||||
Oninput Atom = 0x3f407
|
|
||||||
Oninvalid Atom = 0x3fb09
|
|
||||||
Onkeydown Atom = 0x40409
|
|
||||||
Onkeypress Atom = 0x4110a
|
|
||||||
Onkeyup Atom = 0x42107
|
|
||||||
Onload Atom = 0x43b06
|
|
||||||
Onloadeddata Atom = 0x43b0c
|
|
||||||
Onloadedmetadata Atom = 0x44e10
|
|
||||||
Onloadstart Atom = 0x4640b
|
|
||||||
Onmessage Atom = 0x46f09
|
|
||||||
Onmousedown Atom = 0x4780b
|
|
||||||
Onmousemove Atom = 0x4830b
|
|
||||||
Onmouseout Atom = 0x48e0a
|
|
||||||
Onmouseover Atom = 0x49b0b
|
|
||||||
Onmouseup Atom = 0x4a609
|
|
||||||
Onmousewheel Atom = 0x4af0c
|
|
||||||
Onoffline Atom = 0x4bb09
|
|
||||||
Ononline Atom = 0x4c608
|
|
||||||
Onpagehide Atom = 0x4ce0a
|
|
||||||
Onpageshow Atom = 0x4d90a
|
|
||||||
Onpause Atom = 0x4e807
|
|
||||||
Onplay Atom = 0x4f206
|
|
||||||
Onplaying Atom = 0x4f209
|
|
||||||
Onpopstate Atom = 0x4fb0a
|
|
||||||
Onprogress Atom = 0x5050a
|
|
||||||
Onratechange Atom = 0x5190c
|
|
||||||
Onreset Atom = 0x52507
|
|
||||||
Onresize Atom = 0x52c08
|
|
||||||
Onscroll Atom = 0x53a08
|
|
||||||
Onseeked Atom = 0x54208
|
|
||||||
Onseeking Atom = 0x54a09
|
|
||||||
Onselect Atom = 0x55308
|
|
||||||
Onshow Atom = 0x55d06
|
|
||||||
Onstalled Atom = 0x56609
|
|
||||||
Onstorage Atom = 0x56f09
|
|
||||||
Onsubmit Atom = 0x57808
|
|
||||||
Onsuspend Atom = 0x58809
|
|
||||||
Ontimeupdate Atom = 0x1190c
|
|
||||||
Onunload Atom = 0x59108
|
|
||||||
Onvolumechange Atom = 0x5990e
|
|
||||||
Onwaiting Atom = 0x5a709
|
|
||||||
Open Atom = 0x58404
|
|
||||||
Optgroup Atom = 0xc008
|
|
||||||
Optimum Atom = 0x5b007
|
|
||||||
Option Atom = 0x5c506
|
|
||||||
Output Atom = 0x49506
|
|
||||||
P Atom = 0xc01
|
|
||||||
Param Atom = 0xc05
|
|
||||||
Pattern Atom = 0x6e07
|
|
||||||
Ping Atom = 0xab04
|
|
||||||
Placeholder Atom = 0xc70b
|
|
||||||
Plaintext Atom = 0xf109
|
|
||||||
Poster Atom = 0x17d06
|
|
||||||
Pre Atom = 0x27f03
|
|
||||||
Preload Atom = 0x27f07
|
|
||||||
Progress Atom = 0x50708
|
|
||||||
Prompt Atom = 0x5bf06
|
|
||||||
Public Atom = 0x42706
|
|
||||||
Q Atom = 0x15101
|
|
||||||
Radiogroup Atom = 0x30a
|
|
||||||
Readonly Atom = 0x31908
|
|
||||||
Rel Atom = 0x28003
|
|
||||||
Required Atom = 0x1f508
|
|
||||||
Reversed Atom = 0x5e08
|
|
||||||
Rows Atom = 0x7704
|
|
||||||
Rowspan Atom = 0x7707
|
|
||||||
Rp Atom = 0x1eb02
|
|
||||||
Rt Atom = 0x16502
|
|
||||||
Ruby Atom = 0xd104
|
|
||||||
S Atom = 0x2c01
|
|
||||||
Samp Atom = 0x6b04
|
|
||||||
Sandbox Atom = 0xe907
|
|
||||||
Scope Atom = 0x2e905
|
|
||||||
Scoped Atom = 0x2e906
|
|
||||||
Script Atom = 0x28d06
|
|
||||||
Seamless Atom = 0x33308
|
|
||||||
Section Atom = 0x3dd07
|
|
||||||
Select Atom = 0x55506
|
|
||||||
Selected Atom = 0x55508
|
|
||||||
Shape Atom = 0x1b505
|
|
||||||
Size Atom = 0x53004
|
|
||||||
Sizes Atom = 0x53005
|
|
||||||
Small Atom = 0x1bf05
|
|
||||||
Source Atom = 0x1cf06
|
|
||||||
Spacer Atom = 0x30006
|
|
||||||
Span Atom = 0x7a04
|
|
||||||
Spellcheck Atom = 0x33a0a
|
|
||||||
Src Atom = 0x3d403
|
|
||||||
Srcdoc Atom = 0x3d406
|
|
||||||
Srclang Atom = 0x41a07
|
|
||||||
Start Atom = 0x39705
|
|
||||||
Step Atom = 0x5bc04
|
|
||||||
Strike Atom = 0x50e06
|
|
||||||
Strong Atom = 0x53406
|
|
||||||
Style Atom = 0x5db05
|
|
||||||
Sub Atom = 0x57a03
|
|
||||||
Summary Atom = 0x5e007
|
|
||||||
Sup Atom = 0x5e703
|
|
||||||
Svg Atom = 0x5ea03
|
|
||||||
System Atom = 0x5ed06
|
|
||||||
Tabindex Atom = 0x45c08
|
|
||||||
Table Atom = 0x43605
|
|
||||||
Target Atom = 0x26a06
|
|
||||||
Tbody Atom = 0x2e05
|
|
||||||
Td Atom = 0x4702
|
|
||||||
Textarea Atom = 0x31408
|
|
||||||
Tfoot Atom = 0x5805
|
|
||||||
Th Atom = 0x13002
|
|
||||||
Thead Atom = 0x2f905
|
|
||||||
Time Atom = 0x11b04
|
|
||||||
Title Atom = 0x8e05
|
|
||||||
Tr Atom = 0xf902
|
|
||||||
Track Atom = 0xf905
|
|
||||||
Translate Atom = 0x16609
|
|
||||||
Tt Atom = 0x7002
|
|
||||||
Type Atom = 0x23304
|
|
||||||
Typemustmatch Atom = 0x2330d
|
|
||||||
U Atom = 0xb01
|
|
||||||
Ul Atom = 0x5602
|
|
||||||
Usemap Atom = 0x4ec06
|
|
||||||
Value Atom = 0x4005
|
|
||||||
Var Atom = 0x10903
|
|
||||||
Video Atom = 0x2a905
|
|
||||||
Wbr Atom = 0x14103
|
|
||||||
Width Atom = 0x4e205
|
|
||||||
Wrap Atom = 0x56204
|
|
||||||
Xmp Atom = 0xef03
|
|
||||||
)
|
|
||||||
|
|
||||||
const hash0 = 0xc17da63e
|
|
||||||
|
|
||||||
const maxAtomLen = 16
|
|
||||||
|
|
||||||
var table = [1 << 9]Atom{
|
|
||||||
0x1: 0x4830b, // onmousemove
|
|
||||||
0x2: 0x5a709, // onwaiting
|
|
||||||
0x4: 0x5bf06, // prompt
|
|
||||||
0x7: 0x5b007, // optimum
|
|
||||||
0x8: 0x1604, // mark
|
|
||||||
0xa: 0x2d707, // itemref
|
|
||||||
0xb: 0x4d90a, // onpageshow
|
|
||||||
0xc: 0x55506, // select
|
|
||||||
0xd: 0x1a109, // draggable
|
|
||||||
0xe: 0x3e03, // nav
|
|
||||||
0xf: 0x19b07, // command
|
|
||||||
0x11: 0xb01, // u
|
|
||||||
0x14: 0x2fa07, // headers
|
|
||||||
0x15: 0x44308, // datalist
|
|
||||||
0x17: 0x6b04, // samp
|
|
||||||
0x1a: 0x40409, // onkeydown
|
|
||||||
0x1b: 0x53a08, // onscroll
|
|
||||||
0x1c: 0x17603, // col
|
|
||||||
0x20: 0x57e08, // itemprop
|
|
||||||
0x21: 0x2a00a, // http-equiv
|
|
||||||
0x22: 0x5e703, // sup
|
|
||||||
0x24: 0x1f508, // required
|
|
||||||
0x2b: 0x27f07, // preload
|
|
||||||
0x2c: 0x21f0d, // onbeforeprint
|
|
||||||
0x2d: 0x3710b, // ondragenter
|
|
||||||
0x2e: 0x4e402, // dt
|
|
||||||
0x2f: 0x57808, // onsubmit
|
|
||||||
0x30: 0x13102, // hr
|
|
||||||
0x31: 0x3460d, // oncontextmenu
|
|
||||||
0x33: 0x2ba05, // image
|
|
||||||
0x34: 0x4e807, // onpause
|
|
||||||
0x35: 0x27a06, // hgroup
|
|
||||||
0x36: 0xab04, // ping
|
|
||||||
0x37: 0x55308, // onselect
|
|
||||||
0x3a: 0x10703, // div
|
|
||||||
0x40: 0x9b02, // mi
|
|
||||||
0x41: 0x33308, // seamless
|
|
||||||
0x42: 0x2807, // charset
|
|
||||||
0x43: 0x5102, // id
|
|
||||||
0x44: 0x4fb0a, // onpopstate
|
|
||||||
0x45: 0x4d603, // del
|
|
||||||
0x46: 0x5f207, // marquee
|
|
||||||
0x47: 0x3309, // accesskey
|
|
||||||
0x49: 0x5906, // footer
|
|
||||||
0x4a: 0x2d106, // applet
|
|
||||||
0x4b: 0x2ce05, // ismap
|
|
||||||
0x51: 0x34f04, // menu
|
|
||||||
0x52: 0x2f04, // body
|
|
||||||
0x55: 0x8708, // frameset
|
|
||||||
0x56: 0x52507, // onreset
|
|
||||||
0x57: 0x14705, // blink
|
|
||||||
0x58: 0x8e05, // title
|
|
||||||
0x59: 0x39907, // article
|
|
||||||
0x5b: 0x13002, // th
|
|
||||||
0x5d: 0x15101, // q
|
|
||||||
0x5e: 0x58404, // open
|
|
||||||
0x5f: 0x31804, // area
|
|
||||||
0x61: 0x43b06, // onload
|
|
||||||
0x62: 0x3f605, // input
|
|
||||||
0x63: 0x11404, // base
|
|
||||||
0x64: 0x18807, // colspan
|
|
||||||
0x65: 0x51207, // keytype
|
|
||||||
0x66: 0x13e02, // dl
|
|
||||||
0x68: 0x1d508, // fieldset
|
|
||||||
0x6a: 0x31003, // min
|
|
||||||
0x6b: 0x10903, // var
|
|
||||||
0x6f: 0x2fa06, // header
|
|
||||||
0x70: 0x16502, // rt
|
|
||||||
0x71: 0x17608, // colgroup
|
|
||||||
0x72: 0x25402, // mn
|
|
||||||
0x74: 0x16007, // onabort
|
|
||||||
0x75: 0x3906, // keygen
|
|
||||||
0x76: 0x4bb09, // onoffline
|
|
||||||
0x77: 0x23e09, // challenge
|
|
||||||
0x78: 0x2d003, // map
|
|
||||||
0x7a: 0x30e02, // h4
|
|
||||||
0x7b: 0x3c707, // onerror
|
|
||||||
0x7c: 0x30609, // maxlength
|
|
||||||
0x7d: 0x31305, // mtext
|
|
||||||
0x7e: 0x5805, // tfoot
|
|
||||||
0x7f: 0x11804, // font
|
|
||||||
0x80: 0x100a, // malignmark
|
|
||||||
0x81: 0x45604, // meta
|
|
||||||
0x82: 0x9305, // async
|
|
||||||
0x83: 0x2c502, // h3
|
|
||||||
0x84: 0x28802, // dd
|
|
||||||
0x85: 0x29804, // href
|
|
||||||
0x86: 0xa20a, // mediagroup
|
|
||||||
0x87: 0x1ba06, // coords
|
|
||||||
0x88: 0x41a07, // srclang
|
|
||||||
0x89: 0x35e0a, // ondblclick
|
|
||||||
0x8a: 0x4005, // value
|
|
||||||
0x8c: 0xb308, // oncancel
|
|
||||||
0x8e: 0x33a0a, // spellcheck
|
|
||||||
0x8f: 0x8705, // frame
|
|
||||||
0x91: 0x14403, // big
|
|
||||||
0x94: 0x21b06, // action
|
|
||||||
0x95: 0x9d03, // dir
|
|
||||||
0x97: 0x31908, // readonly
|
|
||||||
0x99: 0x43605, // table
|
|
||||||
0x9a: 0x5e007, // summary
|
|
||||||
0x9b: 0x14103, // wbr
|
|
||||||
0x9c: 0x30a, // radiogroup
|
|
||||||
0x9d: 0xa004, // name
|
|
||||||
0x9f: 0x5ed06, // system
|
|
||||||
0xa1: 0x18305, // color
|
|
||||||
0xa2: 0x4b06, // canvas
|
|
||||||
0xa3: 0x27604, // html
|
|
||||||
0xa5: 0x54a09, // onseeking
|
|
||||||
0xac: 0x1b505, // shape
|
|
||||||
0xad: 0x28003, // rel
|
|
||||||
0xae: 0x12710, // oncanplaythrough
|
|
||||||
0xaf: 0x3870a, // ondragover
|
|
||||||
0xb1: 0x1fd0d, // foreignObject
|
|
||||||
0xb3: 0x7704, // rows
|
|
||||||
0xb6: 0x44707, // listing
|
|
||||||
0xb7: 0x49506, // output
|
|
||||||
0xb9: 0x3480b, // contextmenu
|
|
||||||
0xbb: 0x13f03, // low
|
|
||||||
0xbc: 0x1eb02, // rp
|
|
||||||
0xbd: 0x58809, // onsuspend
|
|
||||||
0xbe: 0x15c06, // button
|
|
||||||
0xbf: 0x4804, // desc
|
|
||||||
0xc1: 0x3dd07, // section
|
|
||||||
0xc2: 0x5050a, // onprogress
|
|
||||||
0xc3: 0x56f09, // onstorage
|
|
||||||
0xc4: 0x2f704, // math
|
|
||||||
0xc5: 0x4f206, // onplay
|
|
||||||
0xc7: 0x5602, // ul
|
|
||||||
0xc8: 0x6e07, // pattern
|
|
||||||
0xc9: 0x4af0c, // onmousewheel
|
|
||||||
0xca: 0x36809, // ondragend
|
|
||||||
0xcb: 0xd104, // ruby
|
|
||||||
0xcc: 0xc01, // p
|
|
||||||
0xcd: 0x32e07, // onclose
|
|
||||||
0xce: 0x26105, // meter
|
|
||||||
0xcf: 0x13807, // bgsound
|
|
||||||
0xd2: 0x27206, // height
|
|
||||||
0xd4: 0x101, // b
|
|
||||||
0xd5: 0x2ef08, // itemtype
|
|
||||||
0xd8: 0x1e007, // caption
|
|
||||||
0xd9: 0x10008, // disabled
|
|
||||||
0xdc: 0x5ea03, // svg
|
|
||||||
0xdd: 0x1bf05, // small
|
|
||||||
0xde: 0x44304, // data
|
|
||||||
0xe0: 0x4c608, // ononline
|
|
||||||
0xe1: 0x2c006, // mglyph
|
|
||||||
0xe3: 0x7f05, // embed
|
|
||||||
0xe4: 0xf902, // tr
|
|
||||||
0xe5: 0x4640b, // onloadstart
|
|
||||||
0xe7: 0x3b010, // ondurationchange
|
|
||||||
0xed: 0x12503, // bdo
|
|
||||||
0xee: 0x4702, // td
|
|
||||||
0xef: 0x4f05, // aside
|
|
||||||
0xf0: 0x29602, // h2
|
|
||||||
0xf1: 0x50708, // progress
|
|
||||||
0xf2: 0x14c0a, // blockquote
|
|
||||||
0xf4: 0xba05, // label
|
|
||||||
0xf5: 0x601, // i
|
|
||||||
0xf7: 0x7707, // rowspan
|
|
||||||
0xfb: 0x4f209, // onplaying
|
|
||||||
0xfd: 0x2bf03, // img
|
|
||||||
0xfe: 0xc008, // optgroup
|
|
||||||
0xff: 0x42c07, // content
|
|
||||||
0x101: 0x5190c, // onratechange
|
|
||||||
0x103: 0x3e80c, // onhashchange
|
|
||||||
0x104: 0x6507, // details
|
|
||||||
0x106: 0x40908, // download
|
|
||||||
0x109: 0xe907, // sandbox
|
|
||||||
0x10b: 0x42c0f, // contenteditable
|
|
||||||
0x10d: 0x37c0b, // ondragleave
|
|
||||||
0x10e: 0x2106, // accept
|
|
||||||
0x10f: 0x55508, // selected
|
|
||||||
0x112: 0x2170a, // formaction
|
|
||||||
0x113: 0x2df06, // center
|
|
||||||
0x115: 0x44e10, // onloadedmetadata
|
|
||||||
0x116: 0x14804, // link
|
|
||||||
0x117: 0x11b04, // time
|
|
||||||
0x118: 0x1c40b, // crossorigin
|
|
||||||
0x119: 0x3ce07, // onfocus
|
|
||||||
0x11a: 0x56204, // wrap
|
|
||||||
0x11b: 0x42b04, // icon
|
|
||||||
0x11d: 0x2a905, // video
|
|
||||||
0x11e: 0x3d905, // class
|
|
||||||
0x121: 0x5990e, // onvolumechange
|
|
||||||
0x122: 0x3e206, // onblur
|
|
||||||
0x123: 0x2e509, // itemscope
|
|
||||||
0x124: 0x5db05, // style
|
|
||||||
0x127: 0x42706, // public
|
|
||||||
0x129: 0x2510e, // formnovalidate
|
|
||||||
0x12a: 0x55d06, // onshow
|
|
||||||
0x12c: 0x16609, // translate
|
|
||||||
0x12d: 0x9704, // cite
|
|
||||||
0x12e: 0x2e802, // ms
|
|
||||||
0x12f: 0x1190c, // ontimeupdate
|
|
||||||
0x130: 0xfd04, // kind
|
|
||||||
0x131: 0x2660a, // formtarget
|
|
||||||
0x135: 0x3c007, // onended
|
|
||||||
0x136: 0x28606, // hidden
|
|
||||||
0x137: 0x2c01, // s
|
|
||||||
0x139: 0x2470a, // formmethod
|
|
||||||
0x13a: 0x44704, // list
|
|
||||||
0x13c: 0x27002, // h6
|
|
||||||
0x13d: 0xcd02, // ol
|
|
||||||
0x13e: 0x3530b, // oncuechange
|
|
||||||
0x13f: 0x20a0d, // foreignobject
|
|
||||||
0x143: 0x5c90e, // onbeforeunload
|
|
||||||
0x145: 0x3a709, // onemptied
|
|
||||||
0x146: 0x17105, // defer
|
|
||||||
0x147: 0xef03, // xmp
|
|
||||||
0x148: 0xaf05, // audio
|
|
||||||
0x149: 0x1903, // kbd
|
|
||||||
0x14c: 0x46f09, // onmessage
|
|
||||||
0x14d: 0x5c506, // option
|
|
||||||
0x14e: 0x4503, // alt
|
|
||||||
0x14f: 0x33f07, // checked
|
|
||||||
0x150: 0x10c08, // autoplay
|
|
||||||
0x152: 0x202, // br
|
|
||||||
0x153: 0x2550a, // novalidate
|
|
||||||
0x156: 0x7d07, // noembed
|
|
||||||
0x159: 0x2ad07, // onclick
|
|
||||||
0x15a: 0x4780b, // onmousedown
|
|
||||||
0x15b: 0x3b808, // onchange
|
|
||||||
0x15e: 0x3fb09, // oninvalid
|
|
||||||
0x15f: 0x2e906, // scoped
|
|
||||||
0x160: 0x1ae08, // controls
|
|
||||||
0x161: 0x32905, // muted
|
|
||||||
0x163: 0x4ec06, // usemap
|
|
||||||
0x164: 0x1dd0a, // figcaption
|
|
||||||
0x165: 0x36806, // ondrag
|
|
||||||
0x166: 0x29304, // high
|
|
||||||
0x168: 0x3d403, // src
|
|
||||||
0x169: 0x17d06, // poster
|
|
||||||
0x16b: 0x18d0e, // annotation-xml
|
|
||||||
0x16c: 0x5bc04, // step
|
|
||||||
0x16d: 0x4, // abbr
|
|
||||||
0x16e: 0x1b06, // dialog
|
|
||||||
0x170: 0x1202, // li
|
|
||||||
0x172: 0x47a02, // mo
|
|
||||||
0x175: 0x1fd03, // for
|
|
||||||
0x176: 0x1cd03, // ins
|
|
||||||
0x178: 0x53004, // size
|
|
||||||
0x17a: 0x5207, // default
|
|
||||||
0x17b: 0x1a03, // bdi
|
|
||||||
0x17c: 0x4ce0a, // onpagehide
|
|
||||||
0x17d: 0x9d07, // dirname
|
|
||||||
0x17e: 0x23304, // type
|
|
||||||
0x17f: 0x21704, // form
|
|
||||||
0x180: 0x4c105, // inert
|
|
||||||
0x181: 0x12709, // oncanplay
|
|
||||||
0x182: 0x8303, // dfn
|
|
||||||
0x183: 0x45c08, // tabindex
|
|
||||||
0x186: 0x7f02, // em
|
|
||||||
0x187: 0x29c04, // lang
|
|
||||||
0x189: 0x3a208, // dropzone
|
|
||||||
0x18a: 0x4110a, // onkeypress
|
|
||||||
0x18b: 0x25b08, // datetime
|
|
||||||
0x18c: 0x18804, // cols
|
|
||||||
0x18d: 0x1, // a
|
|
||||||
0x18e: 0x43b0c, // onloadeddata
|
|
||||||
0x191: 0x15606, // border
|
|
||||||
0x192: 0x2e05, // tbody
|
|
||||||
0x193: 0x24b06, // method
|
|
||||||
0x195: 0xbe04, // loop
|
|
||||||
0x196: 0x2b406, // iframe
|
|
||||||
0x198: 0x2fa04, // head
|
|
||||||
0x19e: 0x5b608, // manifest
|
|
||||||
0x19f: 0xe109, // autofocus
|
|
||||||
0x1a0: 0x16f04, // code
|
|
||||||
0x1a1: 0x53406, // strong
|
|
||||||
0x1a2: 0x32108, // multiple
|
|
||||||
0x1a3: 0xc05, // param
|
|
||||||
0x1a6: 0x23007, // enctype
|
|
||||||
0x1a7: 0x2dd04, // face
|
|
||||||
0x1a8: 0xf109, // plaintext
|
|
||||||
0x1a9: 0x13602, // h1
|
|
||||||
0x1aa: 0x56609, // onstalled
|
|
||||||
0x1ad: 0x28d06, // script
|
|
||||||
0x1ae: 0x30006, // spacer
|
|
||||||
0x1af: 0x52c08, // onresize
|
|
||||||
0x1b0: 0x49b0b, // onmouseover
|
|
||||||
0x1b1: 0x59108, // onunload
|
|
||||||
0x1b2: 0x54208, // onseeked
|
|
||||||
0x1b4: 0x2330d, // typemustmatch
|
|
||||||
0x1b5: 0x1f106, // figure
|
|
||||||
0x1b6: 0x48e0a, // onmouseout
|
|
||||||
0x1b7: 0x27f03, // pre
|
|
||||||
0x1b8: 0x4e205, // width
|
|
||||||
0x1bb: 0x7404, // nobr
|
|
||||||
0x1be: 0x7002, // tt
|
|
||||||
0x1bf: 0x1105, // align
|
|
||||||
0x1c0: 0x3f407, // oninput
|
|
||||||
0x1c3: 0x42107, // onkeyup
|
|
||||||
0x1c6: 0x1e50c, // onafterprint
|
|
||||||
0x1c7: 0x210e, // accept-charset
|
|
||||||
0x1c8: 0x9806, // itemid
|
|
||||||
0x1cb: 0x50e06, // strike
|
|
||||||
0x1cc: 0x57a03, // sub
|
|
||||||
0x1cd: 0xf905, // track
|
|
||||||
0x1ce: 0x39705, // start
|
|
||||||
0x1d0: 0x11408, // basefont
|
|
||||||
0x1d6: 0x1cf06, // source
|
|
||||||
0x1d7: 0x1a806, // legend
|
|
||||||
0x1d8: 0x2f905, // thead
|
|
||||||
0x1da: 0x2e905, // scope
|
|
||||||
0x1dd: 0x21106, // object
|
|
||||||
0x1de: 0xa205, // media
|
|
||||||
0x1df: 0x18d0a, // annotation
|
|
||||||
0x1e0: 0x22c0b, // formenctype
|
|
||||||
0x1e2: 0x28b08, // noscript
|
|
||||||
0x1e4: 0x53005, // sizes
|
|
||||||
0x1e5: 0xd50c, // autocomplete
|
|
||||||
0x1e6: 0x7a04, // span
|
|
||||||
0x1e7: 0x8508, // noframes
|
|
||||||
0x1e8: 0x26a06, // target
|
|
||||||
0x1e9: 0x3a006, // ondrop
|
|
||||||
0x1ea: 0x3d406, // srcdoc
|
|
||||||
0x1ec: 0x5e08, // reversed
|
|
||||||
0x1f0: 0x2c707, // isindex
|
|
||||||
0x1f3: 0x29808, // hreflang
|
|
||||||
0x1f5: 0x4e602, // h5
|
|
||||||
0x1f6: 0x5d507, // address
|
|
||||||
0x1fa: 0x30603, // max
|
|
||||||
0x1fb: 0xc70b, // placeholder
|
|
||||||
0x1fc: 0x31408, // textarea
|
|
||||||
0x1fe: 0x4a609, // onmouseup
|
|
||||||
0x1ff: 0x3910b, // ondragstart
|
|
||||||
}
|
|
||||||
|
|
||||||
const atomText = "abbradiogrouparamalignmarkbdialogaccept-charsetbodyaccesskey" +
|
|
||||||
"genavaluealtdescanvasidefaultfootereversedetailsampatternobr" +
|
|
||||||
"owspanoembedfnoframesetitleasyncitemidirnamediagroupingaudio" +
|
|
||||||
"ncancelabelooptgrouplaceholderubyautocompleteautofocusandbox" +
|
|
||||||
"mplaintextrackindisabledivarautoplaybasefontimeupdatebdoncan" +
|
|
||||||
"playthrough1bgsoundlowbrbigblinkblockquoteborderbuttonabortr" +
|
|
||||||
"anslatecodefercolgroupostercolorcolspannotation-xmlcommandra" +
|
|
||||||
"ggablegendcontrolshapecoordsmallcrossoriginsourcefieldsetfig" +
|
|
||||||
"captionafterprintfigurequiredforeignObjectforeignobjectforma" +
|
|
||||||
"ctionbeforeprintformenctypemustmatchallengeformmethodformnov" +
|
|
||||||
"alidatetimeterformtargeth6heightmlhgroupreloadhiddenoscripth" +
|
|
||||||
"igh2hreflanghttp-equivideonclickiframeimageimglyph3isindexis" +
|
|
||||||
"mappletitemrefacenteritemscopeditemtypematheaderspacermaxlen" +
|
|
||||||
"gth4minmtextareadonlymultiplemutedoncloseamlesspellcheckedon" +
|
|
||||||
"contextmenuoncuechangeondblclickondragendondragenterondragle" +
|
|
||||||
"aveondragoverondragstarticleondropzonemptiedondurationchange" +
|
|
||||||
"onendedonerroronfocusrcdoclassectionbluronhashchangeoninputo" +
|
|
||||||
"ninvalidonkeydownloadonkeypressrclangonkeyupublicontentedita" +
|
|
||||||
"bleonloadeddatalistingonloadedmetadatabindexonloadstartonmes" +
|
|
||||||
"sageonmousedownonmousemoveonmouseoutputonmouseoveronmouseupo" +
|
|
||||||
"nmousewheelonofflinertononlineonpagehidelonpageshowidth5onpa" +
|
|
||||||
"usemaponplayingonpopstateonprogresstrikeytypeonratechangeonr" +
|
|
||||||
"esetonresizestrongonscrollonseekedonseekingonselectedonshowr" +
|
|
||||||
"aponstalledonstorageonsubmitempropenonsuspendonunloadonvolum" +
|
|
||||||
"echangeonwaitingoptimumanifestepromptoptionbeforeunloaddress" +
|
|
||||||
"tylesummarysupsvgsystemarquee"
|
|
341
Godeps/_workspace/src/golang.org/x/net/html/atom/table_test.go
generated
vendored
341
Godeps/_workspace/src/golang.org/x/net/html/atom/table_test.go
generated
vendored
@ -1,341 +0,0 @@
|
|||||||
// generated by go run gen.go -test; DO NOT EDIT
|
|
||||||
|
|
||||||
package atom
|
|
||||||
|
|
||||||
var testAtomList = []string{
|
|
||||||
"a",
|
|
||||||
"abbr",
|
|
||||||
"accept",
|
|
||||||
"accept-charset",
|
|
||||||
"accesskey",
|
|
||||||
"action",
|
|
||||||
"address",
|
|
||||||
"align",
|
|
||||||
"alt",
|
|
||||||
"annotation",
|
|
||||||
"annotation-xml",
|
|
||||||
"applet",
|
|
||||||
"area",
|
|
||||||
"article",
|
|
||||||
"aside",
|
|
||||||
"async",
|
|
||||||
"audio",
|
|
||||||
"autocomplete",
|
|
||||||
"autofocus",
|
|
||||||
"autoplay",
|
|
||||||
"b",
|
|
||||||
"base",
|
|
||||||
"basefont",
|
|
||||||
"bdi",
|
|
||||||
"bdo",
|
|
||||||
"bgsound",
|
|
||||||
"big",
|
|
||||||
"blink",
|
|
||||||
"blockquote",
|
|
||||||
"body",
|
|
||||||
"border",
|
|
||||||
"br",
|
|
||||||
"button",
|
|
||||||
"canvas",
|
|
||||||
"caption",
|
|
||||||
"center",
|
|
||||||
"challenge",
|
|
||||||
"charset",
|
|
||||||
"checked",
|
|
||||||
"cite",
|
|
||||||
"cite",
|
|
||||||
"class",
|
|
||||||
"code",
|
|
||||||
"col",
|
|
||||||
"colgroup",
|
|
||||||
"color",
|
|
||||||
"cols",
|
|
||||||
"colspan",
|
|
||||||
"command",
|
|
||||||
"command",
|
|
||||||
"content",
|
|
||||||
"contenteditable",
|
|
||||||
"contextmenu",
|
|
||||||
"controls",
|
|
||||||
"coords",
|
|
||||||
"crossorigin",
|
|
||||||
"data",
|
|
||||||
"data",
|
|
||||||
"datalist",
|
|
||||||
"datetime",
|
|
||||||
"dd",
|
|
||||||
"default",
|
|
||||||
"defer",
|
|
||||||
"del",
|
|
||||||
"desc",
|
|
||||||
"details",
|
|
||||||
"dfn",
|
|
||||||
"dialog",
|
|
||||||
"dir",
|
|
||||||
"dirname",
|
|
||||||
"disabled",
|
|
||||||
"div",
|
|
||||||
"dl",
|
|
||||||
"download",
|
|
||||||
"draggable",
|
|
||||||
"dropzone",
|
|
||||||
"dt",
|
|
||||||
"em",
|
|
||||||
"embed",
|
|
||||||
"enctype",
|
|
||||||
"face",
|
|
||||||
"fieldset",
|
|
||||||
"figcaption",
|
|
||||||
"figure",
|
|
||||||
"font",
|
|
||||||
"footer",
|
|
||||||
"for",
|
|
||||||
"foreignObject",
|
|
||||||
"foreignobject",
|
|
||||||
"form",
|
|
||||||
"form",
|
|
||||||
"formaction",
|
|
||||||
"formenctype",
|
|
||||||
"formmethod",
|
|
||||||
"formnovalidate",
|
|
||||||
"formtarget",
|
|
||||||
"frame",
|
|
||||||
"frameset",
|
|
||||||
"h1",
|
|
||||||
"h2",
|
|
||||||
"h3",
|
|
||||||
"h4",
|
|
||||||
"h5",
|
|
||||||
"h6",
|
|
||||||
"head",
|
|
||||||
"header",
|
|
||||||
"headers",
|
|
||||||
"height",
|
|
||||||
"hgroup",
|
|
||||||
"hidden",
|
|
||||||
"high",
|
|
||||||
"hr",
|
|
||||||
"href",
|
|
||||||
"hreflang",
|
|
||||||
"html",
|
|
||||||
"http-equiv",
|
|
||||||
"i",
|
|
||||||
"icon",
|
|
||||||
"id",
|
|
||||||
"iframe",
|
|
||||||
"image",
|
|
||||||
"img",
|
|
||||||
"inert",
|
|
||||||
"input",
|
|
||||||
"ins",
|
|
||||||
"isindex",
|
|
||||||
"ismap",
|
|
||||||
"itemid",
|
|
||||||
"itemprop",
|
|
||||||
"itemref",
|
|
||||||
"itemscope",
|
|
||||||
"itemtype",
|
|
||||||
"kbd",
|
|
||||||
"keygen",
|
|
||||||
"keytype",
|
|
||||||
"kind",
|
|
||||||
"label",
|
|
||||||
"label",
|
|
||||||
"lang",
|
|
||||||
"legend",
|
|
||||||
"li",
|
|
||||||
"link",
|
|
||||||
"list",
|
|
||||||
"listing",
|
|
||||||
"loop",
|
|
||||||
"low",
|
|
||||||
"malignmark",
|
|
||||||
"manifest",
|
|
||||||
"map",
|
|
||||||
"mark",
|
|
||||||
"marquee",
|
|
||||||
"math",
|
|
||||||
"max",
|
|
||||||
"maxlength",
|
|
||||||
"media",
|
|
||||||
"mediagroup",
|
|
||||||
"menu",
|
|
||||||
"meta",
|
|
||||||
"meter",
|
|
||||||
"method",
|
|
||||||
"mglyph",
|
|
||||||
"mi",
|
|
||||||
"min",
|
|
||||||
"mn",
|
|
||||||
"mo",
|
|
||||||
"ms",
|
|
||||||
"mtext",
|
|
||||||
"multiple",
|
|
||||||
"muted",
|
|
||||||
"name",
|
|
||||||
"nav",
|
|
||||||
"nobr",
|
|
||||||
"noembed",
|
|
||||||
"noframes",
|
|
||||||
"noscript",
|
|
||||||
"novalidate",
|
|
||||||
"object",
|
|
||||||
"ol",
|
|
||||||
"onabort",
|
|
||||||
"onafterprint",
|
|
||||||
"onbeforeprint",
|
|
||||||
"onbeforeunload",
|
|
||||||
"onblur",
|
|
||||||
"oncancel",
|
|
||||||
"oncanplay",
|
|
||||||
"oncanplaythrough",
|
|
||||||
"onchange",
|
|
||||||
"onclick",
|
|
||||||
"onclose",
|
|
||||||
"oncontextmenu",
|
|
||||||
"oncuechange",
|
|
||||||
"ondblclick",
|
|
||||||
"ondrag",
|
|
||||||
"ondragend",
|
|
||||||
"ondragenter",
|
|
||||||
"ondragleave",
|
|
||||||
"ondragover",
|
|
||||||
"ondragstart",
|
|
||||||
"ondrop",
|
|
||||||
"ondurationchange",
|
|
||||||
"onemptied",
|
|
||||||
"onended",
|
|
||||||
"onerror",
|
|
||||||
"onfocus",
|
|
||||||
"onhashchange",
|
|
||||||
"oninput",
|
|
||||||
"oninvalid",
|
|
||||||
"onkeydown",
|
|
||||||
"onkeypress",
|
|
||||||
"onkeyup",
|
|
||||||
"onload",
|
|
||||||
"onloadeddata",
|
|
||||||
"onloadedmetadata",
|
|
||||||
"onloadstart",
|
|
||||||
"onmessage",
|
|
||||||
"onmousedown",
|
|
||||||
"onmousemove",
|
|
||||||
"onmouseout",
|
|
||||||
"onmouseover",
|
|
||||||
"onmouseup",
|
|
||||||
"onmousewheel",
|
|
||||||
"onoffline",
|
|
||||||
"ononline",
|
|
||||||
"onpagehide",
|
|
||||||
"onpageshow",
|
|
||||||
"onpause",
|
|
||||||
"onplay",
|
|
||||||
"onplaying",
|
|
||||||
"onpopstate",
|
|
||||||
"onprogress",
|
|
||||||
"onratechange",
|
|
||||||
"onreset",
|
|
||||||
"onresize",
|
|
||||||
"onscroll",
|
|
||||||
"onseeked",
|
|
||||||
"onseeking",
|
|
||||||
"onselect",
|
|
||||||
"onshow",
|
|
||||||
"onstalled",
|
|
||||||
"onstorage",
|
|
||||||
"onsubmit",
|
|
||||||
"onsuspend",
|
|
||||||
"ontimeupdate",
|
|
||||||
"onunload",
|
|
||||||
"onvolumechange",
|
|
||||||
"onwaiting",
|
|
||||||
"open",
|
|
||||||
"optgroup",
|
|
||||||
"optimum",
|
|
||||||
"option",
|
|
||||||
"output",
|
|
||||||
"p",
|
|
||||||
"param",
|
|
||||||
"pattern",
|
|
||||||
"ping",
|
|
||||||
"placeholder",
|
|
||||||
"plaintext",
|
|
||||||
"poster",
|
|
||||||
"pre",
|
|
||||||
"preload",
|
|
||||||
"progress",
|
|
||||||
"prompt",
|
|
||||||
"public",
|
|
||||||
"q",
|
|
||||||
"radiogroup",
|
|
||||||
"readonly",
|
|
||||||
"rel",
|
|
||||||
"required",
|
|
||||||
"reversed",
|
|
||||||
"rows",
|
|
||||||
"rowspan",
|
|
||||||
"rp",
|
|
||||||
"rt",
|
|
||||||
"ruby",
|
|
||||||
"s",
|
|
||||||
"samp",
|
|
||||||
"sandbox",
|
|
||||||
"scope",
|
|
||||||
"scoped",
|
|
||||||
"script",
|
|
||||||
"seamless",
|
|
||||||
"section",
|
|
||||||
"select",
|
|
||||||
"selected",
|
|
||||||
"shape",
|
|
||||||
"size",
|
|
||||||
"sizes",
|
|
||||||
"small",
|
|
||||||
"source",
|
|
||||||
"spacer",
|
|
||||||
"span",
|
|
||||||
"span",
|
|
||||||
"spellcheck",
|
|
||||||
"src",
|
|
||||||
"srcdoc",
|
|
||||||
"srclang",
|
|
||||||
"start",
|
|
||||||
"step",
|
|
||||||
"strike",
|
|
||||||
"strong",
|
|
||||||
"style",
|
|
||||||
"style",
|
|
||||||
"sub",
|
|
||||||
"summary",
|
|
||||||
"sup",
|
|
||||||
"svg",
|
|
||||||
"system",
|
|
||||||
"tabindex",
|
|
||||||
"table",
|
|
||||||
"target",
|
|
||||||
"tbody",
|
|
||||||
"td",
|
|
||||||
"textarea",
|
|
||||||
"tfoot",
|
|
||||||
"th",
|
|
||||||
"thead",
|
|
||||||
"time",
|
|
||||||
"title",
|
|
||||||
"title",
|
|
||||||
"tr",
|
|
||||||
"track",
|
|
||||||
"translate",
|
|
||||||
"tt",
|
|
||||||
"type",
|
|
||||||
"typemustmatch",
|
|
||||||
"u",
|
|
||||||
"ul",
|
|
||||||
"usemap",
|
|
||||||
"value",
|
|
||||||
"var",
|
|
||||||
"video",
|
|
||||||
"wbr",
|
|
||||||
"width",
|
|
||||||
"wrap",
|
|
||||||
"xmp",
|
|
||||||
}
|
|
231
Godeps/_workspace/src/golang.org/x/net/html/charset/charset.go
generated
vendored
231
Godeps/_workspace/src/golang.org/x/net/html/charset/charset.go
generated
vendored
@ -1,231 +0,0 @@
|
|||||||
// Copyright 2013 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// Package charset provides common text encodings for HTML documents.
|
|
||||||
//
|
|
||||||
// The mapping from encoding labels to encodings is defined at
|
|
||||||
// http://encoding.spec.whatwg.org.
|
|
||||||
package charset
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"io"
|
|
||||||
"mime"
|
|
||||||
"strings"
|
|
||||||
"unicode/utf8"
|
|
||||||
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/net/html"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/charmap"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/transform"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Lookup returns the encoding with the specified label, and its canonical
|
|
||||||
// name. It returns nil and the empty string if label is not one of the
|
|
||||||
// standard encodings for HTML. Matching is case-insensitive and ignores
|
|
||||||
// leading and trailing whitespace.
|
|
||||||
func Lookup(label string) (e encoding.Encoding, name string) {
|
|
||||||
label = strings.ToLower(strings.Trim(label, "\t\n\r\f "))
|
|
||||||
enc := encodings[label]
|
|
||||||
return enc.e, enc.name
|
|
||||||
}
|
|
||||||
|
|
||||||
// DetermineEncoding determines the encoding of an HTML document by examining
|
|
||||||
// up to the first 1024 bytes of content and the declared Content-Type.
|
|
||||||
//
|
|
||||||
// See http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#determining-the-character-encoding
|
|
||||||
func DetermineEncoding(content []byte, contentType string) (e encoding.Encoding, name string, certain bool) {
|
|
||||||
if len(content) > 1024 {
|
|
||||||
content = content[:1024]
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, b := range boms {
|
|
||||||
if bytes.HasPrefix(content, b.bom) {
|
|
||||||
e, name = Lookup(b.enc)
|
|
||||||
return e, name, true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, params, err := mime.ParseMediaType(contentType); err == nil {
|
|
||||||
if cs, ok := params["charset"]; ok {
|
|
||||||
if e, name = Lookup(cs); e != nil {
|
|
||||||
return e, name, true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(content) > 0 {
|
|
||||||
e, name = prescan(content)
|
|
||||||
if e != nil {
|
|
||||||
return e, name, false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try to detect UTF-8.
|
|
||||||
// First eliminate any partial rune at the end.
|
|
||||||
for i := len(content) - 1; i >= 0 && i > len(content)-4; i-- {
|
|
||||||
b := content[i]
|
|
||||||
if b < 0x80 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if utf8.RuneStart(b) {
|
|
||||||
content = content[:i]
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hasHighBit := false
|
|
||||||
for _, c := range content {
|
|
||||||
if c >= 0x80 {
|
|
||||||
hasHighBit = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if hasHighBit && utf8.Valid(content) {
|
|
||||||
return encoding.Nop, "utf-8", false
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: change default depending on user's locale?
|
|
||||||
return charmap.Windows1252, "windows-1252", false
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewReader returns an io.Reader that converts the content of r to UTF-8.
|
|
||||||
// It calls DetermineEncoding to find out what r's encoding is.
|
|
||||||
func NewReader(r io.Reader, contentType string) (io.Reader, error) {
|
|
||||||
preview := make([]byte, 1024)
|
|
||||||
n, err := io.ReadFull(r, preview)
|
|
||||||
switch {
|
|
||||||
case err == io.ErrUnexpectedEOF:
|
|
||||||
preview = preview[:n]
|
|
||||||
r = bytes.NewReader(preview)
|
|
||||||
case err != nil:
|
|
||||||
return nil, err
|
|
||||||
default:
|
|
||||||
r = io.MultiReader(bytes.NewReader(preview), r)
|
|
||||||
}
|
|
||||||
|
|
||||||
if e, _, _ := DetermineEncoding(preview, contentType); e != encoding.Nop {
|
|
||||||
r = transform.NewReader(r, e.NewDecoder())
|
|
||||||
}
|
|
||||||
return r, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func prescan(content []byte) (e encoding.Encoding, name string) {
|
|
||||||
z := html.NewTokenizer(bytes.NewReader(content))
|
|
||||||
for {
|
|
||||||
switch z.Next() {
|
|
||||||
case html.ErrorToken:
|
|
||||||
return nil, ""
|
|
||||||
|
|
||||||
case html.StartTagToken, html.SelfClosingTagToken:
|
|
||||||
tagName, hasAttr := z.TagName()
|
|
||||||
if !bytes.Equal(tagName, []byte("meta")) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
attrList := make(map[string]bool)
|
|
||||||
gotPragma := false
|
|
||||||
|
|
||||||
const (
|
|
||||||
dontKnow = iota
|
|
||||||
doNeedPragma
|
|
||||||
doNotNeedPragma
|
|
||||||
)
|
|
||||||
needPragma := dontKnow
|
|
||||||
|
|
||||||
name = ""
|
|
||||||
e = nil
|
|
||||||
for hasAttr {
|
|
||||||
var key, val []byte
|
|
||||||
key, val, hasAttr = z.TagAttr()
|
|
||||||
ks := string(key)
|
|
||||||
if attrList[ks] {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
attrList[ks] = true
|
|
||||||
for i, c := range val {
|
|
||||||
if 'A' <= c && c <= 'Z' {
|
|
||||||
val[i] = c + 0x20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ks {
|
|
||||||
case "http-equiv":
|
|
||||||
if bytes.Equal(val, []byte("content-type")) {
|
|
||||||
gotPragma = true
|
|
||||||
}
|
|
||||||
|
|
||||||
case "content":
|
|
||||||
if e == nil {
|
|
||||||
name = fromMetaElement(string(val))
|
|
||||||
if name != "" {
|
|
||||||
e, name = Lookup(name)
|
|
||||||
if e != nil {
|
|
||||||
needPragma = doNeedPragma
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case "charset":
|
|
||||||
e, name = Lookup(string(val))
|
|
||||||
needPragma = doNotNeedPragma
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if needPragma == dontKnow || needPragma == doNeedPragma && !gotPragma {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if strings.HasPrefix(name, "utf-16") {
|
|
||||||
name = "utf-8"
|
|
||||||
e = encoding.Nop
|
|
||||||
}
|
|
||||||
|
|
||||||
if e != nil {
|
|
||||||
return e, name
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func fromMetaElement(s string) string {
|
|
||||||
for s != "" {
|
|
||||||
csLoc := strings.Index(s, "charset")
|
|
||||||
if csLoc == -1 {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
s = s[csLoc+len("charset"):]
|
|
||||||
s = strings.TrimLeft(s, " \t\n\f\r")
|
|
||||||
if !strings.HasPrefix(s, "=") {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
s = s[1:]
|
|
||||||
s = strings.TrimLeft(s, " \t\n\f\r")
|
|
||||||
if s == "" {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
if q := s[0]; q == '"' || q == '\'' {
|
|
||||||
s = s[1:]
|
|
||||||
closeQuote := strings.IndexRune(s, rune(q))
|
|
||||||
if closeQuote == -1 {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return s[:closeQuote]
|
|
||||||
}
|
|
||||||
|
|
||||||
end := strings.IndexAny(s, "; \t\n\f\r")
|
|
||||||
if end == -1 {
|
|
||||||
end = len(s)
|
|
||||||
}
|
|
||||||
return s[:end]
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
var boms = []struct {
|
|
||||||
bom []byte
|
|
||||||
enc string
|
|
||||||
}{
|
|
||||||
{[]byte{0xfe, 0xff}, "utf-16be"},
|
|
||||||
{[]byte{0xff, 0xfe}, "utf-16le"},
|
|
||||||
{[]byte{0xef, 0xbb, 0xbf}, "utf-8"},
|
|
||||||
}
|
|
215
Godeps/_workspace/src/golang.org/x/net/html/charset/charset_test.go
generated
vendored
215
Godeps/_workspace/src/golang.org/x/net/html/charset/charset_test.go
generated
vendored
@ -1,215 +0,0 @@
|
|||||||
// Copyright 2013 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package charset
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"io/ioutil"
|
|
||||||
"runtime"
|
|
||||||
"strings"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/transform"
|
|
||||||
)
|
|
||||||
|
|
||||||
func transformString(t transform.Transformer, s string) (string, error) {
|
|
||||||
r := transform.NewReader(strings.NewReader(s), t)
|
|
||||||
b, err := ioutil.ReadAll(r)
|
|
||||||
return string(b), err
|
|
||||||
}
|
|
||||||
|
|
||||||
var testCases = []struct {
|
|
||||||
utf8, other, otherEncoding string
|
|
||||||
}{
|
|
||||||
{"Résumé", "Résumé", "utf8"},
|
|
||||||
{"Résumé", "R\xe9sum\xe9", "latin1"},
|
|
||||||
{"これは漢字です。", "S0\x8c0o0\"oW[g0Y0\x020", "UTF-16LE"},
|
|
||||||
{"これは漢字です。", "0S0\x8c0oo\"[W0g0Y0\x02", "UTF-16BE"},
|
|
||||||
{"Hello, world", "Hello, world", "ASCII"},
|
|
||||||
{"Gdańsk", "Gda\xf1sk", "ISO-8859-2"},
|
|
||||||
{"Ââ Čč Đđ Ŋŋ Õõ Šš Žž Åå Ää", "\xc2\xe2 \xc8\xe8 \xa9\xb9 \xaf\xbf \xd5\xf5 \xaa\xba \xac\xbc \xc5\xe5 \xc4\xe4", "ISO-8859-10"},
|
|
||||||
{"สำหรับ", "\xca\xd3\xcb\xc3\u047a", "ISO-8859-11"},
|
|
||||||
{"latviešu", "latvie\xf0u", "ISO-8859-13"},
|
|
||||||
{"Seònaid", "Se\xf2naid", "ISO-8859-14"},
|
|
||||||
{"€1 is cheap", "\xa41 is cheap", "ISO-8859-15"},
|
|
||||||
{"românește", "rom\xe2ne\xbate", "ISO-8859-16"},
|
|
||||||
{"nutraĵo", "nutra\xbco", "ISO-8859-3"},
|
|
||||||
{"Kalâdlit", "Kal\xe2dlit", "ISO-8859-4"},
|
|
||||||
{"русский", "\xe0\xe3\xe1\xe1\xda\xd8\xd9", "ISO-8859-5"},
|
|
||||||
{"ελληνικά", "\xe5\xeb\xeb\xe7\xed\xe9\xea\xdc", "ISO-8859-7"},
|
|
||||||
{"Kağan", "Ka\xf0an", "ISO-8859-9"},
|
|
||||||
{"Résumé", "R\x8esum\x8e", "macintosh"},
|
|
||||||
{"Gdańsk", "Gda\xf1sk", "windows-1250"},
|
|
||||||
{"русский", "\xf0\xf3\xf1\xf1\xea\xe8\xe9", "windows-1251"},
|
|
||||||
{"Résumé", "R\xe9sum\xe9", "windows-1252"},
|
|
||||||
{"ελληνικά", "\xe5\xeb\xeb\xe7\xed\xe9\xea\xdc", "windows-1253"},
|
|
||||||
{"Kağan", "Ka\xf0an", "windows-1254"},
|
|
||||||
{"עִבְרִית", "\xf2\xc4\xe1\xc0\xf8\xc4\xe9\xfa", "windows-1255"},
|
|
||||||
{"العربية", "\xc7\xe1\xda\xd1\xc8\xed\xc9", "windows-1256"},
|
|
||||||
{"latviešu", "latvie\xf0u", "windows-1257"},
|
|
||||||
{"Việt", "Vi\xea\xf2t", "windows-1258"},
|
|
||||||
{"สำหรับ", "\xca\xd3\xcb\xc3\u047a", "windows-874"},
|
|
||||||
{"русский", "\xd2\xd5\xd3\xd3\xcb\xc9\xca", "KOI8-R"},
|
|
||||||
{"українська", "\xd5\xcb\xd2\xc1\xa7\xce\xd3\xd8\xcb\xc1", "KOI8-U"},
|
|
||||||
{"Hello 常用國字標準字體表", "Hello \xb1`\xa5\u03b0\xea\xa6r\xbc\u0437\u01e6r\xc5\xe9\xaa\xed", "big5"},
|
|
||||||
{"Hello 常用國字標準字體表", "Hello \xb3\xa3\xd3\xc3\x87\xf8\xd7\xd6\x98\xcb\x9c\xca\xd7\xd6\xf3\x77\xb1\xed", "gbk"},
|
|
||||||
{"Hello 常用國字標準字體表", "Hello \xb3\xa3\xd3\xc3\x87\xf8\xd7\xd6\x98\xcb\x9c\xca\xd7\xd6\xf3\x77\xb1\xed", "gb18030"},
|
|
||||||
{"עִבְרִית", "\x81\x30\xfb\x30\x81\x30\xf6\x34\x81\x30\xf9\x33\x81\x30\xf6\x30\x81\x30\xfb\x36\x81\x30\xf6\x34\x81\x30\xfa\x31\x81\x30\xfb\x38", "gb18030"},
|
|
||||||
{"㧯", "\x82\x31\x89\x38", "gb18030"},
|
|
||||||
{"これは漢字です。", "\x82\xb1\x82\xea\x82\xcd\x8a\xbf\x8e\x9a\x82\xc5\x82\xb7\x81B", "SJIS"},
|
|
||||||
{"Hello, 世界!", "Hello, \x90\xa2\x8aE!", "SJIS"},
|
|
||||||
{"イウエオカ", "\xb2\xb3\xb4\xb5\xb6", "SJIS"},
|
|
||||||
{"これは漢字です。", "\xa4\xb3\xa4\xec\xa4\u03f4\xc1\xbb\xfa\xa4\u01e4\xb9\xa1\xa3", "EUC-JP"},
|
|
||||||
{"Hello, 世界!", "Hello, \x1b$B@$3&\x1b(B!", "ISO-2022-JP"},
|
|
||||||
{"네이트 | 즐거움의 시작, 슈파스(Spaβ) NATE", "\xb3\xd7\xc0\xcc\xc6\xae | \xc1\xf1\xb0\xc5\xbf\xf2\xc0\xc7 \xbd\xc3\xc0\xdb, \xbd\xb4\xc6\xc4\xbd\xba(Spa\xa5\xe2) NATE", "EUC-KR"},
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestDecode(t *testing.T) {
|
|
||||||
for _, tc := range testCases {
|
|
||||||
e, _ := Lookup(tc.otherEncoding)
|
|
||||||
if e == nil {
|
|
||||||
t.Errorf("%s: not found", tc.otherEncoding)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
s, err := transformString(e.NewDecoder(), tc.other)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: decode %q: %v", tc.otherEncoding, tc.other, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if s != tc.utf8 {
|
|
||||||
t.Errorf("%s: got %q, want %q", tc.otherEncoding, s, tc.utf8)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestEncode(t *testing.T) {
|
|
||||||
for _, tc := range testCases {
|
|
||||||
e, _ := Lookup(tc.otherEncoding)
|
|
||||||
if e == nil {
|
|
||||||
t.Errorf("%s: not found", tc.otherEncoding)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
s, err := transformString(e.NewEncoder(), tc.utf8)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: encode %q: %s", tc.otherEncoding, tc.utf8, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if s != tc.other {
|
|
||||||
t.Errorf("%s: got %q, want %q", tc.otherEncoding, s, tc.other)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TestNames verifies that you can pass an encoding's name to Lookup and get
|
|
||||||
// the same encoding back (except for "replacement").
|
|
||||||
func TestNames(t *testing.T) {
|
|
||||||
for _, e := range encodings {
|
|
||||||
if e.name == "replacement" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
_, got := Lookup(e.name)
|
|
||||||
if got != e.name {
|
|
||||||
t.Errorf("got %q, want %q", got, e.name)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var sniffTestCases = []struct {
|
|
||||||
filename, declared, want string
|
|
||||||
}{
|
|
||||||
{"HTTP-charset.html", "text/html; charset=iso-8859-15", "iso-8859-15"},
|
|
||||||
{"UTF-16LE-BOM.html", "", "utf-16le"},
|
|
||||||
{"UTF-16BE-BOM.html", "", "utf-16be"},
|
|
||||||
{"meta-content-attribute.html", "text/html", "iso-8859-15"},
|
|
||||||
{"meta-charset-attribute.html", "text/html", "iso-8859-15"},
|
|
||||||
{"No-encoding-declaration.html", "text/html", "utf-8"},
|
|
||||||
{"HTTP-vs-UTF-8-BOM.html", "text/html; charset=iso-8859-15", "utf-8"},
|
|
||||||
{"HTTP-vs-meta-content.html", "text/html; charset=iso-8859-15", "iso-8859-15"},
|
|
||||||
{"HTTP-vs-meta-charset.html", "text/html; charset=iso-8859-15", "iso-8859-15"},
|
|
||||||
{"UTF-8-BOM-vs-meta-content.html", "text/html", "utf-8"},
|
|
||||||
{"UTF-8-BOM-vs-meta-charset.html", "text/html", "utf-8"},
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSniff(t *testing.T) {
|
|
||||||
switch runtime.GOOS {
|
|
||||||
case "nacl": // platforms that don't permit direct file system access
|
|
||||||
t.Skipf("not supported on %q", runtime.GOOS)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, tc := range sniffTestCases {
|
|
||||||
content, err := ioutil.ReadFile("testdata/" + tc.filename)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: error reading file: %v", tc.filename, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
_, name, _ := DetermineEncoding(content, tc.declared)
|
|
||||||
if name != tc.want {
|
|
||||||
t.Errorf("%s: got %q, want %q", tc.filename, name, tc.want)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestReader(t *testing.T) {
|
|
||||||
switch runtime.GOOS {
|
|
||||||
case "nacl": // platforms that don't permit direct file system access
|
|
||||||
t.Skipf("not supported on %q", runtime.GOOS)
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, tc := range sniffTestCases {
|
|
||||||
content, err := ioutil.ReadFile("testdata/" + tc.filename)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: error reading file: %v", tc.filename, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
r, err := NewReader(bytes.NewReader(content), tc.declared)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: error creating reader: %v", tc.filename, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
got, err := ioutil.ReadAll(r)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: error reading from charset.NewReader: %v", tc.filename, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
e, _ := Lookup(tc.want)
|
|
||||||
want, err := ioutil.ReadAll(transform.NewReader(bytes.NewReader(content), e.NewDecoder()))
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s: error decoding with hard-coded charset name: %v", tc.filename, err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if !bytes.Equal(got, want) {
|
|
||||||
t.Errorf("%s: got %q, want %q", tc.filename, got, want)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var metaTestCases = []struct {
|
|
||||||
meta, want string
|
|
||||||
}{
|
|
||||||
{"", ""},
|
|
||||||
{"text/html", ""},
|
|
||||||
{"text/html; charset utf-8", ""},
|
|
||||||
{"text/html; charset=latin-2", "latin-2"},
|
|
||||||
{"text/html; charset; charset = utf-8", "utf-8"},
|
|
||||||
{`charset="big5"`, "big5"},
|
|
||||||
{"charset='shift_jis'", "shift_jis"},
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestFromMeta(t *testing.T) {
|
|
||||||
for _, tc := range metaTestCases {
|
|
||||||
got := fromMetaElement(tc.meta)
|
|
||||||
if got != tc.want {
|
|
||||||
t.Errorf("%q: got %q, want %q", tc.meta, got, tc.want)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
111
Godeps/_workspace/src/golang.org/x/net/html/charset/gen.go
generated
vendored
111
Godeps/_workspace/src/golang.org/x/net/html/charset/gen.go
generated
vendored
@ -1,111 +0,0 @@
|
|||||||
// Copyright 2013 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// +build ignore
|
|
||||||
|
|
||||||
package main
|
|
||||||
|
|
||||||
// Download http://encoding.spec.whatwg.org/encodings.json and use it to
|
|
||||||
// generate table.go.
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"net/http"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type enc struct {
|
|
||||||
Name string
|
|
||||||
Labels []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type group struct {
|
|
||||||
Encodings []enc
|
|
||||||
Heading string
|
|
||||||
}
|
|
||||||
|
|
||||||
const specURL = "http://encoding.spec.whatwg.org/encodings.json"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
resp, err := http.Get(specURL)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error fetching %s: %s", specURL, err)
|
|
||||||
}
|
|
||||||
if resp.StatusCode != 200 {
|
|
||||||
log.Fatalf("error fetching %s: HTTP status %s", specURL, resp.Status)
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
var groups []group
|
|
||||||
d := json.NewDecoder(resp.Body)
|
|
||||||
err = d.Decode(&groups)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalf("error reading encodings.json: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("// generated by go run gen.go; DO NOT EDIT")
|
|
||||||
fmt.Println()
|
|
||||||
fmt.Println("package charset")
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
fmt.Println("import (")
|
|
||||||
fmt.Println(`"golang.org/x/text/encoding"`)
|
|
||||||
for _, pkg := range []string{"charmap", "japanese", "korean", "simplifiedchinese", "traditionalchinese", "unicode"} {
|
|
||||||
fmt.Printf("\"golang.org/x/text/encoding/%s\"\n", pkg)
|
|
||||||
}
|
|
||||||
fmt.Println(")")
|
|
||||||
fmt.Println()
|
|
||||||
|
|
||||||
fmt.Println("var encodings = map[string]struct{e encoding.Encoding; name string} {")
|
|
||||||
for _, g := range groups {
|
|
||||||
for _, e := range g.Encodings {
|
|
||||||
goName, ok := miscNames[e.Name]
|
|
||||||
if !ok {
|
|
||||||
for k, v := range prefixes {
|
|
||||||
if strings.HasPrefix(e.Name, k) {
|
|
||||||
goName = v + e.Name[len(k):]
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if goName == "" {
|
|
||||||
log.Fatalf("unrecognized encoding name: %s", e.Name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, label := range e.Labels {
|
|
||||||
fmt.Printf("%q: {%s, %q},\n", label, goName, e.Name)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fmt.Println("}")
|
|
||||||
}
|
|
||||||
|
|
||||||
var prefixes = map[string]string{
|
|
||||||
"iso-8859-": "charmap.ISO8859_",
|
|
||||||
"windows-": "charmap.Windows",
|
|
||||||
}
|
|
||||||
|
|
||||||
var miscNames = map[string]string{
|
|
||||||
"utf-8": "encoding.Nop",
|
|
||||||
"ibm866": "charmap.CodePage866",
|
|
||||||
"iso-8859-8-i": "charmap.ISO8859_8",
|
|
||||||
"koi8-r": "charmap.KOI8R",
|
|
||||||
"koi8-u": "charmap.KOI8U",
|
|
||||||
"macintosh": "charmap.Macintosh",
|
|
||||||
"x-mac-cyrillic": "charmap.MacintoshCyrillic",
|
|
||||||
"gbk": "simplifiedchinese.GBK",
|
|
||||||
"gb18030": "simplifiedchinese.GB18030",
|
|
||||||
"hz-gb-2312": "simplifiedchinese.HZGB2312",
|
|
||||||
"big5": "traditionalchinese.Big5",
|
|
||||||
"euc-jp": "japanese.EUCJP",
|
|
||||||
"iso-2022-jp": "japanese.ISO2022JP",
|
|
||||||
"shift_jis": "japanese.ShiftJIS",
|
|
||||||
"euc-kr": "korean.EUCKR",
|
|
||||||
"replacement": "encoding.Replacement",
|
|
||||||
"utf-16be": "unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)",
|
|
||||||
"utf-16le": "unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)",
|
|
||||||
"x-user-defined": "charmap.XUserDefined",
|
|
||||||
}
|
|
235
Godeps/_workspace/src/golang.org/x/net/html/charset/table.go
generated
vendored
235
Godeps/_workspace/src/golang.org/x/net/html/charset/table.go
generated
vendored
@ -1,235 +0,0 @@
|
|||||||
// generated by go run gen.go; DO NOT EDIT
|
|
||||||
|
|
||||||
package charset
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/charmap"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/japanese"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/korean"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/simplifiedchinese"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/traditionalchinese"
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/text/encoding/unicode"
|
|
||||||
)
|
|
||||||
|
|
||||||
var encodings = map[string]struct {
|
|
||||||
e encoding.Encoding
|
|
||||||
name string
|
|
||||||
}{
|
|
||||||
"unicode-1-1-utf-8": {encoding.Nop, "utf-8"},
|
|
||||||
"utf-8": {encoding.Nop, "utf-8"},
|
|
||||||
"utf8": {encoding.Nop, "utf-8"},
|
|
||||||
"866": {charmap.CodePage866, "ibm866"},
|
|
||||||
"cp866": {charmap.CodePage866, "ibm866"},
|
|
||||||
"csibm866": {charmap.CodePage866, "ibm866"},
|
|
||||||
"ibm866": {charmap.CodePage866, "ibm866"},
|
|
||||||
"csisolatin2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso-8859-2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso-ir-101": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso8859-2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso88592": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso_8859-2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"iso_8859-2:1987": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"l2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"latin2": {charmap.ISO8859_2, "iso-8859-2"},
|
|
||||||
"csisolatin3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso-8859-3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso-ir-109": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso8859-3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso88593": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso_8859-3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"iso_8859-3:1988": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"l3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"latin3": {charmap.ISO8859_3, "iso-8859-3"},
|
|
||||||
"csisolatin4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso-8859-4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso-ir-110": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso8859-4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso88594": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso_8859-4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"iso_8859-4:1988": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"l4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"latin4": {charmap.ISO8859_4, "iso-8859-4"},
|
|
||||||
"csisolatincyrillic": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"cyrillic": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso-8859-5": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso-ir-144": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso8859-5": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso88595": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso_8859-5": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"iso_8859-5:1988": {charmap.ISO8859_5, "iso-8859-5"},
|
|
||||||
"arabic": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"asmo-708": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"csiso88596e": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"csiso88596i": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"csisolatinarabic": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"ecma-114": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso-8859-6": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso-8859-6-e": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso-8859-6-i": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso-ir-127": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso8859-6": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso88596": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso_8859-6": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"iso_8859-6:1987": {charmap.ISO8859_6, "iso-8859-6"},
|
|
||||||
"csisolatingreek": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"ecma-118": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"elot_928": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"greek": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"greek8": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso-8859-7": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso-ir-126": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso8859-7": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso88597": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso_8859-7": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"iso_8859-7:1987": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"sun_eu_greek": {charmap.ISO8859_7, "iso-8859-7"},
|
|
||||||
"csiso88598e": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"csisolatinhebrew": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"hebrew": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso-8859-8": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso-8859-8-e": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso-ir-138": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso8859-8": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso88598": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso_8859-8": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"iso_8859-8:1988": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"visual": {charmap.ISO8859_8, "iso-8859-8"},
|
|
||||||
"csiso88598i": {charmap.ISO8859_8, "iso-8859-8-i"},
|
|
||||||
"iso-8859-8-i": {charmap.ISO8859_8, "iso-8859-8-i"},
|
|
||||||
"logical": {charmap.ISO8859_8, "iso-8859-8-i"},
|
|
||||||
"csisolatin6": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"iso-8859-10": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"iso-ir-157": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"iso8859-10": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"iso885910": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"l6": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"latin6": {charmap.ISO8859_10, "iso-8859-10"},
|
|
||||||
"iso-8859-13": {charmap.ISO8859_13, "iso-8859-13"},
|
|
||||||
"iso8859-13": {charmap.ISO8859_13, "iso-8859-13"},
|
|
||||||
"iso885913": {charmap.ISO8859_13, "iso-8859-13"},
|
|
||||||
"iso-8859-14": {charmap.ISO8859_14, "iso-8859-14"},
|
|
||||||
"iso8859-14": {charmap.ISO8859_14, "iso-8859-14"},
|
|
||||||
"iso885914": {charmap.ISO8859_14, "iso-8859-14"},
|
|
||||||
"csisolatin9": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"iso-8859-15": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"iso8859-15": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"iso885915": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"iso_8859-15": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"l9": {charmap.ISO8859_15, "iso-8859-15"},
|
|
||||||
"iso-8859-16": {charmap.ISO8859_16, "iso-8859-16"},
|
|
||||||
"cskoi8r": {charmap.KOI8R, "koi8-r"},
|
|
||||||
"koi": {charmap.KOI8R, "koi8-r"},
|
|
||||||
"koi8": {charmap.KOI8R, "koi8-r"},
|
|
||||||
"koi8-r": {charmap.KOI8R, "koi8-r"},
|
|
||||||
"koi8_r": {charmap.KOI8R, "koi8-r"},
|
|
||||||
"koi8-u": {charmap.KOI8U, "koi8-u"},
|
|
||||||
"csmacintosh": {charmap.Macintosh, "macintosh"},
|
|
||||||
"mac": {charmap.Macintosh, "macintosh"},
|
|
||||||
"macintosh": {charmap.Macintosh, "macintosh"},
|
|
||||||
"x-mac-roman": {charmap.Macintosh, "macintosh"},
|
|
||||||
"dos-874": {charmap.Windows874, "windows-874"},
|
|
||||||
"iso-8859-11": {charmap.Windows874, "windows-874"},
|
|
||||||
"iso8859-11": {charmap.Windows874, "windows-874"},
|
|
||||||
"iso885911": {charmap.Windows874, "windows-874"},
|
|
||||||
"tis-620": {charmap.Windows874, "windows-874"},
|
|
||||||
"windows-874": {charmap.Windows874, "windows-874"},
|
|
||||||
"cp1250": {charmap.Windows1250, "windows-1250"},
|
|
||||||
"windows-1250": {charmap.Windows1250, "windows-1250"},
|
|
||||||
"x-cp1250": {charmap.Windows1250, "windows-1250"},
|
|
||||||
"cp1251": {charmap.Windows1251, "windows-1251"},
|
|
||||||
"windows-1251": {charmap.Windows1251, "windows-1251"},
|
|
||||||
"x-cp1251": {charmap.Windows1251, "windows-1251"},
|
|
||||||
"ansi_x3.4-1968": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"ascii": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"cp1252": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"cp819": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"csisolatin1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"ibm819": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso-8859-1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso-ir-100": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso8859-1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso88591": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso_8859-1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"iso_8859-1:1987": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"l1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"latin1": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"us-ascii": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"windows-1252": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"x-cp1252": {charmap.Windows1252, "windows-1252"},
|
|
||||||
"cp1253": {charmap.Windows1253, "windows-1253"},
|
|
||||||
"windows-1253": {charmap.Windows1253, "windows-1253"},
|
|
||||||
"x-cp1253": {charmap.Windows1253, "windows-1253"},
|
|
||||||
"cp1254": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"csisolatin5": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso-8859-9": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso-ir-148": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso8859-9": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso88599": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso_8859-9": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"iso_8859-9:1989": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"l5": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"latin5": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"windows-1254": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"x-cp1254": {charmap.Windows1254, "windows-1254"},
|
|
||||||
"cp1255": {charmap.Windows1255, "windows-1255"},
|
|
||||||
"windows-1255": {charmap.Windows1255, "windows-1255"},
|
|
||||||
"x-cp1255": {charmap.Windows1255, "windows-1255"},
|
|
||||||
"cp1256": {charmap.Windows1256, "windows-1256"},
|
|
||||||
"windows-1256": {charmap.Windows1256, "windows-1256"},
|
|
||||||
"x-cp1256": {charmap.Windows1256, "windows-1256"},
|
|
||||||
"cp1257": {charmap.Windows1257, "windows-1257"},
|
|
||||||
"windows-1257": {charmap.Windows1257, "windows-1257"},
|
|
||||||
"x-cp1257": {charmap.Windows1257, "windows-1257"},
|
|
||||||
"cp1258": {charmap.Windows1258, "windows-1258"},
|
|
||||||
"windows-1258": {charmap.Windows1258, "windows-1258"},
|
|
||||||
"x-cp1258": {charmap.Windows1258, "windows-1258"},
|
|
||||||
"x-mac-cyrillic": {charmap.MacintoshCyrillic, "x-mac-cyrillic"},
|
|
||||||
"x-mac-ukrainian": {charmap.MacintoshCyrillic, "x-mac-cyrillic"},
|
|
||||||
"chinese": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"csgb2312": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"csiso58gb231280": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"gb2312": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"gb_2312": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"gb_2312-80": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"gbk": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"iso-ir-58": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"x-gbk": {simplifiedchinese.GBK, "gbk"},
|
|
||||||
"gb18030": {simplifiedchinese.GB18030, "gb18030"},
|
|
||||||
"hz-gb-2312": {simplifiedchinese.HZGB2312, "hz-gb-2312"},
|
|
||||||
"big5": {traditionalchinese.Big5, "big5"},
|
|
||||||
"big5-hkscs": {traditionalchinese.Big5, "big5"},
|
|
||||||
"cn-big5": {traditionalchinese.Big5, "big5"},
|
|
||||||
"csbig5": {traditionalchinese.Big5, "big5"},
|
|
||||||
"x-x-big5": {traditionalchinese.Big5, "big5"},
|
|
||||||
"cseucpkdfmtjapanese": {japanese.EUCJP, "euc-jp"},
|
|
||||||
"euc-jp": {japanese.EUCJP, "euc-jp"},
|
|
||||||
"x-euc-jp": {japanese.EUCJP, "euc-jp"},
|
|
||||||
"csiso2022jp": {japanese.ISO2022JP, "iso-2022-jp"},
|
|
||||||
"iso-2022-jp": {japanese.ISO2022JP, "iso-2022-jp"},
|
|
||||||
"csshiftjis": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"ms_kanji": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"shift-jis": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"shift_jis": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"sjis": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"windows-31j": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"x-sjis": {japanese.ShiftJIS, "shift_jis"},
|
|
||||||
"cseuckr": {korean.EUCKR, "euc-kr"},
|
|
||||||
"csksc56011987": {korean.EUCKR, "euc-kr"},
|
|
||||||
"euc-kr": {korean.EUCKR, "euc-kr"},
|
|
||||||
"iso-ir-149": {korean.EUCKR, "euc-kr"},
|
|
||||||
"korean": {korean.EUCKR, "euc-kr"},
|
|
||||||
"ks_c_5601-1987": {korean.EUCKR, "euc-kr"},
|
|
||||||
"ks_c_5601-1989": {korean.EUCKR, "euc-kr"},
|
|
||||||
"ksc5601": {korean.EUCKR, "euc-kr"},
|
|
||||||
"ksc_5601": {korean.EUCKR, "euc-kr"},
|
|
||||||
"windows-949": {korean.EUCKR, "euc-kr"},
|
|
||||||
"csiso2022kr": {encoding.Replacement, "replacement"},
|
|
||||||
"iso-2022-kr": {encoding.Replacement, "replacement"},
|
|
||||||
"iso-2022-cn": {encoding.Replacement, "replacement"},
|
|
||||||
"iso-2022-cn-ext": {encoding.Replacement, "replacement"},
|
|
||||||
"utf-16be": {unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM), "utf-16be"},
|
|
||||||
"utf-16": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
|
|
||||||
"utf-16le": {unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM), "utf-16le"},
|
|
||||||
"x-user-defined": {charmap.XUserDefined, "x-user-defined"},
|
|
||||||
}
|
|
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-charset.html
generated
vendored
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-charset.html
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<title>HTTP charset</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="The character encoding of a page can be set using the HTTP header charset declaration.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-15.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>HTTP charset</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">The character encoding of a page can be set using the HTTP header charset declaration.</p>
|
|
||||||
<div class="notes"><p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ÜÀÚ</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.</p><p>The only character encoding declaration for this HTML file is in the HTTP header, which sets the encoding to ISO 8859-15.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-003">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-001<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#basics" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-001" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html
generated
vendored
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<title>HTTP vs UTF-8 BOM</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="A character encoding set in the HTTP header has lower precedence than the UTF-8 signature.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-utf8.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>HTTP vs UTF-8 BOM</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">A character encoding set in the HTTP header has lower precedence than the UTF-8 signature.</p>
|
|
||||||
<div class="notes"><p><p>The HTTP header attempts to set the character encoding to ISO 8859-15. The page starts with a UTF-8 signature.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ýäè</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.</p><p>If the test is unsuccessful, the characters  should appear at the top of the page. These represent the bytes that make up the UTF-8 signature when encountered in the ISO 8859-15 encoding.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-022">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-034<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-034" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
49
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-charset.html
generated
vendored
49
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-charset.html
generated
vendored
@ -1,49 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta charset="iso-8859-1" > <title>HTTP vs meta charset</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="The HTTP header has a higher precedence than an encoding declaration in a meta charset attribute.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }.test div { width: 90px; }
|
|
||||||
</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-15.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>HTTP vs meta charset</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">The HTTP header has a higher precedence than an encoding declaration in a meta charset attribute.</p>
|
|
||||||
<div class="notes"><p><p>The HTTP header attempts to set the character encoding to ISO 8859-15. The page contains an encoding declaration in a meta charset attribute that attempts to set the character encoding to ISO 8859-1.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ÜÀÚ</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-037">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-018<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-018" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
49
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-content.html
generated
vendored
49
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-content.html
generated
vendored
@ -1,49 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" > <title>HTTP vs meta content</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="The HTTP header has a higher precedence than an encoding declaration in a meta content attribute.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }.test div { width: 90px; }
|
|
||||||
</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-15.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>HTTP vs meta content</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">The HTTP header has a higher precedence than an encoding declaration in a meta content attribute.</p>
|
|
||||||
<div class="notes"><p><p>The HTTP header attempts to set the character encoding to ISO 8859-15. The page contains an encoding declaration in a meta content attribute that attempts to set the character encoding to ISO 8859-1.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ÜÀÚ</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-018">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-016<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-016" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<title>No encoding declaration</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="A page with no encoding information in HTTP, BOM, XML declaration or meta element will be treated as UTF-8.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-utf8.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>No encoding declaration</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">A page with no encoding information in HTTP, BOM, XML declaration or meta element will be treated as UTF-8.</p>
|
|
||||||
<div class="notes"><p><p>The test on this page contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ýäè</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-034">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-015<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#basics" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-015" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
1
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/README
generated
vendored
1
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/README
generated
vendored
@ -1 +0,0 @@
|
|||||||
These test cases come from http://www.w3.org/International/tests/html5/the-input-byte-stream/results-basics
|
|
BIN
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html
generated
vendored
BIN
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html
generated
vendored
Binary file not shown.
BIN
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html
generated
vendored
BIN
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html
generated
vendored
Binary file not shown.
@ -1,49 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta charset="iso-8859-15"> <title>UTF-8 BOM vs meta charset</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta charset attribute declares a different encoding.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }.test div { width: 90px; }
|
|
||||||
</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-utf8.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>UTF-8 BOM vs meta charset</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta charset attribute declares a different encoding.</p>
|
|
||||||
<div class="notes"><p><p>The page contains an encoding declaration in a meta charset attribute that attempts to set the character encoding to ISO 8859-15, but the file starts with a UTF-8 signature.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ýäè</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-024">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-038<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-038" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15"> <title>UTF-8 BOM vs meta content</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta content attribute declares a different encoding.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-utf8.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>UTF-8 BOM vs meta content</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">A page with a UTF-8 BOM will be recognized as UTF-8 even if the meta content attribute declares a different encoding.</p>
|
|
||||||
<div class="notes"><p><p>The page contains an encoding declaration in a meta content attribute that attempts to set the character encoding to ISO 8859-15, but the file starts with a UTF-8 signature.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ýäè</code>. This matches the sequence of bytes above when they are interpreted as UTF-8. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-038">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-037<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#precedence" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-037" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/meta-charset-attribute.html
generated
vendored
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/meta-charset-attribute.html
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta charset="iso-8859-15"> <title>meta charset attribute</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="The character encoding of the page can be set by a meta element with charset attribute.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-15.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>meta charset attribute</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">The character encoding of the page can be set by a meta element with charset attribute.</p>
|
|
||||||
<div class="notes"><p><p>The only character encoding declaration for this HTML file is in the charset attribute of the meta element, which declares the encoding to be ISO 8859-15.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ÜÀÚ</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-015">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-009<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#basics" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-009" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/meta-content-attribute.html
generated
vendored
48
Godeps/_workspace/src/golang.org/x/net/html/charset/testdata/meta-content-attribute.html
generated
vendored
@ -1,48 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" >
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15"> <title>meta content attribute</title>
|
|
||||||
<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
|
|
||||||
<link rel='help' href='http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream'>
|
|
||||||
<link rel="stylesheet" type="text/css" href="./generatedtests.css">
|
|
||||||
<script src="http://w3c-test.org/resources/testharness.js"></script>
|
|
||||||
<script src="http://w3c-test.org/resources/testharnessreport.js"></script>
|
|
||||||
<meta name='flags' content='http'>
|
|
||||||
<meta name="assert" content="The character encoding of the page can be set by a meta element with http-equiv and content attributes.">
|
|
||||||
<style type='text/css'>
|
|
||||||
.test div { width: 50px; }</style>
|
|
||||||
<link rel="stylesheet" type="text/css" href="the-input-byte-stream/support/encodingtests-15.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class='title'>meta content attribute</p>
|
|
||||||
|
|
||||||
|
|
||||||
<div id='log'></div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class='test'><div id='box' class='ýäè'> </div></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class='description'>
|
|
||||||
<p class="assertion" title="Assertion">The character encoding of the page can be set by a meta element with http-equiv and content attributes.</p>
|
|
||||||
<div class="notes"><p><p>The only character encoding declaration for this HTML file is in the content attribute of the meta element, which declares the encoding to be ISO 8859-15.</p><p>The test contains a div with a class name that contains the following sequence of bytes: 0xC3 0xBD 0xC3 0xA4 0xC3 0xA8. These represent different sequences of characters in ISO 8859-15, ISO 8859-1 and UTF-8. The external, UTF-8-encoded stylesheet contains a selector <code>.test div.ÜÀÚ</code>. This matches the sequence of bytes above when they are interpreted as ISO 8859-15. If the class name matches the selector then the test will pass.</p></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="nexttest"><div><a href="generate?test=the-input-byte-stream-009">Next test</a></div><div class="doctype">HTML5</div>
|
|
||||||
<p class="jump">the-input-byte-stream-007<br /><a href="/International/tests/html5/the-input-byte-stream/results-basics#basics" target="_blank">Result summary & related tests</a><br /><a href="http://w3c-test.org/framework/details/i18n-html5/the-input-byte-stream-007" target="_blank">Detailed results for this test</a><br/> <a href="http://www.w3.org/TR/html5/syntax.html#the-input-byte-stream" target="_blank">Link to spec</a></p>
|
|
||||||
<div class='prereq'>Assumptions: <ul><li>The default encoding for the browser you are testing is not set to ISO 8859-15.</li>
|
|
||||||
<li>The test is read from a server that supports HTTP.</li></ul></div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
test(function() {
|
|
||||||
assert_equals(document.getElementById('box').offsetWidth, 100);
|
|
||||||
}, " ");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
100
Godeps/_workspace/src/golang.org/x/net/html/const.go
generated
vendored
100
Godeps/_workspace/src/golang.org/x/net/html/const.go
generated
vendored
@ -1,100 +0,0 @@
|
|||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
// Section 12.2.3.2 of the HTML5 specification says "The following elements
|
|
||||||
// have varying levels of special parsing rules".
|
|
||||||
// http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#the-stack-of-open-elements
|
|
||||||
var isSpecialElementMap = map[string]bool{
|
|
||||||
"address": true,
|
|
||||||
"applet": true,
|
|
||||||
"area": true,
|
|
||||||
"article": true,
|
|
||||||
"aside": true,
|
|
||||||
"base": true,
|
|
||||||
"basefont": true,
|
|
||||||
"bgsound": true,
|
|
||||||
"blockquote": true,
|
|
||||||
"body": true,
|
|
||||||
"br": true,
|
|
||||||
"button": true,
|
|
||||||
"caption": true,
|
|
||||||
"center": true,
|
|
||||||
"col": true,
|
|
||||||
"colgroup": true,
|
|
||||||
"command": true,
|
|
||||||
"dd": true,
|
|
||||||
"details": true,
|
|
||||||
"dir": true,
|
|
||||||
"div": true,
|
|
||||||
"dl": true,
|
|
||||||
"dt": true,
|
|
||||||
"embed": true,
|
|
||||||
"fieldset": true,
|
|
||||||
"figcaption": true,
|
|
||||||
"figure": true,
|
|
||||||
"footer": true,
|
|
||||||
"form": true,
|
|
||||||
"frame": true,
|
|
||||||
"frameset": true,
|
|
||||||
"h1": true,
|
|
||||||
"h2": true,
|
|
||||||
"h3": true,
|
|
||||||
"h4": true,
|
|
||||||
"h5": true,
|
|
||||||
"h6": true,
|
|
||||||
"head": true,
|
|
||||||
"header": true,
|
|
||||||
"hgroup": true,
|
|
||||||
"hr": true,
|
|
||||||
"html": true,
|
|
||||||
"iframe": true,
|
|
||||||
"img": true,
|
|
||||||
"input": true,
|
|
||||||
"isindex": true,
|
|
||||||
"li": true,
|
|
||||||
"link": true,
|
|
||||||
"listing": true,
|
|
||||||
"marquee": true,
|
|
||||||
"menu": true,
|
|
||||||
"meta": true,
|
|
||||||
"nav": true,
|
|
||||||
"noembed": true,
|
|
||||||
"noframes": true,
|
|
||||||
"noscript": true,
|
|
||||||
"object": true,
|
|
||||||
"ol": true,
|
|
||||||
"p": true,
|
|
||||||
"param": true,
|
|
||||||
"plaintext": true,
|
|
||||||
"pre": true,
|
|
||||||
"script": true,
|
|
||||||
"section": true,
|
|
||||||
"select": true,
|
|
||||||
"style": true,
|
|
||||||
"summary": true,
|
|
||||||
"table": true,
|
|
||||||
"tbody": true,
|
|
||||||
"td": true,
|
|
||||||
"textarea": true,
|
|
||||||
"tfoot": true,
|
|
||||||
"th": true,
|
|
||||||
"thead": true,
|
|
||||||
"title": true,
|
|
||||||
"tr": true,
|
|
||||||
"ul": true,
|
|
||||||
"wbr": true,
|
|
||||||
"xmp": true,
|
|
||||||
}
|
|
||||||
|
|
||||||
func isSpecialElement(element *Node) bool {
|
|
||||||
switch element.Namespace {
|
|
||||||
case "", "html":
|
|
||||||
return isSpecialElementMap[element.Data]
|
|
||||||
case "svg":
|
|
||||||
return element.Data == "foreignObject"
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
106
Godeps/_workspace/src/golang.org/x/net/html/doc.go
generated
vendored
106
Godeps/_workspace/src/golang.org/x/net/html/doc.go
generated
vendored
@ -1,106 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
/*
|
|
||||||
Package html implements an HTML5-compliant tokenizer and parser.
|
|
||||||
|
|
||||||
Tokenization is done by creating a Tokenizer for an io.Reader r. It is the
|
|
||||||
caller's responsibility to ensure that r provides UTF-8 encoded HTML.
|
|
||||||
|
|
||||||
z := html.NewTokenizer(r)
|
|
||||||
|
|
||||||
Given a Tokenizer z, the HTML is tokenized by repeatedly calling z.Next(),
|
|
||||||
which parses the next token and returns its type, or an error:
|
|
||||||
|
|
||||||
for {
|
|
||||||
tt := z.Next()
|
|
||||||
if tt == html.ErrorToken {
|
|
||||||
// ...
|
|
||||||
return ...
|
|
||||||
}
|
|
||||||
// Process the current token.
|
|
||||||
}
|
|
||||||
|
|
||||||
There are two APIs for retrieving the current token. The high-level API is to
|
|
||||||
call Token; the low-level API is to call Text or TagName / TagAttr. Both APIs
|
|
||||||
allow optionally calling Raw after Next but before Token, Text, TagName, or
|
|
||||||
TagAttr. In EBNF notation, the valid call sequence per token is:
|
|
||||||
|
|
||||||
Next {Raw} [ Token | Text | TagName {TagAttr} ]
|
|
||||||
|
|
||||||
Token returns an independent data structure that completely describes a token.
|
|
||||||
Entities (such as "<") are unescaped, tag names and attribute keys are
|
|
||||||
lower-cased, and attributes are collected into a []Attribute. For example:
|
|
||||||
|
|
||||||
for {
|
|
||||||
if z.Next() == html.ErrorToken {
|
|
||||||
// Returning io.EOF indicates success.
|
|
||||||
return z.Err()
|
|
||||||
}
|
|
||||||
emitToken(z.Token())
|
|
||||||
}
|
|
||||||
|
|
||||||
The low-level API performs fewer allocations and copies, but the contents of
|
|
||||||
the []byte values returned by Text, TagName and TagAttr may change on the next
|
|
||||||
call to Next. For example, to extract an HTML page's anchor text:
|
|
||||||
|
|
||||||
depth := 0
|
|
||||||
for {
|
|
||||||
tt := z.Next()
|
|
||||||
switch tt {
|
|
||||||
case ErrorToken:
|
|
||||||
return z.Err()
|
|
||||||
case TextToken:
|
|
||||||
if depth > 0 {
|
|
||||||
// emitBytes should copy the []byte it receives,
|
|
||||||
// if it doesn't process it immediately.
|
|
||||||
emitBytes(z.Text())
|
|
||||||
}
|
|
||||||
case StartTagToken, EndTagToken:
|
|
||||||
tn, _ := z.TagName()
|
|
||||||
if len(tn) == 1 && tn[0] == 'a' {
|
|
||||||
if tt == StartTagToken {
|
|
||||||
depth++
|
|
||||||
} else {
|
|
||||||
depth--
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Parsing is done by calling Parse with an io.Reader, which returns the root of
|
|
||||||
the parse tree (the document element) as a *Node. It is the caller's
|
|
||||||
responsibility to ensure that the Reader provides UTF-8 encoded HTML. For
|
|
||||||
example, to process each anchor node in depth-first order:
|
|
||||||
|
|
||||||
doc, err := html.Parse(r)
|
|
||||||
if err != nil {
|
|
||||||
// ...
|
|
||||||
}
|
|
||||||
var f func(*html.Node)
|
|
||||||
f = func(n *html.Node) {
|
|
||||||
if n.Type == html.ElementNode && n.Data == "a" {
|
|
||||||
// Do something with n...
|
|
||||||
}
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
f(c)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
f(doc)
|
|
||||||
|
|
||||||
The relevant specifications include:
|
|
||||||
http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html and
|
|
||||||
http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html
|
|
||||||
*/
|
|
||||||
package html
|
|
||||||
|
|
||||||
// The tokenization algorithm implemented by this package is not a line-by-line
|
|
||||||
// transliteration of the relatively verbose state-machine in the WHATWG
|
|
||||||
// specification. A more direct approach is used instead, where the program
|
|
||||||
// counter implies the state, such as whether it is tokenizing a tag or a text
|
|
||||||
// node. Specification compliance is verified by checking expected and actual
|
|
||||||
// outputs over a test suite rather than aiming for algorithmic fidelity.
|
|
||||||
|
|
||||||
// TODO(nigeltao): Does a DOM API belong in this package or a separate one?
|
|
||||||
// TODO(nigeltao): How does parsing interact with a JavaScript engine?
|
|
156
Godeps/_workspace/src/golang.org/x/net/html/doctype.go
generated
vendored
156
Godeps/_workspace/src/golang.org/x/net/html/doctype.go
generated
vendored
@ -1,156 +0,0 @@
|
|||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
// parseDoctype parses the data from a DoctypeToken into a name,
|
|
||||||
// public identifier, and system identifier. It returns a Node whose Type
|
|
||||||
// is DoctypeNode, whose Data is the name, and which has attributes
|
|
||||||
// named "system" and "public" for the two identifiers if they were present.
|
|
||||||
// quirks is whether the document should be parsed in "quirks mode".
|
|
||||||
func parseDoctype(s string) (n *Node, quirks bool) {
|
|
||||||
n = &Node{Type: DoctypeNode}
|
|
||||||
|
|
||||||
// Find the name.
|
|
||||||
space := strings.IndexAny(s, whitespace)
|
|
||||||
if space == -1 {
|
|
||||||
space = len(s)
|
|
||||||
}
|
|
||||||
n.Data = s[:space]
|
|
||||||
// The comparison to "html" is case-sensitive.
|
|
||||||
if n.Data != "html" {
|
|
||||||
quirks = true
|
|
||||||
}
|
|
||||||
n.Data = strings.ToLower(n.Data)
|
|
||||||
s = strings.TrimLeft(s[space:], whitespace)
|
|
||||||
|
|
||||||
if len(s) < 6 {
|
|
||||||
// It can't start with "PUBLIC" or "SYSTEM".
|
|
||||||
// Ignore the rest of the string.
|
|
||||||
return n, quirks || s != ""
|
|
||||||
}
|
|
||||||
|
|
||||||
key := strings.ToLower(s[:6])
|
|
||||||
s = s[6:]
|
|
||||||
for key == "public" || key == "system" {
|
|
||||||
s = strings.TrimLeft(s, whitespace)
|
|
||||||
if s == "" {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
quote := s[0]
|
|
||||||
if quote != '"' && quote != '\'' {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
s = s[1:]
|
|
||||||
q := strings.IndexRune(s, rune(quote))
|
|
||||||
var id string
|
|
||||||
if q == -1 {
|
|
||||||
id = s
|
|
||||||
s = ""
|
|
||||||
} else {
|
|
||||||
id = s[:q]
|
|
||||||
s = s[q+1:]
|
|
||||||
}
|
|
||||||
n.Attr = append(n.Attr, Attribute{Key: key, Val: id})
|
|
||||||
if key == "public" {
|
|
||||||
key = "system"
|
|
||||||
} else {
|
|
||||||
key = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if key != "" || s != "" {
|
|
||||||
quirks = true
|
|
||||||
} else if len(n.Attr) > 0 {
|
|
||||||
if n.Attr[0].Key == "public" {
|
|
||||||
public := strings.ToLower(n.Attr[0].Val)
|
|
||||||
switch public {
|
|
||||||
case "-//w3o//dtd w3 html strict 3.0//en//", "-/w3d/dtd html 4.0 transitional/en", "html":
|
|
||||||
quirks = true
|
|
||||||
default:
|
|
||||||
for _, q := range quirkyIDs {
|
|
||||||
if strings.HasPrefix(public, q) {
|
|
||||||
quirks = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// The following two public IDs only cause quirks mode if there is no system ID.
|
|
||||||
if len(n.Attr) == 1 && (strings.HasPrefix(public, "-//w3c//dtd html 4.01 frameset//") ||
|
|
||||||
strings.HasPrefix(public, "-//w3c//dtd html 4.01 transitional//")) {
|
|
||||||
quirks = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if lastAttr := n.Attr[len(n.Attr)-1]; lastAttr.Key == "system" &&
|
|
||||||
strings.ToLower(lastAttr.Val) == "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd" {
|
|
||||||
quirks = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return n, quirks
|
|
||||||
}
|
|
||||||
|
|
||||||
// quirkyIDs is a list of public doctype identifiers that cause a document
|
|
||||||
// to be interpreted in quirks mode. The identifiers should be in lower case.
|
|
||||||
var quirkyIDs = []string{
|
|
||||||
"+//silmaril//dtd html pro v0r11 19970101//",
|
|
||||||
"-//advasoft ltd//dtd html 3.0 aswedit + extensions//",
|
|
||||||
"-//as//dtd html 3.0 aswedit + extensions//",
|
|
||||||
"-//ietf//dtd html 2.0 level 1//",
|
|
||||||
"-//ietf//dtd html 2.0 level 2//",
|
|
||||||
"-//ietf//dtd html 2.0 strict level 1//",
|
|
||||||
"-//ietf//dtd html 2.0 strict level 2//",
|
|
||||||
"-//ietf//dtd html 2.0 strict//",
|
|
||||||
"-//ietf//dtd html 2.0//",
|
|
||||||
"-//ietf//dtd html 2.1e//",
|
|
||||||
"-//ietf//dtd html 3.0//",
|
|
||||||
"-//ietf//dtd html 3.2 final//",
|
|
||||||
"-//ietf//dtd html 3.2//",
|
|
||||||
"-//ietf//dtd html 3//",
|
|
||||||
"-//ietf//dtd html level 0//",
|
|
||||||
"-//ietf//dtd html level 1//",
|
|
||||||
"-//ietf//dtd html level 2//",
|
|
||||||
"-//ietf//dtd html level 3//",
|
|
||||||
"-//ietf//dtd html strict level 0//",
|
|
||||||
"-//ietf//dtd html strict level 1//",
|
|
||||||
"-//ietf//dtd html strict level 2//",
|
|
||||||
"-//ietf//dtd html strict level 3//",
|
|
||||||
"-//ietf//dtd html strict//",
|
|
||||||
"-//ietf//dtd html//",
|
|
||||||
"-//metrius//dtd metrius presentational//",
|
|
||||||
"-//microsoft//dtd internet explorer 2.0 html strict//",
|
|
||||||
"-//microsoft//dtd internet explorer 2.0 html//",
|
|
||||||
"-//microsoft//dtd internet explorer 2.0 tables//",
|
|
||||||
"-//microsoft//dtd internet explorer 3.0 html strict//",
|
|
||||||
"-//microsoft//dtd internet explorer 3.0 html//",
|
|
||||||
"-//microsoft//dtd internet explorer 3.0 tables//",
|
|
||||||
"-//netscape comm. corp.//dtd html//",
|
|
||||||
"-//netscape comm. corp.//dtd strict html//",
|
|
||||||
"-//o'reilly and associates//dtd html 2.0//",
|
|
||||||
"-//o'reilly and associates//dtd html extended 1.0//",
|
|
||||||
"-//o'reilly and associates//dtd html extended relaxed 1.0//",
|
|
||||||
"-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//",
|
|
||||||
"-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//",
|
|
||||||
"-//spyglass//dtd html 2.0 extended//",
|
|
||||||
"-//sq//dtd html 2.0 hotmetal + extensions//",
|
|
||||||
"-//sun microsystems corp.//dtd hotjava html//",
|
|
||||||
"-//sun microsystems corp.//dtd hotjava strict html//",
|
|
||||||
"-//w3c//dtd html 3 1995-03-24//",
|
|
||||||
"-//w3c//dtd html 3.2 draft//",
|
|
||||||
"-//w3c//dtd html 3.2 final//",
|
|
||||||
"-//w3c//dtd html 3.2//",
|
|
||||||
"-//w3c//dtd html 3.2s draft//",
|
|
||||||
"-//w3c//dtd html 4.0 frameset//",
|
|
||||||
"-//w3c//dtd html 4.0 transitional//",
|
|
||||||
"-//w3c//dtd html experimental 19960712//",
|
|
||||||
"-//w3c//dtd html experimental 970421//",
|
|
||||||
"-//w3c//dtd w3 html//",
|
|
||||||
"-//w3o//dtd w3 html 3.0//",
|
|
||||||
"-//webtechs//dtd mozilla html 2.0//",
|
|
||||||
"-//webtechs//dtd mozilla html//",
|
|
||||||
}
|
|
2253
Godeps/_workspace/src/golang.org/x/net/html/entity.go
generated
vendored
2253
Godeps/_workspace/src/golang.org/x/net/html/entity.go
generated
vendored
File diff suppressed because it is too large
Load Diff
29
Godeps/_workspace/src/golang.org/x/net/html/entity_test.go
generated
vendored
29
Godeps/_workspace/src/golang.org/x/net/html/entity_test.go
generated
vendored
@ -1,29 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
"unicode/utf8"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestEntityLength(t *testing.T) {
|
|
||||||
// We verify that the length of UTF-8 encoding of each value is <= 1 + len(key).
|
|
||||||
// The +1 comes from the leading "&". This property implies that the length of
|
|
||||||
// unescaped text is <= the length of escaped text.
|
|
||||||
for k, v := range entity {
|
|
||||||
if 1+len(k) < utf8.RuneLen(v) {
|
|
||||||
t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v))
|
|
||||||
}
|
|
||||||
if len(k) > longestEntityWithoutSemicolon && k[len(k)-1] != ';' {
|
|
||||||
t.Errorf("entity name %s is %d characters, but longestEntityWithoutSemicolon=%d", k, len(k), longestEntityWithoutSemicolon)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for k, v := range entity2 {
|
|
||||||
if 1+len(k) < utf8.RuneLen(v[0])+utf8.RuneLen(v[1]) {
|
|
||||||
t.Error("escaped entity &" + k + " is shorter than its UTF-8 encoding " + string(v[0]) + string(v[1]))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
258
Godeps/_workspace/src/golang.org/x/net/html/escape.go
generated
vendored
258
Godeps/_workspace/src/golang.org/x/net/html/escape.go
generated
vendored
@ -1,258 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"strings"
|
|
||||||
"unicode/utf8"
|
|
||||||
)
|
|
||||||
|
|
||||||
// These replacements permit compatibility with old numeric entities that
|
|
||||||
// assumed Windows-1252 encoding.
|
|
||||||
// http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#consume-a-character-reference
|
|
||||||
var replacementTable = [...]rune{
|
|
||||||
'\u20AC', // First entry is what 0x80 should be replaced with.
|
|
||||||
'\u0081',
|
|
||||||
'\u201A',
|
|
||||||
'\u0192',
|
|
||||||
'\u201E',
|
|
||||||
'\u2026',
|
|
||||||
'\u2020',
|
|
||||||
'\u2021',
|
|
||||||
'\u02C6',
|
|
||||||
'\u2030',
|
|
||||||
'\u0160',
|
|
||||||
'\u2039',
|
|
||||||
'\u0152',
|
|
||||||
'\u008D',
|
|
||||||
'\u017D',
|
|
||||||
'\u008F',
|
|
||||||
'\u0090',
|
|
||||||
'\u2018',
|
|
||||||
'\u2019',
|
|
||||||
'\u201C',
|
|
||||||
'\u201D',
|
|
||||||
'\u2022',
|
|
||||||
'\u2013',
|
|
||||||
'\u2014',
|
|
||||||
'\u02DC',
|
|
||||||
'\u2122',
|
|
||||||
'\u0161',
|
|
||||||
'\u203A',
|
|
||||||
'\u0153',
|
|
||||||
'\u009D',
|
|
||||||
'\u017E',
|
|
||||||
'\u0178', // Last entry is 0x9F.
|
|
||||||
// 0x00->'\uFFFD' is handled programmatically.
|
|
||||||
// 0x0D->'\u000D' is a no-op.
|
|
||||||
}
|
|
||||||
|
|
||||||
// unescapeEntity reads an entity like "<" from b[src:] and writes the
|
|
||||||
// corresponding "<" to b[dst:], returning the incremented dst and src cursors.
|
|
||||||
// Precondition: b[src] == '&' && dst <= src.
|
|
||||||
// attribute should be true if parsing an attribute value.
|
|
||||||
func unescapeEntity(b []byte, dst, src int, attribute bool) (dst1, src1 int) {
|
|
||||||
// http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#consume-a-character-reference
|
|
||||||
|
|
||||||
// i starts at 1 because we already know that s[0] == '&'.
|
|
||||||
i, s := 1, b[src:]
|
|
||||||
|
|
||||||
if len(s) <= 1 {
|
|
||||||
b[dst] = b[src]
|
|
||||||
return dst + 1, src + 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if s[i] == '#' {
|
|
||||||
if len(s) <= 3 { // We need to have at least "&#.".
|
|
||||||
b[dst] = b[src]
|
|
||||||
return dst + 1, src + 1
|
|
||||||
}
|
|
||||||
i++
|
|
||||||
c := s[i]
|
|
||||||
hex := false
|
|
||||||
if c == 'x' || c == 'X' {
|
|
||||||
hex = true
|
|
||||||
i++
|
|
||||||
}
|
|
||||||
|
|
||||||
x := '\x00'
|
|
||||||
for i < len(s) {
|
|
||||||
c = s[i]
|
|
||||||
i++
|
|
||||||
if hex {
|
|
||||||
if '0' <= c && c <= '9' {
|
|
||||||
x = 16*x + rune(c) - '0'
|
|
||||||
continue
|
|
||||||
} else if 'a' <= c && c <= 'f' {
|
|
||||||
x = 16*x + rune(c) - 'a' + 10
|
|
||||||
continue
|
|
||||||
} else if 'A' <= c && c <= 'F' {
|
|
||||||
x = 16*x + rune(c) - 'A' + 10
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
} else if '0' <= c && c <= '9' {
|
|
||||||
x = 10*x + rune(c) - '0'
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if c != ';' {
|
|
||||||
i--
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
if i <= 3 { // No characters matched.
|
|
||||||
b[dst] = b[src]
|
|
||||||
return dst + 1, src + 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if 0x80 <= x && x <= 0x9F {
|
|
||||||
// Replace characters from Windows-1252 with UTF-8 equivalents.
|
|
||||||
x = replacementTable[x-0x80]
|
|
||||||
} else if x == 0 || (0xD800 <= x && x <= 0xDFFF) || x > 0x10FFFF {
|
|
||||||
// Replace invalid characters with the replacement character.
|
|
||||||
x = '\uFFFD'
|
|
||||||
}
|
|
||||||
|
|
||||||
return dst + utf8.EncodeRune(b[dst:], x), src + i
|
|
||||||
}
|
|
||||||
|
|
||||||
// Consume the maximum number of characters possible, with the
|
|
||||||
// consumed characters matching one of the named references.
|
|
||||||
|
|
||||||
for i < len(s) {
|
|
||||||
c := s[i]
|
|
||||||
i++
|
|
||||||
// Lower-cased characters are more common in entities, so we check for them first.
|
|
||||||
if 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9' {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if c != ';' {
|
|
||||||
i--
|
|
||||||
}
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
entityName := string(s[1:i])
|
|
||||||
if entityName == "" {
|
|
||||||
// No-op.
|
|
||||||
} else if attribute && entityName[len(entityName)-1] != ';' && len(s) > i && s[i] == '=' {
|
|
||||||
// No-op.
|
|
||||||
} else if x := entity[entityName]; x != 0 {
|
|
||||||
return dst + utf8.EncodeRune(b[dst:], x), src + i
|
|
||||||
} else if x := entity2[entityName]; x[0] != 0 {
|
|
||||||
dst1 := dst + utf8.EncodeRune(b[dst:], x[0])
|
|
||||||
return dst1 + utf8.EncodeRune(b[dst1:], x[1]), src + i
|
|
||||||
} else if !attribute {
|
|
||||||
maxLen := len(entityName) - 1
|
|
||||||
if maxLen > longestEntityWithoutSemicolon {
|
|
||||||
maxLen = longestEntityWithoutSemicolon
|
|
||||||
}
|
|
||||||
for j := maxLen; j > 1; j-- {
|
|
||||||
if x := entity[entityName[:j]]; x != 0 {
|
|
||||||
return dst + utf8.EncodeRune(b[dst:], x), src + j + 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dst1, src1 = dst+i, src+i
|
|
||||||
copy(b[dst:dst1], b[src:src1])
|
|
||||||
return dst1, src1
|
|
||||||
}
|
|
||||||
|
|
||||||
// unescape unescapes b's entities in-place, so that "a<b" becomes "a<b".
|
|
||||||
// attribute should be true if parsing an attribute value.
|
|
||||||
func unescape(b []byte, attribute bool) []byte {
|
|
||||||
for i, c := range b {
|
|
||||||
if c == '&' {
|
|
||||||
dst, src := unescapeEntity(b, i, i, attribute)
|
|
||||||
for src < len(b) {
|
|
||||||
c := b[src]
|
|
||||||
if c == '&' {
|
|
||||||
dst, src = unescapeEntity(b, dst, src, attribute)
|
|
||||||
} else {
|
|
||||||
b[dst] = c
|
|
||||||
dst, src = dst+1, src+1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b[0:dst]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// lower lower-cases the A-Z bytes in b in-place, so that "aBc" becomes "abc".
|
|
||||||
func lower(b []byte) []byte {
|
|
||||||
for i, c := range b {
|
|
||||||
if 'A' <= c && c <= 'Z' {
|
|
||||||
b[i] = c + 'a' - 'A'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
const escapedChars = "&'<>\"\r"
|
|
||||||
|
|
||||||
func escape(w writer, s string) error {
|
|
||||||
i := strings.IndexAny(s, escapedChars)
|
|
||||||
for i != -1 {
|
|
||||||
if _, err := w.WriteString(s[:i]); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
var esc string
|
|
||||||
switch s[i] {
|
|
||||||
case '&':
|
|
||||||
esc = "&"
|
|
||||||
case '\'':
|
|
||||||
// "'" is shorter than "'" and apos was not in HTML until HTML5.
|
|
||||||
esc = "'"
|
|
||||||
case '<':
|
|
||||||
esc = "<"
|
|
||||||
case '>':
|
|
||||||
esc = ">"
|
|
||||||
case '"':
|
|
||||||
// """ is shorter than """.
|
|
||||||
esc = """
|
|
||||||
case '\r':
|
|
||||||
esc = " "
|
|
||||||
default:
|
|
||||||
panic("unrecognized escape character")
|
|
||||||
}
|
|
||||||
s = s[i+1:]
|
|
||||||
if _, err := w.WriteString(esc); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
i = strings.IndexAny(s, escapedChars)
|
|
||||||
}
|
|
||||||
_, err := w.WriteString(s)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// EscapeString escapes special characters like "<" to become "<". It
|
|
||||||
// escapes only five such characters: <, >, &, ' and ".
|
|
||||||
// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't
|
|
||||||
// always true.
|
|
||||||
func EscapeString(s string) string {
|
|
||||||
if strings.IndexAny(s, escapedChars) == -1 {
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
var buf bytes.Buffer
|
|
||||||
escape(&buf, s)
|
|
||||||
return buf.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnescapeString unescapes entities like "<" to become "<". It unescapes a
|
|
||||||
// larger range of entities than EscapeString escapes. For example, "á"
|
|
||||||
// unescapes to "á", as does "á" and "&xE1;".
|
|
||||||
// UnescapeString(EscapeString(s)) == s always holds, but the converse isn't
|
|
||||||
// always true.
|
|
||||||
func UnescapeString(s string) string {
|
|
||||||
for _, c := range s {
|
|
||||||
if c == '&' {
|
|
||||||
return string(unescape([]byte(s), false))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return s
|
|
||||||
}
|
|
97
Godeps/_workspace/src/golang.org/x/net/html/escape_test.go
generated
vendored
97
Godeps/_workspace/src/golang.org/x/net/html/escape_test.go
generated
vendored
@ -1,97 +0,0 @@
|
|||||||
// Copyright 2013 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import "testing"
|
|
||||||
|
|
||||||
type unescapeTest struct {
|
|
||||||
// A short description of the test case.
|
|
||||||
desc string
|
|
||||||
// The HTML text.
|
|
||||||
html string
|
|
||||||
// The unescaped text.
|
|
||||||
unescaped string
|
|
||||||
}
|
|
||||||
|
|
||||||
var unescapeTests = []unescapeTest{
|
|
||||||
// Handle no entities.
|
|
||||||
{
|
|
||||||
"copy",
|
|
||||||
"A\ttext\nstring",
|
|
||||||
"A\ttext\nstring",
|
|
||||||
},
|
|
||||||
// Handle simple named entities.
|
|
||||||
{
|
|
||||||
"simple",
|
|
||||||
"& > <",
|
|
||||||
"& > <",
|
|
||||||
},
|
|
||||||
// Handle hitting the end of the string.
|
|
||||||
{
|
|
||||||
"stringEnd",
|
|
||||||
"& &",
|
|
||||||
"& &",
|
|
||||||
},
|
|
||||||
// Handle entities with two codepoints.
|
|
||||||
{
|
|
||||||
"multiCodepoint",
|
|
||||||
"text ⋛︀ blah",
|
|
||||||
"text \u22db\ufe00 blah",
|
|
||||||
},
|
|
||||||
// Handle decimal numeric entities.
|
|
||||||
{
|
|
||||||
"decimalEntity",
|
|
||||||
"Delta = Δ ",
|
|
||||||
"Delta = Δ ",
|
|
||||||
},
|
|
||||||
// Handle hexadecimal numeric entities.
|
|
||||||
{
|
|
||||||
"hexadecimalEntity",
|
|
||||||
"Lambda = λ = λ ",
|
|
||||||
"Lambda = λ = λ ",
|
|
||||||
},
|
|
||||||
// Handle numeric early termination.
|
|
||||||
{
|
|
||||||
"numericEnds",
|
|
||||||
"&# &#x €43 © = ©f = ©",
|
|
||||||
"&# &#x €43 © = ©f = ©",
|
|
||||||
},
|
|
||||||
// Handle numeric ISO-8859-1 entity replacements.
|
|
||||||
{
|
|
||||||
"numericReplacements",
|
|
||||||
"Footnote‡",
|
|
||||||
"Footnote‡",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUnescape(t *testing.T) {
|
|
||||||
for _, tt := range unescapeTests {
|
|
||||||
unescaped := UnescapeString(tt.html)
|
|
||||||
if unescaped != tt.unescaped {
|
|
||||||
t.Errorf("TestUnescape %s: want %q, got %q", tt.desc, tt.unescaped, unescaped)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUnescapeEscape(t *testing.T) {
|
|
||||||
ss := []string{
|
|
||||||
``,
|
|
||||||
`abc def`,
|
|
||||||
`a & b`,
|
|
||||||
`a&b`,
|
|
||||||
`a & b`,
|
|
||||||
`"`,
|
|
||||||
`"`,
|
|
||||||
`"<&>"`,
|
|
||||||
`"<&>"`,
|
|
||||||
`3&5==1 && 0<1, "0<1", a+acute=á`,
|
|
||||||
`The special characters are: <, >, &, ' and "`,
|
|
||||||
}
|
|
||||||
for _, s := range ss {
|
|
||||||
if got := UnescapeString(EscapeString(s)); got != s {
|
|
||||||
t.Errorf("got %q want %q", got, s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
40
Godeps/_workspace/src/golang.org/x/net/html/example_test.go
generated
vendored
40
Godeps/_workspace/src/golang.org/x/net/html/example_test.go
generated
vendored
@ -1,40 +0,0 @@
|
|||||||
// Copyright 2012 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// This example demonstrates parsing HTML data and walking the resulting tree.
|
|
||||||
package html_test
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"log"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/net/html"
|
|
||||||
)
|
|
||||||
|
|
||||||
func ExampleParse() {
|
|
||||||
s := `<p>Links:</p><ul><li><a href="foo">Foo</a><li><a href="/bar/baz">BarBaz</a></ul>`
|
|
||||||
doc, err := html.Parse(strings.NewReader(s))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
var f func(*html.Node)
|
|
||||||
f = func(n *html.Node) {
|
|
||||||
if n.Type == html.ElementNode && n.Data == "a" {
|
|
||||||
for _, a := range n.Attr {
|
|
||||||
if a.Key == "href" {
|
|
||||||
fmt.Println(a.Val)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
f(c)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
f(doc)
|
|
||||||
// Output:
|
|
||||||
// foo
|
|
||||||
// /bar/baz
|
|
||||||
}
|
|
226
Godeps/_workspace/src/golang.org/x/net/html/foreign.go
generated
vendored
226
Godeps/_workspace/src/golang.org/x/net/html/foreign.go
generated
vendored
@ -1,226 +0,0 @@
|
|||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func adjustAttributeNames(aa []Attribute, nameMap map[string]string) {
|
|
||||||
for i := range aa {
|
|
||||||
if newName, ok := nameMap[aa[i].Key]; ok {
|
|
||||||
aa[i].Key = newName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func adjustForeignAttributes(aa []Attribute) {
|
|
||||||
for i, a := range aa {
|
|
||||||
if a.Key == "" || a.Key[0] != 'x' {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
switch a.Key {
|
|
||||||
case "xlink:actuate", "xlink:arcrole", "xlink:href", "xlink:role", "xlink:show",
|
|
||||||
"xlink:title", "xlink:type", "xml:base", "xml:lang", "xml:space", "xmlns:xlink":
|
|
||||||
j := strings.Index(a.Key, ":")
|
|
||||||
aa[i].Namespace = a.Key[:j]
|
|
||||||
aa[i].Key = a.Key[j+1:]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func htmlIntegrationPoint(n *Node) bool {
|
|
||||||
if n.Type != ElementNode {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
switch n.Namespace {
|
|
||||||
case "math":
|
|
||||||
if n.Data == "annotation-xml" {
|
|
||||||
for _, a := range n.Attr {
|
|
||||||
if a.Key == "encoding" {
|
|
||||||
val := strings.ToLower(a.Val)
|
|
||||||
if val == "text/html" || val == "application/xhtml+xml" {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case "svg":
|
|
||||||
switch n.Data {
|
|
||||||
case "desc", "foreignObject", "title":
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func mathMLTextIntegrationPoint(n *Node) bool {
|
|
||||||
if n.Namespace != "math" {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
switch n.Data {
|
|
||||||
case "mi", "mo", "mn", "ms", "mtext":
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Section 12.2.5.5.
|
|
||||||
var breakout = map[string]bool{
|
|
||||||
"b": true,
|
|
||||||
"big": true,
|
|
||||||
"blockquote": true,
|
|
||||||
"body": true,
|
|
||||||
"br": true,
|
|
||||||
"center": true,
|
|
||||||
"code": true,
|
|
||||||
"dd": true,
|
|
||||||
"div": true,
|
|
||||||
"dl": true,
|
|
||||||
"dt": true,
|
|
||||||
"em": true,
|
|
||||||
"embed": true,
|
|
||||||
"h1": true,
|
|
||||||
"h2": true,
|
|
||||||
"h3": true,
|
|
||||||
"h4": true,
|
|
||||||
"h5": true,
|
|
||||||
"h6": true,
|
|
||||||
"head": true,
|
|
||||||
"hr": true,
|
|
||||||
"i": true,
|
|
||||||
"img": true,
|
|
||||||
"li": true,
|
|
||||||
"listing": true,
|
|
||||||
"menu": true,
|
|
||||||
"meta": true,
|
|
||||||
"nobr": true,
|
|
||||||
"ol": true,
|
|
||||||
"p": true,
|
|
||||||
"pre": true,
|
|
||||||
"ruby": true,
|
|
||||||
"s": true,
|
|
||||||
"small": true,
|
|
||||||
"span": true,
|
|
||||||
"strong": true,
|
|
||||||
"strike": true,
|
|
||||||
"sub": true,
|
|
||||||
"sup": true,
|
|
||||||
"table": true,
|
|
||||||
"tt": true,
|
|
||||||
"u": true,
|
|
||||||
"ul": true,
|
|
||||||
"var": true,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Section 12.2.5.5.
|
|
||||||
var svgTagNameAdjustments = map[string]string{
|
|
||||||
"altglyph": "altGlyph",
|
|
||||||
"altglyphdef": "altGlyphDef",
|
|
||||||
"altglyphitem": "altGlyphItem",
|
|
||||||
"animatecolor": "animateColor",
|
|
||||||
"animatemotion": "animateMotion",
|
|
||||||
"animatetransform": "animateTransform",
|
|
||||||
"clippath": "clipPath",
|
|
||||||
"feblend": "feBlend",
|
|
||||||
"fecolormatrix": "feColorMatrix",
|
|
||||||
"fecomponenttransfer": "feComponentTransfer",
|
|
||||||
"fecomposite": "feComposite",
|
|
||||||
"feconvolvematrix": "feConvolveMatrix",
|
|
||||||
"fediffuselighting": "feDiffuseLighting",
|
|
||||||
"fedisplacementmap": "feDisplacementMap",
|
|
||||||
"fedistantlight": "feDistantLight",
|
|
||||||
"feflood": "feFlood",
|
|
||||||
"fefunca": "feFuncA",
|
|
||||||
"fefuncb": "feFuncB",
|
|
||||||
"fefuncg": "feFuncG",
|
|
||||||
"fefuncr": "feFuncR",
|
|
||||||
"fegaussianblur": "feGaussianBlur",
|
|
||||||
"feimage": "feImage",
|
|
||||||
"femerge": "feMerge",
|
|
||||||
"femergenode": "feMergeNode",
|
|
||||||
"femorphology": "feMorphology",
|
|
||||||
"feoffset": "feOffset",
|
|
||||||
"fepointlight": "fePointLight",
|
|
||||||
"fespecularlighting": "feSpecularLighting",
|
|
||||||
"fespotlight": "feSpotLight",
|
|
||||||
"fetile": "feTile",
|
|
||||||
"feturbulence": "feTurbulence",
|
|
||||||
"foreignobject": "foreignObject",
|
|
||||||
"glyphref": "glyphRef",
|
|
||||||
"lineargradient": "linearGradient",
|
|
||||||
"radialgradient": "radialGradient",
|
|
||||||
"textpath": "textPath",
|
|
||||||
}
|
|
||||||
|
|
||||||
// Section 12.2.5.1
|
|
||||||
var mathMLAttributeAdjustments = map[string]string{
|
|
||||||
"definitionurl": "definitionURL",
|
|
||||||
}
|
|
||||||
|
|
||||||
var svgAttributeAdjustments = map[string]string{
|
|
||||||
"attributename": "attributeName",
|
|
||||||
"attributetype": "attributeType",
|
|
||||||
"basefrequency": "baseFrequency",
|
|
||||||
"baseprofile": "baseProfile",
|
|
||||||
"calcmode": "calcMode",
|
|
||||||
"clippathunits": "clipPathUnits",
|
|
||||||
"contentscripttype": "contentScriptType",
|
|
||||||
"contentstyletype": "contentStyleType",
|
|
||||||
"diffuseconstant": "diffuseConstant",
|
|
||||||
"edgemode": "edgeMode",
|
|
||||||
"externalresourcesrequired": "externalResourcesRequired",
|
|
||||||
"filterres": "filterRes",
|
|
||||||
"filterunits": "filterUnits",
|
|
||||||
"glyphref": "glyphRef",
|
|
||||||
"gradienttransform": "gradientTransform",
|
|
||||||
"gradientunits": "gradientUnits",
|
|
||||||
"kernelmatrix": "kernelMatrix",
|
|
||||||
"kernelunitlength": "kernelUnitLength",
|
|
||||||
"keypoints": "keyPoints",
|
|
||||||
"keysplines": "keySplines",
|
|
||||||
"keytimes": "keyTimes",
|
|
||||||
"lengthadjust": "lengthAdjust",
|
|
||||||
"limitingconeangle": "limitingConeAngle",
|
|
||||||
"markerheight": "markerHeight",
|
|
||||||
"markerunits": "markerUnits",
|
|
||||||
"markerwidth": "markerWidth",
|
|
||||||
"maskcontentunits": "maskContentUnits",
|
|
||||||
"maskunits": "maskUnits",
|
|
||||||
"numoctaves": "numOctaves",
|
|
||||||
"pathlength": "pathLength",
|
|
||||||
"patterncontentunits": "patternContentUnits",
|
|
||||||
"patterntransform": "patternTransform",
|
|
||||||
"patternunits": "patternUnits",
|
|
||||||
"pointsatx": "pointsAtX",
|
|
||||||
"pointsaty": "pointsAtY",
|
|
||||||
"pointsatz": "pointsAtZ",
|
|
||||||
"preservealpha": "preserveAlpha",
|
|
||||||
"preserveaspectratio": "preserveAspectRatio",
|
|
||||||
"primitiveunits": "primitiveUnits",
|
|
||||||
"refx": "refX",
|
|
||||||
"refy": "refY",
|
|
||||||
"repeatcount": "repeatCount",
|
|
||||||
"repeatdur": "repeatDur",
|
|
||||||
"requiredextensions": "requiredExtensions",
|
|
||||||
"requiredfeatures": "requiredFeatures",
|
|
||||||
"specularconstant": "specularConstant",
|
|
||||||
"specularexponent": "specularExponent",
|
|
||||||
"spreadmethod": "spreadMethod",
|
|
||||||
"startoffset": "startOffset",
|
|
||||||
"stddeviation": "stdDeviation",
|
|
||||||
"stitchtiles": "stitchTiles",
|
|
||||||
"surfacescale": "surfaceScale",
|
|
||||||
"systemlanguage": "systemLanguage",
|
|
||||||
"tablevalues": "tableValues",
|
|
||||||
"targetx": "targetX",
|
|
||||||
"targety": "targetY",
|
|
||||||
"textlength": "textLength",
|
|
||||||
"viewbox": "viewBox",
|
|
||||||
"viewtarget": "viewTarget",
|
|
||||||
"xchannelselector": "xChannelSelector",
|
|
||||||
"ychannelselector": "yChannelSelector",
|
|
||||||
"zoomandpan": "zoomAndPan",
|
|
||||||
}
|
|
193
Godeps/_workspace/src/golang.org/x/net/html/node.go
generated
vendored
193
Godeps/_workspace/src/golang.org/x/net/html/node.go
generated
vendored
@ -1,193 +0,0 @@
|
|||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/net/html/atom"
|
|
||||||
)
|
|
||||||
|
|
||||||
// A NodeType is the type of a Node.
|
|
||||||
type NodeType uint32
|
|
||||||
|
|
||||||
const (
|
|
||||||
ErrorNode NodeType = iota
|
|
||||||
TextNode
|
|
||||||
DocumentNode
|
|
||||||
ElementNode
|
|
||||||
CommentNode
|
|
||||||
DoctypeNode
|
|
||||||
scopeMarkerNode
|
|
||||||
)
|
|
||||||
|
|
||||||
// Section 12.2.3.3 says "scope markers are inserted when entering applet
|
|
||||||
// elements, buttons, object elements, marquees, table cells, and table
|
|
||||||
// captions, and are used to prevent formatting from 'leaking'".
|
|
||||||
var scopeMarker = Node{Type: scopeMarkerNode}
|
|
||||||
|
|
||||||
// A Node consists of a NodeType and some Data (tag name for element nodes,
|
|
||||||
// content for text) and are part of a tree of Nodes. Element nodes may also
|
|
||||||
// have a Namespace and contain a slice of Attributes. Data is unescaped, so
|
|
||||||
// that it looks like "a<b" rather than "a<b". For element nodes, DataAtom
|
|
||||||
// is the atom for Data, or zero if Data is not a known tag name.
|
|
||||||
//
|
|
||||||
// An empty Namespace implies a "http://www.w3.org/1999/xhtml" namespace.
|
|
||||||
// Similarly, "math" is short for "http://www.w3.org/1998/Math/MathML", and
|
|
||||||
// "svg" is short for "http://www.w3.org/2000/svg".
|
|
||||||
type Node struct {
|
|
||||||
Parent, FirstChild, LastChild, PrevSibling, NextSibling *Node
|
|
||||||
|
|
||||||
Type NodeType
|
|
||||||
DataAtom atom.Atom
|
|
||||||
Data string
|
|
||||||
Namespace string
|
|
||||||
Attr []Attribute
|
|
||||||
}
|
|
||||||
|
|
||||||
// InsertBefore inserts newChild as a child of n, immediately before oldChild
|
|
||||||
// in the sequence of n's children. oldChild may be nil, in which case newChild
|
|
||||||
// is appended to the end of n's children.
|
|
||||||
//
|
|
||||||
// It will panic if newChild already has a parent or siblings.
|
|
||||||
func (n *Node) InsertBefore(newChild, oldChild *Node) {
|
|
||||||
if newChild.Parent != nil || newChild.PrevSibling != nil || newChild.NextSibling != nil {
|
|
||||||
panic("html: InsertBefore called for an attached child Node")
|
|
||||||
}
|
|
||||||
var prev, next *Node
|
|
||||||
if oldChild != nil {
|
|
||||||
prev, next = oldChild.PrevSibling, oldChild
|
|
||||||
} else {
|
|
||||||
prev = n.LastChild
|
|
||||||
}
|
|
||||||
if prev != nil {
|
|
||||||
prev.NextSibling = newChild
|
|
||||||
} else {
|
|
||||||
n.FirstChild = newChild
|
|
||||||
}
|
|
||||||
if next != nil {
|
|
||||||
next.PrevSibling = newChild
|
|
||||||
} else {
|
|
||||||
n.LastChild = newChild
|
|
||||||
}
|
|
||||||
newChild.Parent = n
|
|
||||||
newChild.PrevSibling = prev
|
|
||||||
newChild.NextSibling = next
|
|
||||||
}
|
|
||||||
|
|
||||||
// AppendChild adds a node c as a child of n.
|
|
||||||
//
|
|
||||||
// It will panic if c already has a parent or siblings.
|
|
||||||
func (n *Node) AppendChild(c *Node) {
|
|
||||||
if c.Parent != nil || c.PrevSibling != nil || c.NextSibling != nil {
|
|
||||||
panic("html: AppendChild called for an attached child Node")
|
|
||||||
}
|
|
||||||
last := n.LastChild
|
|
||||||
if last != nil {
|
|
||||||
last.NextSibling = c
|
|
||||||
} else {
|
|
||||||
n.FirstChild = c
|
|
||||||
}
|
|
||||||
n.LastChild = c
|
|
||||||
c.Parent = n
|
|
||||||
c.PrevSibling = last
|
|
||||||
}
|
|
||||||
|
|
||||||
// RemoveChild removes a node c that is a child of n. Afterwards, c will have
|
|
||||||
// no parent and no siblings.
|
|
||||||
//
|
|
||||||
// It will panic if c's parent is not n.
|
|
||||||
func (n *Node) RemoveChild(c *Node) {
|
|
||||||
if c.Parent != n {
|
|
||||||
panic("html: RemoveChild called for a non-child Node")
|
|
||||||
}
|
|
||||||
if n.FirstChild == c {
|
|
||||||
n.FirstChild = c.NextSibling
|
|
||||||
}
|
|
||||||
if c.NextSibling != nil {
|
|
||||||
c.NextSibling.PrevSibling = c.PrevSibling
|
|
||||||
}
|
|
||||||
if n.LastChild == c {
|
|
||||||
n.LastChild = c.PrevSibling
|
|
||||||
}
|
|
||||||
if c.PrevSibling != nil {
|
|
||||||
c.PrevSibling.NextSibling = c.NextSibling
|
|
||||||
}
|
|
||||||
c.Parent = nil
|
|
||||||
c.PrevSibling = nil
|
|
||||||
c.NextSibling = nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// reparentChildren reparents all of src's child nodes to dst.
|
|
||||||
func reparentChildren(dst, src *Node) {
|
|
||||||
for {
|
|
||||||
child := src.FirstChild
|
|
||||||
if child == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
src.RemoveChild(child)
|
|
||||||
dst.AppendChild(child)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// clone returns a new node with the same type, data and attributes.
|
|
||||||
// The clone has no parent, no siblings and no children.
|
|
||||||
func (n *Node) clone() *Node {
|
|
||||||
m := &Node{
|
|
||||||
Type: n.Type,
|
|
||||||
DataAtom: n.DataAtom,
|
|
||||||
Data: n.Data,
|
|
||||||
Attr: make([]Attribute, len(n.Attr)),
|
|
||||||
}
|
|
||||||
copy(m.Attr, n.Attr)
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|
||||||
// nodeStack is a stack of nodes.
|
|
||||||
type nodeStack []*Node
|
|
||||||
|
|
||||||
// pop pops the stack. It will panic if s is empty.
|
|
||||||
func (s *nodeStack) pop() *Node {
|
|
||||||
i := len(*s)
|
|
||||||
n := (*s)[i-1]
|
|
||||||
*s = (*s)[:i-1]
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
// top returns the most recently pushed node, or nil if s is empty.
|
|
||||||
func (s *nodeStack) top() *Node {
|
|
||||||
if i := len(*s); i > 0 {
|
|
||||||
return (*s)[i-1]
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// index returns the index of the top-most occurrence of n in the stack, or -1
|
|
||||||
// if n is not present.
|
|
||||||
func (s *nodeStack) index(n *Node) int {
|
|
||||||
for i := len(*s) - 1; i >= 0; i-- {
|
|
||||||
if (*s)[i] == n {
|
|
||||||
return i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
|
|
||||||
// insert inserts a node at the given index.
|
|
||||||
func (s *nodeStack) insert(i int, n *Node) {
|
|
||||||
(*s) = append(*s, nil)
|
|
||||||
copy((*s)[i+1:], (*s)[i:])
|
|
||||||
(*s)[i] = n
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove removes a node from the stack. It is a no-op if n is not present.
|
|
||||||
func (s *nodeStack) remove(n *Node) {
|
|
||||||
i := s.index(n)
|
|
||||||
if i == -1 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
copy((*s)[i:], (*s)[i+1:])
|
|
||||||
j := len(*s) - 1
|
|
||||||
(*s)[j] = nil
|
|
||||||
*s = (*s)[:j]
|
|
||||||
}
|
|
146
Godeps/_workspace/src/golang.org/x/net/html/node_test.go
generated
vendored
146
Godeps/_workspace/src/golang.org/x/net/html/node_test.go
generated
vendored
@ -1,146 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// checkTreeConsistency checks that a node and its descendants are all
|
|
||||||
// consistent in their parent/child/sibling relationships.
|
|
||||||
func checkTreeConsistency(n *Node) error {
|
|
||||||
return checkTreeConsistency1(n, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
func checkTreeConsistency1(n *Node, depth int) error {
|
|
||||||
if depth == 1e4 {
|
|
||||||
return fmt.Errorf("html: tree looks like it contains a cycle")
|
|
||||||
}
|
|
||||||
if err := checkNodeConsistency(n); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if err := checkTreeConsistency1(c, depth+1); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// checkNodeConsistency checks that a node's parent/child/sibling relationships
|
|
||||||
// are consistent.
|
|
||||||
func checkNodeConsistency(n *Node) error {
|
|
||||||
if n == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
nParent := 0
|
|
||||||
for p := n.Parent; p != nil; p = p.Parent {
|
|
||||||
nParent++
|
|
||||||
if nParent == 1e4 {
|
|
||||||
return fmt.Errorf("html: parent list looks like an infinite loop")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nForward := 0
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
nForward++
|
|
||||||
if nForward == 1e6 {
|
|
||||||
return fmt.Errorf("html: forward list of children looks like an infinite loop")
|
|
||||||
}
|
|
||||||
if c.Parent != n {
|
|
||||||
return fmt.Errorf("html: inconsistent child/parent relationship")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nBackward := 0
|
|
||||||
for c := n.LastChild; c != nil; c = c.PrevSibling {
|
|
||||||
nBackward++
|
|
||||||
if nBackward == 1e6 {
|
|
||||||
return fmt.Errorf("html: backward list of children looks like an infinite loop")
|
|
||||||
}
|
|
||||||
if c.Parent != n {
|
|
||||||
return fmt.Errorf("html: inconsistent child/parent relationship")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if n.Parent != nil {
|
|
||||||
if n.Parent == n {
|
|
||||||
return fmt.Errorf("html: inconsistent parent relationship")
|
|
||||||
}
|
|
||||||
if n.Parent == n.FirstChild {
|
|
||||||
return fmt.Errorf("html: inconsistent parent/first relationship")
|
|
||||||
}
|
|
||||||
if n.Parent == n.LastChild {
|
|
||||||
return fmt.Errorf("html: inconsistent parent/last relationship")
|
|
||||||
}
|
|
||||||
if n.Parent == n.PrevSibling {
|
|
||||||
return fmt.Errorf("html: inconsistent parent/prev relationship")
|
|
||||||
}
|
|
||||||
if n.Parent == n.NextSibling {
|
|
||||||
return fmt.Errorf("html: inconsistent parent/next relationship")
|
|
||||||
}
|
|
||||||
|
|
||||||
parentHasNAsAChild := false
|
|
||||||
for c := n.Parent.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if c == n {
|
|
||||||
parentHasNAsAChild = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !parentHasNAsAChild {
|
|
||||||
return fmt.Errorf("html: inconsistent parent/child relationship")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if n.PrevSibling != nil && n.PrevSibling.NextSibling != n {
|
|
||||||
return fmt.Errorf("html: inconsistent prev/next relationship")
|
|
||||||
}
|
|
||||||
if n.NextSibling != nil && n.NextSibling.PrevSibling != n {
|
|
||||||
return fmt.Errorf("html: inconsistent next/prev relationship")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (n.FirstChild == nil) != (n.LastChild == nil) {
|
|
||||||
return fmt.Errorf("html: inconsistent first/last relationship")
|
|
||||||
}
|
|
||||||
if n.FirstChild != nil && n.FirstChild == n.LastChild {
|
|
||||||
// We have a sole child.
|
|
||||||
if n.FirstChild.PrevSibling != nil || n.FirstChild.NextSibling != nil {
|
|
||||||
return fmt.Errorf("html: inconsistent sole child's sibling relationship")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
seen := map[*Node]bool{}
|
|
||||||
|
|
||||||
var last *Node
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if seen[c] {
|
|
||||||
return fmt.Errorf("html: inconsistent repeated child")
|
|
||||||
}
|
|
||||||
seen[c] = true
|
|
||||||
last = c
|
|
||||||
}
|
|
||||||
if last != n.LastChild {
|
|
||||||
return fmt.Errorf("html: inconsistent last relationship")
|
|
||||||
}
|
|
||||||
|
|
||||||
var first *Node
|
|
||||||
for c := n.LastChild; c != nil; c = c.PrevSibling {
|
|
||||||
if !seen[c] {
|
|
||||||
return fmt.Errorf("html: inconsistent missing child")
|
|
||||||
}
|
|
||||||
delete(seen, c)
|
|
||||||
first = c
|
|
||||||
}
|
|
||||||
if first != n.FirstChild {
|
|
||||||
return fmt.Errorf("html: inconsistent first relationship")
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(seen) != 0 {
|
|
||||||
return fmt.Errorf("html: inconsistent forwards/backwards child list")
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
2092
Godeps/_workspace/src/golang.org/x/net/html/parse.go
generated
vendored
2092
Godeps/_workspace/src/golang.org/x/net/html/parse.go
generated
vendored
File diff suppressed because it is too large
Load Diff
388
Godeps/_workspace/src/golang.org/x/net/html/parse_test.go
generated
vendored
388
Godeps/_workspace/src/golang.org/x/net/html/parse_test.go
generated
vendored
@ -1,388 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
"runtime"
|
|
||||||
"sort"
|
|
||||||
"strings"
|
|
||||||
"testing"
|
|
||||||
|
|
||||||
"github.com/ericchiang/pup/Godeps/_workspace/src/golang.org/x/net/html/atom"
|
|
||||||
)
|
|
||||||
|
|
||||||
// readParseTest reads a single test case from r.
|
|
||||||
func readParseTest(r *bufio.Reader) (text, want, context string, err error) {
|
|
||||||
line, err := r.ReadSlice('\n')
|
|
||||||
if err != nil {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
var b []byte
|
|
||||||
|
|
||||||
// Read the HTML.
|
|
||||||
if string(line) != "#data\n" {
|
|
||||||
return "", "", "", fmt.Errorf(`got %q want "#data\n"`, line)
|
|
||||||
}
|
|
||||||
for {
|
|
||||||
line, err = r.ReadSlice('\n')
|
|
||||||
if err != nil {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
if line[0] == '#' {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
b = append(b, line...)
|
|
||||||
}
|
|
||||||
text = strings.TrimSuffix(string(b), "\n")
|
|
||||||
b = b[:0]
|
|
||||||
|
|
||||||
// Skip the error list.
|
|
||||||
if string(line) != "#errors\n" {
|
|
||||||
return "", "", "", fmt.Errorf(`got %q want "#errors\n"`, line)
|
|
||||||
}
|
|
||||||
for {
|
|
||||||
line, err = r.ReadSlice('\n')
|
|
||||||
if err != nil {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
if line[0] == '#' {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if string(line) == "#document-fragment\n" {
|
|
||||||
line, err = r.ReadSlice('\n')
|
|
||||||
if err != nil {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
context = strings.TrimSpace(string(line))
|
|
||||||
line, err = r.ReadSlice('\n')
|
|
||||||
if err != nil {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read the dump of what the parse tree should be.
|
|
||||||
if string(line) != "#document\n" {
|
|
||||||
return "", "", "", fmt.Errorf(`got %q want "#document\n"`, line)
|
|
||||||
}
|
|
||||||
inQuote := false
|
|
||||||
for {
|
|
||||||
line, err = r.ReadSlice('\n')
|
|
||||||
if err != nil && err != io.EOF {
|
|
||||||
return "", "", "", err
|
|
||||||
}
|
|
||||||
trimmed := bytes.Trim(line, "| \n")
|
|
||||||
if len(trimmed) > 0 {
|
|
||||||
if line[0] == '|' && trimmed[0] == '"' {
|
|
||||||
inQuote = true
|
|
||||||
}
|
|
||||||
if trimmed[len(trimmed)-1] == '"' && !(line[0] == '|' && len(trimmed) == 1) {
|
|
||||||
inQuote = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(line) == 0 || len(line) == 1 && line[0] == '\n' && !inQuote {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
b = append(b, line...)
|
|
||||||
}
|
|
||||||
return text, string(b), context, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func dumpIndent(w io.Writer, level int) {
|
|
||||||
io.WriteString(w, "| ")
|
|
||||||
for i := 0; i < level; i++ {
|
|
||||||
io.WriteString(w, " ")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type sortedAttributes []Attribute
|
|
||||||
|
|
||||||
func (a sortedAttributes) Len() int {
|
|
||||||
return len(a)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a sortedAttributes) Less(i, j int) bool {
|
|
||||||
if a[i].Namespace != a[j].Namespace {
|
|
||||||
return a[i].Namespace < a[j].Namespace
|
|
||||||
}
|
|
||||||
return a[i].Key < a[j].Key
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a sortedAttributes) Swap(i, j int) {
|
|
||||||
a[i], a[j] = a[j], a[i]
|
|
||||||
}
|
|
||||||
|
|
||||||
func dumpLevel(w io.Writer, n *Node, level int) error {
|
|
||||||
dumpIndent(w, level)
|
|
||||||
switch n.Type {
|
|
||||||
case ErrorNode:
|
|
||||||
return errors.New("unexpected ErrorNode")
|
|
||||||
case DocumentNode:
|
|
||||||
return errors.New("unexpected DocumentNode")
|
|
||||||
case ElementNode:
|
|
||||||
if n.Namespace != "" {
|
|
||||||
fmt.Fprintf(w, "<%s %s>", n.Namespace, n.Data)
|
|
||||||
} else {
|
|
||||||
fmt.Fprintf(w, "<%s>", n.Data)
|
|
||||||
}
|
|
||||||
attr := sortedAttributes(n.Attr)
|
|
||||||
sort.Sort(attr)
|
|
||||||
for _, a := range attr {
|
|
||||||
io.WriteString(w, "\n")
|
|
||||||
dumpIndent(w, level+1)
|
|
||||||
if a.Namespace != "" {
|
|
||||||
fmt.Fprintf(w, `%s %s="%s"`, a.Namespace, a.Key, a.Val)
|
|
||||||
} else {
|
|
||||||
fmt.Fprintf(w, `%s="%s"`, a.Key, a.Val)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case TextNode:
|
|
||||||
fmt.Fprintf(w, `"%s"`, n.Data)
|
|
||||||
case CommentNode:
|
|
||||||
fmt.Fprintf(w, "<!-- %s -->", n.Data)
|
|
||||||
case DoctypeNode:
|
|
||||||
fmt.Fprintf(w, "<!DOCTYPE %s", n.Data)
|
|
||||||
if n.Attr != nil {
|
|
||||||
var p, s string
|
|
||||||
for _, a := range n.Attr {
|
|
||||||
switch a.Key {
|
|
||||||
case "public":
|
|
||||||
p = a.Val
|
|
||||||
case "system":
|
|
||||||
s = a.Val
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if p != "" || s != "" {
|
|
||||||
fmt.Fprintf(w, ` "%s"`, p)
|
|
||||||
fmt.Fprintf(w, ` "%s"`, s)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
io.WriteString(w, ">")
|
|
||||||
case scopeMarkerNode:
|
|
||||||
return errors.New("unexpected scopeMarkerNode")
|
|
||||||
default:
|
|
||||||
return errors.New("unknown node type")
|
|
||||||
}
|
|
||||||
io.WriteString(w, "\n")
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if err := dumpLevel(w, c, level+1); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func dump(n *Node) (string, error) {
|
|
||||||
if n == nil || n.FirstChild == nil {
|
|
||||||
return "", nil
|
|
||||||
}
|
|
||||||
var b bytes.Buffer
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if err := dumpLevel(&b, c, 0); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return b.String(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
const testDataDir = "testdata/webkit/"
|
|
||||||
|
|
||||||
func TestParser(t *testing.T) {
|
|
||||||
testFiles, err := filepath.Glob(testDataDir + "*.dat")
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
for _, tf := range testFiles {
|
|
||||||
f, err := os.Open(tf)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer f.Close()
|
|
||||||
r := bufio.NewReader(f)
|
|
||||||
|
|
||||||
for i := 0; ; i++ {
|
|
||||||
text, want, context, err := readParseTest(r)
|
|
||||||
if err == io.EOF {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = testParseCase(text, want, context)
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("%s test #%d %q, %s", tf, i, text, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// testParseCase tests one test case from the test files. If the test does not
|
|
||||||
// pass, it returns an error that explains the failure.
|
|
||||||
// text is the HTML to be parsed, want is a dump of the correct parse tree,
|
|
||||||
// and context is the name of the context node, if any.
|
|
||||||
func testParseCase(text, want, context string) (err error) {
|
|
||||||
defer func() {
|
|
||||||
if x := recover(); x != nil {
|
|
||||||
switch e := x.(type) {
|
|
||||||
case error:
|
|
||||||
err = e
|
|
||||||
default:
|
|
||||||
err = fmt.Errorf("%v", e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
var doc *Node
|
|
||||||
if context == "" {
|
|
||||||
doc, err = Parse(strings.NewReader(text))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
contextNode := &Node{
|
|
||||||
Type: ElementNode,
|
|
||||||
DataAtom: atom.Lookup([]byte(context)),
|
|
||||||
Data: context,
|
|
||||||
}
|
|
||||||
nodes, err := ParseFragment(strings.NewReader(text), contextNode)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
doc = &Node{
|
|
||||||
Type: DocumentNode,
|
|
||||||
}
|
|
||||||
for _, n := range nodes {
|
|
||||||
doc.AppendChild(n)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := checkTreeConsistency(doc); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
got, err := dump(doc)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
// Compare the parsed tree to the #document section.
|
|
||||||
if got != want {
|
|
||||||
return fmt.Errorf("got vs want:\n----\n%s----\n%s----", got, want)
|
|
||||||
}
|
|
||||||
|
|
||||||
if renderTestBlacklist[text] || context != "" {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check that rendering and re-parsing results in an identical tree.
|
|
||||||
pr, pw := io.Pipe()
|
|
||||||
go func() {
|
|
||||||
pw.CloseWithError(Render(pw, doc))
|
|
||||||
}()
|
|
||||||
doc1, err := Parse(pr)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
got1, err := dump(doc1)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if got != got1 {
|
|
||||||
return fmt.Errorf("got vs got1:\n----\n%s----\n%s----", got, got1)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Some test input result in parse trees are not 'well-formed' despite
|
|
||||||
// following the HTML5 recovery algorithms. Rendering and re-parsing such a
|
|
||||||
// tree will not result in an exact clone of that tree. We blacklist such
|
|
||||||
// inputs from the render test.
|
|
||||||
var renderTestBlacklist = map[string]bool{
|
|
||||||
// The second <a> will be reparented to the first <table>'s parent. This
|
|
||||||
// results in an <a> whose parent is an <a>, which is not 'well-formed'.
|
|
||||||
`<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y`: true,
|
|
||||||
// The same thing with a <p>:
|
|
||||||
`<p><table></p>`: true,
|
|
||||||
// More cases of <a> being reparented:
|
|
||||||
`<a href="blah">aba<table><a href="foo">br<tr><td></td></tr>x</table>aoe`: true,
|
|
||||||
`<a><table><a></table><p><a><div><a>`: true,
|
|
||||||
`<a><table><td><a><table></table><a></tr><a></table><a>`: true,
|
|
||||||
// A similar reparenting situation involving <nobr>:
|
|
||||||
`<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3`: true,
|
|
||||||
// A <plaintext> element is reparented, putting it before a table.
|
|
||||||
// A <plaintext> element can't have anything after it in HTML.
|
|
||||||
`<table><plaintext><td>`: true,
|
|
||||||
`<!doctype html><table><plaintext></plaintext>`: true,
|
|
||||||
`<!doctype html><table><tbody><plaintext></plaintext>`: true,
|
|
||||||
`<!doctype html><table><tbody><tr><plaintext></plaintext>`: true,
|
|
||||||
// A form inside a table inside a form doesn't work either.
|
|
||||||
`<!doctype html><form><table></form><form></table></form>`: true,
|
|
||||||
// A script that ends at EOF may escape its own closing tag when rendered.
|
|
||||||
`<!doctype html><script><!--<script `: true,
|
|
||||||
`<!doctype html><script><!--<script <`: true,
|
|
||||||
`<!doctype html><script><!--<script <a`: true,
|
|
||||||
`<!doctype html><script><!--<script </`: true,
|
|
||||||
`<!doctype html><script><!--<script </s`: true,
|
|
||||||
`<!doctype html><script><!--<script </script`: true,
|
|
||||||
`<!doctype html><script><!--<script </scripta`: true,
|
|
||||||
`<!doctype html><script><!--<script -`: true,
|
|
||||||
`<!doctype html><script><!--<script -a`: true,
|
|
||||||
`<!doctype html><script><!--<script -<`: true,
|
|
||||||
`<!doctype html><script><!--<script --`: true,
|
|
||||||
`<!doctype html><script><!--<script --a`: true,
|
|
||||||
`<!doctype html><script><!--<script --<`: true,
|
|
||||||
`<script><!--<script `: true,
|
|
||||||
`<script><!--<script <a`: true,
|
|
||||||
`<script><!--<script </script`: true,
|
|
||||||
`<script><!--<script </scripta`: true,
|
|
||||||
`<script><!--<script -`: true,
|
|
||||||
`<script><!--<script -a`: true,
|
|
||||||
`<script><!--<script --`: true,
|
|
||||||
`<script><!--<script --a`: true,
|
|
||||||
`<script><!--<script <`: true,
|
|
||||||
`<script><!--<script </`: true,
|
|
||||||
`<script><!--<script </s`: true,
|
|
||||||
// Reconstructing the active formatting elements results in a <plaintext>
|
|
||||||
// element that contains an <a> element.
|
|
||||||
`<!doctype html><p><a><plaintext>b`: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestNodeConsistency(t *testing.T) {
|
|
||||||
// inconsistentNode is a Node whose DataAtom and Data do not agree.
|
|
||||||
inconsistentNode := &Node{
|
|
||||||
Type: ElementNode,
|
|
||||||
DataAtom: atom.Frameset,
|
|
||||||
Data: "table",
|
|
||||||
}
|
|
||||||
_, err := ParseFragment(strings.NewReader("<p>hello</p>"), inconsistentNode)
|
|
||||||
if err == nil {
|
|
||||||
t.Errorf("got nil error, want non-nil")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkParser(b *testing.B) {
|
|
||||||
buf, err := ioutil.ReadFile("testdata/go1.html")
|
|
||||||
if err != nil {
|
|
||||||
b.Fatalf("could not read testdata/go1.html: %v", err)
|
|
||||||
}
|
|
||||||
b.SetBytes(int64(len(buf)))
|
|
||||||
runtime.GC()
|
|
||||||
b.ReportAllocs()
|
|
||||||
b.ResetTimer()
|
|
||||||
for i := 0; i < b.N; i++ {
|
|
||||||
Parse(bytes.NewBuffer(buf))
|
|
||||||
}
|
|
||||||
}
|
|
271
Godeps/_workspace/src/golang.org/x/net/html/render.go
generated
vendored
271
Godeps/_workspace/src/golang.org/x/net/html/render.go
generated
vendored
@ -1,271 +0,0 @@
|
|||||||
// Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
type writer interface {
|
|
||||||
io.Writer
|
|
||||||
WriteByte(c byte) error // in Go 1.1, use io.ByteWriter
|
|
||||||
WriteString(string) (int, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Render renders the parse tree n to the given writer.
|
|
||||||
//
|
|
||||||
// Rendering is done on a 'best effort' basis: calling Parse on the output of
|
|
||||||
// Render will always result in something similar to the original tree, but it
|
|
||||||
// is not necessarily an exact clone unless the original tree was 'well-formed'.
|
|
||||||
// 'Well-formed' is not easily specified; the HTML5 specification is
|
|
||||||
// complicated.
|
|
||||||
//
|
|
||||||
// Calling Parse on arbitrary input typically results in a 'well-formed' parse
|
|
||||||
// tree. However, it is possible for Parse to yield a 'badly-formed' parse tree.
|
|
||||||
// For example, in a 'well-formed' parse tree, no <a> element is a child of
|
|
||||||
// another <a> element: parsing "<a><a>" results in two sibling elements.
|
|
||||||
// Similarly, in a 'well-formed' parse tree, no <a> element is a child of a
|
|
||||||
// <table> element: parsing "<p><table><a>" results in a <p> with two sibling
|
|
||||||
// children; the <a> is reparented to the <table>'s parent. However, calling
|
|
||||||
// Parse on "<a><table><a>" does not return an error, but the result has an <a>
|
|
||||||
// element with an <a> child, and is therefore not 'well-formed'.
|
|
||||||
//
|
|
||||||
// Programmatically constructed trees are typically also 'well-formed', but it
|
|
||||||
// is possible to construct a tree that looks innocuous but, when rendered and
|
|
||||||
// re-parsed, results in a different tree. A simple example is that a solitary
|
|
||||||
// text node would become a tree containing <html>, <head> and <body> elements.
|
|
||||||
// Another example is that the programmatic equivalent of "a<head>b</head>c"
|
|
||||||
// becomes "<html><head><head/><body>abc</body></html>".
|
|
||||||
func Render(w io.Writer, n *Node) error {
|
|
||||||
if x, ok := w.(writer); ok {
|
|
||||||
return render(x, n)
|
|
||||||
}
|
|
||||||
buf := bufio.NewWriter(w)
|
|
||||||
if err := render(buf, n); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return buf.Flush()
|
|
||||||
}
|
|
||||||
|
|
||||||
// plaintextAbort is returned from render1 when a <plaintext> element
|
|
||||||
// has been rendered. No more end tags should be rendered after that.
|
|
||||||
var plaintextAbort = errors.New("html: internal error (plaintext abort)")
|
|
||||||
|
|
||||||
func render(w writer, n *Node) error {
|
|
||||||
err := render1(w, n)
|
|
||||||
if err == plaintextAbort {
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func render1(w writer, n *Node) error {
|
|
||||||
// Render non-element nodes; these are the easy cases.
|
|
||||||
switch n.Type {
|
|
||||||
case ErrorNode:
|
|
||||||
return errors.New("html: cannot render an ErrorNode node")
|
|
||||||
case TextNode:
|
|
||||||
return escape(w, n.Data)
|
|
||||||
case DocumentNode:
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if err := render1(w, c); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
case ElementNode:
|
|
||||||
// No-op.
|
|
||||||
case CommentNode:
|
|
||||||
if _, err := w.WriteString("<!--"); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(n.Data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString("-->"); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
case DoctypeNode:
|
|
||||||
if _, err := w.WriteString("<!DOCTYPE "); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(n.Data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if n.Attr != nil {
|
|
||||||
var p, s string
|
|
||||||
for _, a := range n.Attr {
|
|
||||||
switch a.Key {
|
|
||||||
case "public":
|
|
||||||
p = a.Val
|
|
||||||
case "system":
|
|
||||||
s = a.Val
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if p != "" {
|
|
||||||
if _, err := w.WriteString(" PUBLIC "); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := writeQuoted(w, p); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if s != "" {
|
|
||||||
if err := w.WriteByte(' '); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := writeQuoted(w, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if s != "" {
|
|
||||||
if _, err := w.WriteString(" SYSTEM "); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := writeQuoted(w, s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return w.WriteByte('>')
|
|
||||||
default:
|
|
||||||
return errors.New("html: unknown node type")
|
|
||||||
}
|
|
||||||
|
|
||||||
// Render the <xxx> opening tag.
|
|
||||||
if err := w.WriteByte('<'); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(n.Data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
for _, a := range n.Attr {
|
|
||||||
if err := w.WriteByte(' '); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if a.Namespace != "" {
|
|
||||||
if _, err := w.WriteString(a.Namespace); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := w.WriteByte(':'); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(a.Key); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(`="`); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := escape(w, a.Val); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := w.WriteByte('"'); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if voidElements[n.Data] {
|
|
||||||
if n.FirstChild != nil {
|
|
||||||
return fmt.Errorf("html: void element <%s> has child nodes", n.Data)
|
|
||||||
}
|
|
||||||
_, err := w.WriteString("/>")
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := w.WriteByte('>'); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add initial newline where there is danger of a newline beging ignored.
|
|
||||||
if c := n.FirstChild; c != nil && c.Type == TextNode && strings.HasPrefix(c.Data, "\n") {
|
|
||||||
switch n.Data {
|
|
||||||
case "pre", "listing", "textarea":
|
|
||||||
if err := w.WriteByte('\n'); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Render any child nodes.
|
|
||||||
switch n.Data {
|
|
||||||
case "iframe", "noembed", "noframes", "noscript", "plaintext", "script", "style", "xmp":
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if c.Type == TextNode {
|
|
||||||
if _, err := w.WriteString(c.Data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if err := render1(w, c); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if n.Data == "plaintext" {
|
|
||||||
// Don't render anything else. <plaintext> must be the
|
|
||||||
// last element in the file, with no closing tag.
|
|
||||||
return plaintextAbort
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
for c := n.FirstChild; c != nil; c = c.NextSibling {
|
|
||||||
if err := render1(w, c); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Render the </xxx> closing tag.
|
|
||||||
if _, err := w.WriteString("</"); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(n.Data); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return w.WriteByte('>')
|
|
||||||
}
|
|
||||||
|
|
||||||
// writeQuoted writes s to w surrounded by quotes. Normally it will use double
|
|
||||||
// quotes, but if s contains a double quote, it will use single quotes.
|
|
||||||
// It is used for writing the identifiers in a doctype declaration.
|
|
||||||
// In valid HTML, they can't contain both types of quotes.
|
|
||||||
func writeQuoted(w writer, s string) error {
|
|
||||||
var q byte = '"'
|
|
||||||
if strings.Contains(s, `"`) {
|
|
||||||
q = '\''
|
|
||||||
}
|
|
||||||
if err := w.WriteByte(q); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := w.WriteString(s); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := w.WriteByte(q); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Section 12.1.2, "Elements", gives this list of void elements. Void elements
|
|
||||||
// are those that can't have any contents.
|
|
||||||
var voidElements = map[string]bool{
|
|
||||||
"area": true,
|
|
||||||
"base": true,
|
|
||||||
"br": true,
|
|
||||||
"col": true,
|
|
||||||
"command": true,
|
|
||||||
"embed": true,
|
|
||||||
"hr": true,
|
|
||||||
"img": true,
|
|
||||||
"input": true,
|
|
||||||
"keygen": true,
|
|
||||||
"link": true,
|
|
||||||
"meta": true,
|
|
||||||
"param": true,
|
|
||||||
"source": true,
|
|
||||||
"track": true,
|
|
||||||
"wbr": true,
|
|
||||||
}
|
|
156
Godeps/_workspace/src/golang.org/x/net/html/render_test.go
generated
vendored
156
Godeps/_workspace/src/golang.org/x/net/html/render_test.go
generated
vendored
@ -1,156 +0,0 @@
|
|||||||
// Copyright 2010 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package html
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestRenderer(t *testing.T) {
|
|
||||||
nodes := [...]*Node{
|
|
||||||
0: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "html",
|
|
||||||
},
|
|
||||||
1: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "head",
|
|
||||||
},
|
|
||||||
2: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "body",
|
|
||||||
},
|
|
||||||
3: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "0<1",
|
|
||||||
},
|
|
||||||
4: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "p",
|
|
||||||
Attr: []Attribute{
|
|
||||||
{
|
|
||||||
Key: "id",
|
|
||||||
Val: "A",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Key: "foo",
|
|
||||||
Val: `abc"def`,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
5: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "2",
|
|
||||||
},
|
|
||||||
6: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "b",
|
|
||||||
Attr: []Attribute{
|
|
||||||
{
|
|
||||||
Key: "empty",
|
|
||||||
Val: "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
7: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "3",
|
|
||||||
},
|
|
||||||
8: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "i",
|
|
||||||
Attr: []Attribute{
|
|
||||||
{
|
|
||||||
Key: "backslash",
|
|
||||||
Val: `\`,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
9: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "&4",
|
|
||||||
},
|
|
||||||
10: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "5",
|
|
||||||
},
|
|
||||||
11: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "blockquote",
|
|
||||||
},
|
|
||||||
12: {
|
|
||||||
Type: ElementNode,
|
|
||||||
Data: "br",
|
|
||||||
},
|
|
||||||
13: {
|
|
||||||
Type: TextNode,
|
|
||||||
Data: "6",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build a tree out of those nodes, based on a textual representation.
|
|
||||||
// Only the ".\t"s are significant. The trailing HTML-like text is
|
|
||||||
// just commentary. The "0:" prefixes are for easy cross-reference with
|
|
||||||
// the nodes array.
|
|
||||||
treeAsText := [...]string{
|
|
||||||
0: `<html>`,
|
|
||||||
1: `. <head>`,
|
|
||||||
2: `. <body>`,
|
|
||||||
3: `. . "0<1"`,
|
|
||||||
4: `. . <p id="A" foo="abc"def">`,
|
|
||||||
5: `. . . "2"`,
|
|
||||||
6: `. . . <b empty="">`,
|
|
||||||
7: `. . . . "3"`,
|
|
||||||
8: `. . . <i backslash="\">`,
|
|
||||||
9: `. . . . "&4"`,
|
|
||||||
10: `. . "5"`,
|
|
||||||
11: `. . <blockquote>`,
|
|
||||||
12: `. . <br>`,
|
|
||||||
13: `. . "6"`,
|
|
||||||
}
|
|
||||||
if len(nodes) != len(treeAsText) {
|
|
||||||
t.Fatal("len(nodes) != len(treeAsText)")
|
|
||||||
}
|
|
||||||
var stack [8]*Node
|
|
||||||
for i, line := range treeAsText {
|
|
||||||
level := 0
|
|
||||||
for line[0] == '.' {
|
|
||||||
// Strip a leading ".\t".
|
|
||||||
line = line[2:]
|
|
||||||
level++
|
|
||||||
}
|
|
||||||
n := nodes[i]
|
|
||||||
if level == 0 {
|
|
||||||
if stack[0] != nil {
|
|
||||||
t.Fatal("multiple root nodes")
|
|
||||||
}
|
|
||||||
stack[0] = n
|
|
||||||
} else {
|
|
||||||
stack[level-1].AppendChild(n)
|
|
||||||
stack[level] = n
|
|
||||||
for i := level + 1; i < len(stack); i++ {
|
|
||||||
stack[i] = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// At each stage of tree construction, we check all nodes for consistency.
|
|
||||||
for j, m := range nodes {
|
|
||||||
if err := checkNodeConsistency(m); err != nil {
|
|
||||||
t.Fatalf("i=%d, j=%d: %v", i, j, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
want := `<html><head></head><body>0<1<p id="A" foo="abc"def">` +
|
|
||||||
`2<b empty="">3</b><i backslash="\">&4</i></p>` +
|
|
||||||
`5<blockquote></blockquote><br/>6</body></html>`
|
|
||||||
b := new(bytes.Buffer)
|
|
||||||
if err := Render(b, nodes[0]); err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
if got := b.String(); got != want {
|
|
||||||
t.Errorf("got vs want:\n%s\n%s\n", got, want)
|
|
||||||
}
|
|
||||||
}
|
|
2237
Godeps/_workspace/src/golang.org/x/net/html/testdata/go1.html
generated
vendored
2237
Godeps/_workspace/src/golang.org/x/net/html/testdata/go1.html
generated
vendored
File diff suppressed because it is too large
Load Diff
28
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/README
generated
vendored
28
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/README
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
The *.dat files in this directory are copied from The WebKit Open Source
|
|
||||||
Project, specifically $WEBKITROOT/LayoutTests/html5lib/resources.
|
|
||||||
WebKit is licensed under a BSD style license.
|
|
||||||
http://webkit.org/coding/bsd-license.html says:
|
|
||||||
|
|
||||||
Copyright (C) 2009 Apple Inc. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
|
|
||||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
|
||||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
||||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
194
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/adoption01.dat
generated
vendored
194
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/adoption01.dat
generated
vendored
@ -1,194 +0,0 @@
|
|||||||
#data
|
|
||||||
<a><p></a></p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>1<p>2</a>3</p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
| "2"
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>1<button>2</a>3</button>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <button>
|
|
||||||
| <a>
|
|
||||||
| "2"
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>1<b>2</a>3</b>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <b>
|
|
||||||
| "2"
|
|
||||||
| <b>
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>1<div>2<div>3</a>4</div>5</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| "2"
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| "3"
|
|
||||||
| "4"
|
|
||||||
| "5"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><a>1<p>2</a>3</p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
| "2"
|
|
||||||
| "3"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<b><b><a><p></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <a>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<b><a><b><p></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><b><b><p></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p>1<s id="A">2<b id="B">3</p>4</s>5</b>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| "1"
|
|
||||||
| <s>
|
|
||||||
| id="A"
|
|
||||||
| "2"
|
|
||||||
| <b>
|
|
||||||
| id="B"
|
|
||||||
| "3"
|
|
||||||
| <s>
|
|
||||||
| id="A"
|
|
||||||
| <b>
|
|
||||||
| id="B"
|
|
||||||
| "4"
|
|
||||||
| <b>
|
|
||||||
| id="B"
|
|
||||||
| "5"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><a>1<td>2</td>3</table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "1"
|
|
||||||
| <a>
|
|
||||||
| "3"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "2"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table>A<td>B</td>C</table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "AC"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "B"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><svg><tr><input></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg tr>
|
|
||||||
| <svg input>
|
|
31
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/adoption02.dat
generated
vendored
31
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/adoption02.dat
generated
vendored
@ -1,31 +0,0 @@
|
|||||||
#data
|
|
||||||
<b>1<i>2<p>3</b>4
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| "1"
|
|
||||||
| <i>
|
|
||||||
| "2"
|
|
||||||
| <i>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| "3"
|
|
||||||
| "4"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><div><style></style><address><a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| <style>
|
|
||||||
| <address>
|
|
||||||
| <a>
|
|
||||||
| <a>
|
|
135
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/comments01.dat
generated
vendored
135
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/comments01.dat
generated
vendored
@ -1,135 +0,0 @@
|
|||||||
#data
|
|
||||||
FOO<!-- BAR -->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-- BAR --!>BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-- BAR -- >BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -- >BAZ -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-- BAR -- <QUX> -- MUX -->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -- <QUX> -- MUX -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-- BAR -- <QUX> -- MUX --!>BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -- <QUX> -- MUX -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-- BAR -- <QUX> -- MUX -- >BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- BAR -- <QUX> -- MUX -- >BAZ -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!---->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!--->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!-->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- -->
|
|
||||||
| "BAZ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<?xml version="1.0">Hi
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- ?xml version="1.0" -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hi"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<?xml version="1.0">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- ?xml version="1.0" -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<?xml version
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- ?xml version -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<!----->BAZ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <!-- - -->
|
|
||||||
| "BAZ"
|
|
370
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/doctype01.dat
generated
vendored
370
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/doctype01.dat
generated
vendored
@ -1,370 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!dOctYpE HtMl>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPEhtml>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE >
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE >
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato taco>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato taco "ddd>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato sYstEM>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato sYstEM >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato sYstEM ggg>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato SYSTEM taco >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato SYSTEM 'taco"'>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "" "taco"">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato SYSTEM "taco">Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "" "taco">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato SYSTEM "tai'co">Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "" "tai'co">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato SYSTEMtaco "ddd">Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato grass SYSTEM taco>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato pUbLIc>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato pUbLIc >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato pUbLIcgoof>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato PUBLIC goof>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato PUBLIC "go'of">Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "go'of" "">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato PUBLIC 'go'of'>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "go" "">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato PUBLIC 'go:hh of' >Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "go:hh of" "">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE potato PUBLIC "W3C-//dfdf" SYSTEM ggg>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE potato "W3C-//dfdf" "">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
||||||
"http://www.w3.org/TR/html4/strict.dtd">Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE ...>Hello
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE ...>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] "uri" [
|
|
||||||
<!-- internal declarations -->
|
|
||||||
]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE root-element>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "]>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html PUBLIC
|
|
||||||
"-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
|
|
||||||
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML SYSTEM "http://www.w3.org/DTD/HTML4-strict.dtd"><body><b>Mine!</b></body>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "" "http://www.w3.org/DTD/HTML4-strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| "Mine!"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
603
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/entities01.dat
generated
vendored
603
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/entities01.dat
generated
vendored
@ -1,603 +0,0 @@
|
|||||||
#data
|
|
||||||
FOO>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO> BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO> BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO>;;BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO>;;BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
I'm ¬it; I tell you
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "I'm ¬it; I tell you"
|
|
||||||
|
|
||||||
#data
|
|
||||||
I'm ∉ I tell you
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "I'm ∉ I tell you"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO& BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO& BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&<BAR>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&"
|
|
||||||
| <bar>
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&&&>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&&&>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO)BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO)BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOABAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOABAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOABAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOABAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&#BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&#BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&#ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&#ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOºR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOºR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&#xZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&#xZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO&#XZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO&#XZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO)BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO)BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO䆺R
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO䆺R"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOAZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOAZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOxZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOxZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOyZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOyZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO€ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO€ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO‚ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO‚ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOƒZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOƒZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO„ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO„ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO…ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO…ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO†ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO†ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO‡ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO‡ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOˆZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOˆZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO‰ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO‰ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOŠZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOŠZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO‹ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO‹ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOŒZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOŒZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOŽZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOŽZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO‘ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO‘ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO’ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO’ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO“ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO“ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO”ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO”ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO•ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO•ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO–ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO–ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO—ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO—ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO˜ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO˜ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO™ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO™ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOšZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOšZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO›ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO›ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOœZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOœZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOžZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOžZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOŸZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOŸZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO퟿ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO􈟔ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOOZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOOZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO�ZOO
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO<4F>ZOO"
|
|
249
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/entities02.dat
generated
vendored
249
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/entities02.dat
generated
vendored
@ -1,249 +0,0 @@
|
|||||||
#data
|
|
||||||
<div bar="ZZ>YY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>YY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ&"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ&"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar='ZZ&'></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ&"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar=ZZ&></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ&"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>=YY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>=YY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>0YY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>0YY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>9YY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>9YY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>aYY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>aYY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>ZYY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>ZYY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ> YY"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ> YY"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ>"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar='ZZ>'></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar=ZZ>></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ£_id=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ£_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ&prod_id=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ&prod_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ£_id=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ£_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ∏_id=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ∏_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ£=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ£=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div bar="ZZ&prod=23"></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| bar="ZZ&prod=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ£_id=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ£_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ&prod_id=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ&prod_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ£_id=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ£_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ∏_id=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ∏_id=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ£=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ£=23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>ZZ&prod=23</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "ZZ&prod=23"
|
|
246
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/html5test-com.dat
generated
vendored
246
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/html5test-com.dat
generated
vendored
@ -1,246 +0,0 @@
|
|||||||
#data
|
|
||||||
<div<div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div<div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div foo<bar=''>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| foo<bar=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div foo=`bar`>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| foo="`bar`"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div \"foo=''>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| \"foo=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a href='\nbar'></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| href="\nbar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
⟨⟩
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "⟨⟩"
|
|
||||||
|
|
||||||
#data
|
|
||||||
'
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "'"
|
|
||||||
|
|
||||||
#data
|
|
||||||
ⅈ
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "ⅈ"
|
|
||||||
|
|
||||||
#data
|
|
||||||
𝕂
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "𝕂"
|
|
||||||
|
|
||||||
#data
|
|
||||||
∉
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "∉"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<?import namespace="foo" implementation="#bar">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- ?import namespace="foo" implementation="#bar" -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!--foo--bar-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- foo--bar -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<![CDATA[x]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- [CDATA[x]] -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea><!--</textarea>--></textarea>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "<!--"
|
|
||||||
| "-->"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea><!--</textarea>-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "<!--"
|
|
||||||
| "-->"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style><!--</style>--></style>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| "<!--"
|
|
||||||
| <body>
|
|
||||||
| "-->"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style><!--</style>-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| "<!--"
|
|
||||||
| <body>
|
|
||||||
| "-->"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<ul><li>A </li> <li>B</li></ul>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <ul>
|
|
||||||
| <li>
|
|
||||||
| "A "
|
|
||||||
| " "
|
|
||||||
| <li>
|
|
||||||
| "B"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><form><input type=hidden><input></form><div></div></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <input>
|
|
||||||
| <div>
|
|
||||||
| <table>
|
|
||||||
| <form>
|
|
||||||
| <input>
|
|
||||||
| type="hidden"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<i>A<b>B<p></i>C</b>D
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <i>
|
|
||||||
| "A"
|
|
||||||
| <b>
|
|
||||||
| "B"
|
|
||||||
| <b>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| "C"
|
|
||||||
| "D"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
43
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/inbody01.dat
generated
vendored
43
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/inbody01.dat
generated
vendored
@ -1,43 +0,0 @@
|
|||||||
#data
|
|
||||||
<button>1</foo>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <button>
|
|
||||||
| "1"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<foo>1<p>2</foo>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| "1"
|
|
||||||
| <p>
|
|
||||||
| "2"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<dd>1</foo>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <dd>
|
|
||||||
| "1"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<foo>1<dd>2</foo>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| "1"
|
|
||||||
| <dd>
|
|
||||||
| "2"
|
|
40
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/isindex.dat
generated
vendored
40
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/isindex.dat
generated
vendored
@ -1,40 +0,0 @@
|
|||||||
#data
|
|
||||||
<isindex>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
| <hr>
|
|
||||||
| <label>
|
|
||||||
| "This is a searchable index. Enter search keywords: "
|
|
||||||
| <input>
|
|
||||||
| name="isindex"
|
|
||||||
| <hr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<isindex name="A" action="B" prompt="C" foo="D">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
| action="B"
|
|
||||||
| <hr>
|
|
||||||
| <label>
|
|
||||||
| "C"
|
|
||||||
| <input>
|
|
||||||
| foo="D"
|
|
||||||
| name="isindex"
|
|
||||||
| <hr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<form><isindex>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
Binary file not shown.
52
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/pending-spec-changes.dat
generated
vendored
52
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/pending-spec-changes.dat
generated
vendored
@ -1,52 +0,0 @@
|
|||||||
#data
|
|
||||||
<input type="hidden"><frameset>
|
|
||||||
#errors
|
|
||||||
21: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
31: “frameset” start tag seen.
|
|
||||||
31: End of file seen and there were open elements.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><caption><svg>foo</table>bar
|
|
||||||
#errors
|
|
||||||
47: End tag “table” did not match the name of the current open element (“svg”).
|
|
||||||
47: “table” closed but “caption” was still open.
|
|
||||||
47: End tag “table” seen, but there were open elements.
|
|
||||||
36: Unclosed element “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <svg svg>
|
|
||||||
| "foo"
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td><svg><desc><td></desc><circle>
|
|
||||||
#errors
|
|
||||||
7: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
30: A table cell was implicitly closed, but there were open elements.
|
|
||||||
26: Unclosed element “desc”.
|
|
||||||
20: Unclosed element “svg”.
|
|
||||||
37: Stray end tag “desc”.
|
|
||||||
45: End of file seen and there were open elements.
|
|
||||||
45: Unclosed element “circle”.
|
|
||||||
7: Unclosed element “table”.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <td>
|
|
||||||
| <circle>
|
|
BIN
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/plain-text-unsafe.dat
generated
vendored
BIN
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/plain-text-unsafe.dat
generated
vendored
Binary file not shown.
308
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scriptdata01.dat
generated
vendored
308
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scriptdata01.dat
generated
vendored
@ -1,308 +0,0 @@
|
|||||||
#data
|
|
||||||
FOO<script>'Hello'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'Hello'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script></script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script></script >BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script></script/>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script></script/ >BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain"></scriptx>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "</scriptx>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script></script foo=">" dd>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!--'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!--'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!---'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!---'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-->'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-->'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-->'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-->'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-- potato'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-- potato'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-- <sCrIpt'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-- <sCrIpt'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt>'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt>'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt> -'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt> -'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt> --'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt> --'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script>'<!-- <sCrIpt> -->'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| "'<!-- <sCrIpt> -->'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt> --!>'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt> --!>'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt> -- >'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt> -- >'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt '</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt '</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt/'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt/'</script>BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt\'</script>BAR
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt\'"
|
|
||||||
| "BAR"
|
|
||||||
|
|
||||||
#data
|
|
||||||
FOO<script type="text/plain">'<!-- <sCrIpt/'</script>BAR</script>QUX
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "FOO"
|
|
||||||
| <script>
|
|
||||||
| type="text/plain"
|
|
||||||
| "'<!-- <sCrIpt/'</script>BAR"
|
|
||||||
| "QUX"
|
|
15
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scripted/adoption01.dat
generated
vendored
15
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scripted/adoption01.dat
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#data
|
|
||||||
<p><b id="A"><script>document.getElementById("A").id = "B"</script></p>TEXT</b>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| id="B"
|
|
||||||
| <script>
|
|
||||||
| "document.getElementById("A").id = "B""
|
|
||||||
| <b>
|
|
||||||
| id="A"
|
|
||||||
| "TEXT"
|
|
28
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scripted/webkit01.dat
generated
vendored
28
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/scripted/webkit01.dat
generated
vendored
@ -1,28 +0,0 @@
|
|||||||
#data
|
|
||||||
1<script>document.write("2")</script>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "1"
|
|
||||||
| <script>
|
|
||||||
| "document.write("2")"
|
|
||||||
| "23"
|
|
||||||
|
|
||||||
#data
|
|
||||||
1<script>document.write("<script>document.write('2')</scr"+ "ipt><script>document.write('3')</scr" + "ipt>")</script>4
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "1"
|
|
||||||
| <script>
|
|
||||||
| "document.write("<script>document.write('2')</scr"+ "ipt><script>document.write('3')</scr" + "ipt>")"
|
|
||||||
| <script>
|
|
||||||
| "document.write('2')"
|
|
||||||
| "2"
|
|
||||||
| <script>
|
|
||||||
| "document.write('3')"
|
|
||||||
| "34"
|
|
212
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tables01.dat
generated
vendored
212
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tables01.dat
generated
vendored
@ -1,212 +0,0 @@
|
|||||||
#data
|
|
||||||
<table><th>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <th>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><col foo='bar'>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
| <col>
|
|
||||||
| foo="bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><colgroup></html>foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "foo"
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table></table><p>foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <p>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><select><option>3</select></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "3"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><select><table></table></select></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><select></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><select><option>A<tr><td>B</td></tr></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "A"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "B"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td></body></caption></col></colgroup></html>foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td>A</table>B
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "A"
|
|
||||||
| "B"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><caption>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <caption>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr></body></caption></col></colgroup></html></td></th><td>foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td><button><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <button>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td><svg><desc><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <td>
|
|
1952
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests1.dat
generated
vendored
1952
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests1.dat
generated
vendored
File diff suppressed because it is too large
Load Diff
799
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests10.dat
generated
vendored
799
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests10.dat
generated
vendored
@ -1,799 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><svg></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><svg></svg><![CDATA[a]]>
|
|
||||||
#errors
|
|
||||||
29: Bogus comment
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <!-- [CDATA[a]] -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><select><svg></svg></select>
|
|
||||||
#errors
|
|
||||||
35: Stray “svg” start tag.
|
|
||||||
42: Stray end tag “svg”
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><select><option><svg></svg></option></select>
|
|
||||||
#errors
|
|
||||||
43: Stray “svg” start tag.
|
|
||||||
50: Stray end tag “svg”
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><svg></svg></table>
|
|
||||||
#errors
|
|
||||||
34: Start tag “svg” seen in “table”.
|
|
||||||
41: Stray end tag “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><svg><g>foo</g></svg></table>
|
|
||||||
#errors
|
|
||||||
34: Start tag “svg” seen in “table”.
|
|
||||||
46: Stray end tag “g”.
|
|
||||||
53: Stray end tag “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table>
|
|
||||||
#errors
|
|
||||||
34: Start tag “svg” seen in “table”.
|
|
||||||
46: Stray end tag “g”.
|
|
||||||
58: Stray end tag “g”.
|
|
||||||
65: Stray end tag “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table>
|
|
||||||
#errors
|
|
||||||
41: Start tag “svg” seen in “table”.
|
|
||||||
53: Stray end tag “g”.
|
|
||||||
65: Stray end tag “g”.
|
|
||||||
72: Stray end tag “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
45: Start tag “svg” seen in “table”.
|
|
||||||
57: Stray end tag “g”.
|
|
||||||
69: Stray end tag “g”.
|
|
||||||
76: Stray end tag “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
70: HTML start tag “p” in a foreign namespace context.
|
|
||||||
81: “table” closed but “caption” was still open.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
78: “table” closed but “caption” was still open.
|
|
||||||
78: Unclosed elements on stack.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| "baz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
44: Start tag “svg” seen in “table”.
|
|
||||||
56: Stray end tag “g”.
|
|
||||||
68: Stray end tag “g”.
|
|
||||||
71: HTML start tag “p” in a foreign namespace context.
|
|
||||||
71: Start tag “p” seen in “table”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
50: Stray “svg” start tag.
|
|
||||||
54: Stray “g” start tag.
|
|
||||||
62: Stray end tag “g”
|
|
||||||
66: Stray “g” start tag.
|
|
||||||
74: Stray end tag “g”
|
|
||||||
77: Stray “p” start tag.
|
|
||||||
88: “table” end tag with “select” open.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <select>
|
|
||||||
| "foobarbaz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
36: Start tag “select” seen in “table”.
|
|
||||||
42: Stray “svg” start tag.
|
|
||||||
46: Stray “g” start tag.
|
|
||||||
54: Stray end tag “g”
|
|
||||||
58: Stray “g” start tag.
|
|
||||||
66: Stray end tag “g”
|
|
||||||
69: Stray “p” start tag.
|
|
||||||
80: “table” end tag with “select” open.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| "foobarbaz"
|
|
||||||
| <table>
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz
|
|
||||||
#errors
|
|
||||||
41: Stray “svg” start tag.
|
|
||||||
68: HTML start tag “p” in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz
|
|
||||||
#errors
|
|
||||||
34: Stray “svg” start tag.
|
|
||||||
61: HTML start tag “p” in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| "foo"
|
|
||||||
| <svg g>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset><svg><g></g><g></g><p><span>
|
|
||||||
#errors
|
|
||||||
31: Stray “svg” start tag.
|
|
||||||
35: Stray “g” start tag.
|
|
||||||
40: Stray end tag “g”
|
|
||||||
44: Stray “g” start tag.
|
|
||||||
49: Stray end tag “g”
|
|
||||||
52: Stray “p” start tag.
|
|
||||||
58: Stray “span” start tag.
|
|
||||||
58: End of file seen and there were open elements.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span>
|
|
||||||
#errors
|
|
||||||
42: Stray “svg” start tag.
|
|
||||||
46: Stray “g” start tag.
|
|
||||||
51: Stray end tag “g”
|
|
||||||
55: Stray “g” start tag.
|
|
||||||
60: Stray end tag “g”
|
|
||||||
63: Stray “p” start tag.
|
|
||||||
69: Stray “span” start tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| <svg svg>
|
|
||||||
| xlink href="foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <svg svg>
|
|
||||||
| <svg g>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg></path>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg></div>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg><path></div>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg path>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg><path></svg><path>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg path>
|
|
||||||
| <path>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg><path><foreignObject><math></div>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg path>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <math math>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg><path><foreignObject><p></div>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg path>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><svg><desc><div><svg><ul>a
|
|
||||||
#errors
|
|
||||||
40: HTML start tag “ul” in a foreign namespace context.
|
|
||||||
41: End of file in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <ul>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><svg><desc><svg><ul>a
|
|
||||||
#errors
|
|
||||||
35: HTML start tag “ul” in a foreign namespace context.
|
|
||||||
36: End of file in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <svg svg>
|
|
||||||
| <ul>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><p><svg><desc><p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><p><svg><title><p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg title>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><svg><path><foreignObject><p></foreignObject><p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg path>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mi><div><object><div><span></span></div></object></div></mi><mi>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <div>
|
|
||||||
| <object>
|
|
||||||
| <div>
|
|
||||||
| <span>
|
|
||||||
| <math mi>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <div>
|
|
||||||
| <div>
|
|
||||||
| <math mi>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><script></script><path>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg script>
|
|
||||||
| <svg path>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><svg></svg><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mi><mglyph>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <math mglyph>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mi><malignmark>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <math malignmark>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mo><mglyph>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mo>
|
|
||||||
| <math mglyph>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mo><malignmark>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mo>
|
|
||||||
| <math malignmark>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mn><mglyph>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mn>
|
|
||||||
| <math mglyph>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mn><malignmark>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mn>
|
|
||||||
| <math malignmark>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><ms><mglyph>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math ms>
|
|
||||||
| <math mglyph>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><ms><malignmark>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math ms>
|
|
||||||
| <math malignmark>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mtext><mglyph>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <math mglyph>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mtext><malignmark>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <math malignmark>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml><svg></svg></annotation-xml><mi>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <math mi>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <div>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <span>
|
|
||||||
| <svg path>
|
|
||||||
| <math mi>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| <svg svg>
|
|
||||||
| <math mo>
|
|
||||||
| <span>
|
|
||||||
| <svg path>
|
|
||||||
| <math mi>
|
|
482
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests11.dat
generated
vendored
482
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests11.dat
generated
vendored
@ -1,482 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterRes='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| attributeName=""
|
|
||||||
| attributeType=""
|
|
||||||
| baseFrequency=""
|
|
||||||
| baseProfile=""
|
|
||||||
| calcMode=""
|
|
||||||
| clipPathUnits=""
|
|
||||||
| contentScriptType=""
|
|
||||||
| contentStyleType=""
|
|
||||||
| diffuseConstant=""
|
|
||||||
| edgeMode=""
|
|
||||||
| externalResourcesRequired=""
|
|
||||||
| filterRes=""
|
|
||||||
| filterUnits=""
|
|
||||||
| glyphRef=""
|
|
||||||
| gradientTransform=""
|
|
||||||
| gradientUnits=""
|
|
||||||
| kernelMatrix=""
|
|
||||||
| kernelUnitLength=""
|
|
||||||
| keyPoints=""
|
|
||||||
| keySplines=""
|
|
||||||
| keyTimes=""
|
|
||||||
| lengthAdjust=""
|
|
||||||
| limitingConeAngle=""
|
|
||||||
| markerHeight=""
|
|
||||||
| markerUnits=""
|
|
||||||
| markerWidth=""
|
|
||||||
| maskContentUnits=""
|
|
||||||
| maskUnits=""
|
|
||||||
| numOctaves=""
|
|
||||||
| pathLength=""
|
|
||||||
| patternContentUnits=""
|
|
||||||
| patternTransform=""
|
|
||||||
| patternUnits=""
|
|
||||||
| pointsAtX=""
|
|
||||||
| pointsAtY=""
|
|
||||||
| pointsAtZ=""
|
|
||||||
| preserveAlpha=""
|
|
||||||
| preserveAspectRatio=""
|
|
||||||
| primitiveUnits=""
|
|
||||||
| refX=""
|
|
||||||
| refY=""
|
|
||||||
| repeatCount=""
|
|
||||||
| repeatDur=""
|
|
||||||
| requiredExtensions=""
|
|
||||||
| requiredFeatures=""
|
|
||||||
| specularConstant=""
|
|
||||||
| specularExponent=""
|
|
||||||
| spreadMethod=""
|
|
||||||
| startOffset=""
|
|
||||||
| stdDeviation=""
|
|
||||||
| stitchTiles=""
|
|
||||||
| surfaceScale=""
|
|
||||||
| systemLanguage=""
|
|
||||||
| tableValues=""
|
|
||||||
| targetX=""
|
|
||||||
| targetY=""
|
|
||||||
| textLength=""
|
|
||||||
| viewBox=""
|
|
||||||
| viewTarget=""
|
|
||||||
| xChannelSelector=""
|
|
||||||
| yChannelSelector=""
|
|
||||||
| zoomAndPan=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' DIFFUSECONSTANT='' EDGEMODE='' EXTERNALRESOURCESREQUIRED='' FILTERRES='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| attributeName=""
|
|
||||||
| attributeType=""
|
|
||||||
| baseFrequency=""
|
|
||||||
| baseProfile=""
|
|
||||||
| calcMode=""
|
|
||||||
| clipPathUnits=""
|
|
||||||
| contentScriptType=""
|
|
||||||
| contentStyleType=""
|
|
||||||
| diffuseConstant=""
|
|
||||||
| edgeMode=""
|
|
||||||
| externalResourcesRequired=""
|
|
||||||
| filterRes=""
|
|
||||||
| filterUnits=""
|
|
||||||
| glyphRef=""
|
|
||||||
| gradientTransform=""
|
|
||||||
| gradientUnits=""
|
|
||||||
| kernelMatrix=""
|
|
||||||
| kernelUnitLength=""
|
|
||||||
| keyPoints=""
|
|
||||||
| keySplines=""
|
|
||||||
| keyTimes=""
|
|
||||||
| lengthAdjust=""
|
|
||||||
| limitingConeAngle=""
|
|
||||||
| markerHeight=""
|
|
||||||
| markerUnits=""
|
|
||||||
| markerWidth=""
|
|
||||||
| maskContentUnits=""
|
|
||||||
| maskUnits=""
|
|
||||||
| numOctaves=""
|
|
||||||
| pathLength=""
|
|
||||||
| patternContentUnits=""
|
|
||||||
| patternTransform=""
|
|
||||||
| patternUnits=""
|
|
||||||
| pointsAtX=""
|
|
||||||
| pointsAtY=""
|
|
||||||
| pointsAtZ=""
|
|
||||||
| preserveAlpha=""
|
|
||||||
| preserveAspectRatio=""
|
|
||||||
| primitiveUnits=""
|
|
||||||
| refX=""
|
|
||||||
| refY=""
|
|
||||||
| repeatCount=""
|
|
||||||
| repeatDur=""
|
|
||||||
| requiredExtensions=""
|
|
||||||
| requiredFeatures=""
|
|
||||||
| specularConstant=""
|
|
||||||
| specularExponent=""
|
|
||||||
| spreadMethod=""
|
|
||||||
| startOffset=""
|
|
||||||
| stdDeviation=""
|
|
||||||
| stitchTiles=""
|
|
||||||
| surfaceScale=""
|
|
||||||
| systemLanguage=""
|
|
||||||
| tableValues=""
|
|
||||||
| targetX=""
|
|
||||||
| targetY=""
|
|
||||||
| textLength=""
|
|
||||||
| viewBox=""
|
|
||||||
| viewTarget=""
|
|
||||||
| xChannelSelector=""
|
|
||||||
| yChannelSelector=""
|
|
||||||
| zoomAndPan=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' contentscripttype='' contentstyletype='' diffuseconstant='' edgemode='' externalresourcesrequired='' filterres='' filterunits='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| attributeName=""
|
|
||||||
| attributeType=""
|
|
||||||
| baseFrequency=""
|
|
||||||
| baseProfile=""
|
|
||||||
| calcMode=""
|
|
||||||
| clipPathUnits=""
|
|
||||||
| contentScriptType=""
|
|
||||||
| contentStyleType=""
|
|
||||||
| diffuseConstant=""
|
|
||||||
| edgeMode=""
|
|
||||||
| externalResourcesRequired=""
|
|
||||||
| filterRes=""
|
|
||||||
| filterUnits=""
|
|
||||||
| glyphRef=""
|
|
||||||
| gradientTransform=""
|
|
||||||
| gradientUnits=""
|
|
||||||
| kernelMatrix=""
|
|
||||||
| kernelUnitLength=""
|
|
||||||
| keyPoints=""
|
|
||||||
| keySplines=""
|
|
||||||
| keyTimes=""
|
|
||||||
| lengthAdjust=""
|
|
||||||
| limitingConeAngle=""
|
|
||||||
| markerHeight=""
|
|
||||||
| markerUnits=""
|
|
||||||
| markerWidth=""
|
|
||||||
| maskContentUnits=""
|
|
||||||
| maskUnits=""
|
|
||||||
| numOctaves=""
|
|
||||||
| pathLength=""
|
|
||||||
| patternContentUnits=""
|
|
||||||
| patternTransform=""
|
|
||||||
| patternUnits=""
|
|
||||||
| pointsAtX=""
|
|
||||||
| pointsAtY=""
|
|
||||||
| pointsAtZ=""
|
|
||||||
| preserveAlpha=""
|
|
||||||
| preserveAspectRatio=""
|
|
||||||
| primitiveUnits=""
|
|
||||||
| refX=""
|
|
||||||
| refY=""
|
|
||||||
| repeatCount=""
|
|
||||||
| repeatDur=""
|
|
||||||
| requiredExtensions=""
|
|
||||||
| requiredFeatures=""
|
|
||||||
| specularConstant=""
|
|
||||||
| specularExponent=""
|
|
||||||
| spreadMethod=""
|
|
||||||
| startOffset=""
|
|
||||||
| stdDeviation=""
|
|
||||||
| stitchTiles=""
|
|
||||||
| surfaceScale=""
|
|
||||||
| systemLanguage=""
|
|
||||||
| tableValues=""
|
|
||||||
| targetX=""
|
|
||||||
| targetY=""
|
|
||||||
| textLength=""
|
|
||||||
| viewBox=""
|
|
||||||
| viewTarget=""
|
|
||||||
| xChannelSelector=""
|
|
||||||
| yChannelSelector=""
|
|
||||||
| zoomAndPan=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' contentScriptType='' contentStyleType='' diffuseConstant='' edgeMode='' externalResourcesRequired='' filterRes='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| attributename=""
|
|
||||||
| attributetype=""
|
|
||||||
| basefrequency=""
|
|
||||||
| baseprofile=""
|
|
||||||
| calcmode=""
|
|
||||||
| clippathunits=""
|
|
||||||
| contentscripttype=""
|
|
||||||
| contentstyletype=""
|
|
||||||
| diffuseconstant=""
|
|
||||||
| edgemode=""
|
|
||||||
| externalresourcesrequired=""
|
|
||||||
| filterres=""
|
|
||||||
| filterunits=""
|
|
||||||
| glyphref=""
|
|
||||||
| gradienttransform=""
|
|
||||||
| gradientunits=""
|
|
||||||
| kernelmatrix=""
|
|
||||||
| kernelunitlength=""
|
|
||||||
| keypoints=""
|
|
||||||
| keysplines=""
|
|
||||||
| keytimes=""
|
|
||||||
| lengthadjust=""
|
|
||||||
| limitingconeangle=""
|
|
||||||
| markerheight=""
|
|
||||||
| markerunits=""
|
|
||||||
| markerwidth=""
|
|
||||||
| maskcontentunits=""
|
|
||||||
| maskunits=""
|
|
||||||
| numoctaves=""
|
|
||||||
| pathlength=""
|
|
||||||
| patterncontentunits=""
|
|
||||||
| patterntransform=""
|
|
||||||
| patternunits=""
|
|
||||||
| pointsatx=""
|
|
||||||
| pointsaty=""
|
|
||||||
| pointsatz=""
|
|
||||||
| preservealpha=""
|
|
||||||
| preserveaspectratio=""
|
|
||||||
| primitiveunits=""
|
|
||||||
| refx=""
|
|
||||||
| refy=""
|
|
||||||
| repeatcount=""
|
|
||||||
| repeatdur=""
|
|
||||||
| requiredextensions=""
|
|
||||||
| requiredfeatures=""
|
|
||||||
| specularconstant=""
|
|
||||||
| specularexponent=""
|
|
||||||
| spreadmethod=""
|
|
||||||
| startoffset=""
|
|
||||||
| stddeviation=""
|
|
||||||
| stitchtiles=""
|
|
||||||
| surfacescale=""
|
|
||||||
| systemlanguage=""
|
|
||||||
| tablevalues=""
|
|
||||||
| targetx=""
|
|
||||||
| targety=""
|
|
||||||
| textlength=""
|
|
||||||
| viewbox=""
|
|
||||||
| viewtarget=""
|
|
||||||
| xchannelselector=""
|
|
||||||
| ychannelselector=""
|
|
||||||
| zoomandpan=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg altGlyph>
|
|
||||||
| <svg altGlyphDef>
|
|
||||||
| <svg altGlyphItem>
|
|
||||||
| <svg animateColor>
|
|
||||||
| <svg animateMotion>
|
|
||||||
| <svg animateTransform>
|
|
||||||
| <svg clipPath>
|
|
||||||
| <svg feBlend>
|
|
||||||
| <svg feColorMatrix>
|
|
||||||
| <svg feComponentTransfer>
|
|
||||||
| <svg feComposite>
|
|
||||||
| <svg feConvolveMatrix>
|
|
||||||
| <svg feDiffuseLighting>
|
|
||||||
| <svg feDisplacementMap>
|
|
||||||
| <svg feDistantLight>
|
|
||||||
| <svg feFlood>
|
|
||||||
| <svg feFuncA>
|
|
||||||
| <svg feFuncB>
|
|
||||||
| <svg feFuncG>
|
|
||||||
| <svg feFuncR>
|
|
||||||
| <svg feGaussianBlur>
|
|
||||||
| <svg feImage>
|
|
||||||
| <svg feMerge>
|
|
||||||
| <svg feMergeNode>
|
|
||||||
| <svg feMorphology>
|
|
||||||
| <svg feOffset>
|
|
||||||
| <svg fePointLight>
|
|
||||||
| <svg feSpecularLighting>
|
|
||||||
| <svg feSpotLight>
|
|
||||||
| <svg feTile>
|
|
||||||
| <svg feTurbulence>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <svg glyphRef>
|
|
||||||
| <svg linearGradient>
|
|
||||||
| <svg radialGradient>
|
|
||||||
| <svg textPath>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg><altglyph /><altglyphdef /><altglyphitem /><animatecolor /><animatemotion /><animatetransform /><clippath /><feblend /><fecolormatrix /><fecomponenttransfer /><fecomposite /><feconvolvematrix /><fediffuselighting /><fedisplacementmap /><fedistantlight /><feflood /><fefunca /><fefuncb /><fefuncg /><fefuncr /><fegaussianblur /><feimage /><femerge /><femergenode /><femorphology /><feoffset /><fepointlight /><fespecularlighting /><fespotlight /><fetile /><feturbulence /><foreignobject /><glyphref /><lineargradient /><radialgradient /><textpath /></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg altGlyph>
|
|
||||||
| <svg altGlyphDef>
|
|
||||||
| <svg altGlyphItem>
|
|
||||||
| <svg animateColor>
|
|
||||||
| <svg animateMotion>
|
|
||||||
| <svg animateTransform>
|
|
||||||
| <svg clipPath>
|
|
||||||
| <svg feBlend>
|
|
||||||
| <svg feColorMatrix>
|
|
||||||
| <svg feComponentTransfer>
|
|
||||||
| <svg feComposite>
|
|
||||||
| <svg feConvolveMatrix>
|
|
||||||
| <svg feDiffuseLighting>
|
|
||||||
| <svg feDisplacementMap>
|
|
||||||
| <svg feDistantLight>
|
|
||||||
| <svg feFlood>
|
|
||||||
| <svg feFuncA>
|
|
||||||
| <svg feFuncB>
|
|
||||||
| <svg feFuncG>
|
|
||||||
| <svg feFuncR>
|
|
||||||
| <svg feGaussianBlur>
|
|
||||||
| <svg feImage>
|
|
||||||
| <svg feMerge>
|
|
||||||
| <svg feMergeNode>
|
|
||||||
| <svg feMorphology>
|
|
||||||
| <svg feOffset>
|
|
||||||
| <svg fePointLight>
|
|
||||||
| <svg feSpecularLighting>
|
|
||||||
| <svg feSpotLight>
|
|
||||||
| <svg feTile>
|
|
||||||
| <svg feTurbulence>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <svg glyphRef>
|
|
||||||
| <svg linearGradient>
|
|
||||||
| <svg radialGradient>
|
|
||||||
| <svg textPath>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><BODY><SVG><ALTGLYPH /><ALTGLYPHDEF /><ALTGLYPHITEM /><ANIMATECOLOR /><ANIMATEMOTION /><ANIMATETRANSFORM /><CLIPPATH /><FEBLEND /><FECOLORMATRIX /><FECOMPONENTTRANSFER /><FECOMPOSITE /><FECONVOLVEMATRIX /><FEDIFFUSELIGHTING /><FEDISPLACEMENTMAP /><FEDISTANTLIGHT /><FEFLOOD /><FEFUNCA /><FEFUNCB /><FEFUNCG /><FEFUNCR /><FEGAUSSIANBLUR /><FEIMAGE /><FEMERGE /><FEMERGENODE /><FEMORPHOLOGY /><FEOFFSET /><FEPOINTLIGHT /><FESPECULARLIGHTING /><FESPOTLIGHT /><FETILE /><FETURBULENCE /><FOREIGNOBJECT /><GLYPHREF /><LINEARGRADIENT /><RADIALGRADIENT /><TEXTPATH /></SVG>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg altGlyph>
|
|
||||||
| <svg altGlyphDef>
|
|
||||||
| <svg altGlyphItem>
|
|
||||||
| <svg animateColor>
|
|
||||||
| <svg animateMotion>
|
|
||||||
| <svg animateTransform>
|
|
||||||
| <svg clipPath>
|
|
||||||
| <svg feBlend>
|
|
||||||
| <svg feColorMatrix>
|
|
||||||
| <svg feComponentTransfer>
|
|
||||||
| <svg feComposite>
|
|
||||||
| <svg feConvolveMatrix>
|
|
||||||
| <svg feDiffuseLighting>
|
|
||||||
| <svg feDisplacementMap>
|
|
||||||
| <svg feDistantLight>
|
|
||||||
| <svg feFlood>
|
|
||||||
| <svg feFuncA>
|
|
||||||
| <svg feFuncB>
|
|
||||||
| <svg feFuncG>
|
|
||||||
| <svg feFuncR>
|
|
||||||
| <svg feGaussianBlur>
|
|
||||||
| <svg feImage>
|
|
||||||
| <svg feMerge>
|
|
||||||
| <svg feMergeNode>
|
|
||||||
| <svg feMorphology>
|
|
||||||
| <svg feOffset>
|
|
||||||
| <svg fePointLight>
|
|
||||||
| <svg feSpecularLighting>
|
|
||||||
| <svg feSpotLight>
|
|
||||||
| <svg feTile>
|
|
||||||
| <svg feTurbulence>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <svg glyphRef>
|
|
||||||
| <svg linearGradient>
|
|
||||||
| <svg radialGradient>
|
|
||||||
| <svg textPath>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><math><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math altglyph>
|
|
||||||
| <math altglyphdef>
|
|
||||||
| <math altglyphitem>
|
|
||||||
| <math animatecolor>
|
|
||||||
| <math animatemotion>
|
|
||||||
| <math animatetransform>
|
|
||||||
| <math clippath>
|
|
||||||
| <math feblend>
|
|
||||||
| <math fecolormatrix>
|
|
||||||
| <math fecomponenttransfer>
|
|
||||||
| <math fecomposite>
|
|
||||||
| <math feconvolvematrix>
|
|
||||||
| <math fediffuselighting>
|
|
||||||
| <math fedisplacementmap>
|
|
||||||
| <math fedistantlight>
|
|
||||||
| <math feflood>
|
|
||||||
| <math fefunca>
|
|
||||||
| <math fefuncb>
|
|
||||||
| <math fefuncg>
|
|
||||||
| <math fefuncr>
|
|
||||||
| <math fegaussianblur>
|
|
||||||
| <math feimage>
|
|
||||||
| <math femerge>
|
|
||||||
| <math femergenode>
|
|
||||||
| <math femorphology>
|
|
||||||
| <math feoffset>
|
|
||||||
| <math fepointlight>
|
|
||||||
| <math fespecularlighting>
|
|
||||||
| <math fespotlight>
|
|
||||||
| <math fetile>
|
|
||||||
| <math feturbulence>
|
|
||||||
| <math foreignobject>
|
|
||||||
| <math glyphref>
|
|
||||||
| <math lineargradient>
|
|
||||||
| <math radialgradient>
|
|
||||||
| <math textpath>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><svg><solidColor /></svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg solidcolor>
|
|
62
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests12.dat
generated
vendored
62
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests12.dat
generated
vendored
@ -1,62 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| "foo"
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <i>
|
|
||||||
| "baz"
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <b>
|
|
||||||
| "eggs"
|
|
||||||
| <svg g>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| "spam"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <img>
|
|
||||||
| <svg g>
|
|
||||||
| "quux"
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "foo"
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <i>
|
|
||||||
| "baz"
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <b>
|
|
||||||
| "eggs"
|
|
||||||
| <svg g>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| "spam"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <img>
|
|
||||||
| <svg g>
|
|
||||||
| "quux"
|
|
||||||
| "bar"
|
|
74
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests14.dat
generated
vendored
74
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests14.dat
generated
vendored
@ -1,74 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><html><body><xyz:abc></xyz:abc>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <xyz:abc>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><body><xyz:abc></xyz:abc><span></span>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <xyz:abc>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc>
|
|
||||||
#errors
|
|
||||||
15: Unexpected start tag html
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| abc:def="gh"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <xyz:abc>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html xml:lang=bar><html xml:lang=foo>
|
|
||||||
#errors
|
|
||||||
15: Unexpected start tag html
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| xml:lang="bar"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html 123=456>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| 123="456"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html 123=456><html 789=012>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| 123="456"
|
|
||||||
| 789="012"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><body 789=012>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| 789="012"
|
|
208
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests15.dat
generated
vendored
208
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests15.dat
generated
vendored
@ -1,208 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><p><b><i><u></p> <p>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 31 Unexpected end tag (p). Ignored.
|
|
||||||
Line: 1 Col: 36 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| <u>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| <u>
|
|
||||||
| " "
|
|
||||||
| <p>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><b><i><u></p>
|
|
||||||
<p>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 16 Unexpected end tag (p). Ignored.
|
|
||||||
Line: 2 Col: 4 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| <u>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| <u>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html></html> <head>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 22 Unexpected end tag (html) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html></body><meta>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 22 Unexpected end tag (body) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <meta>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html></html><!-- foo -->
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 13 Unexpected end tag (html) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <!-- foo -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html></body><title>X</title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 22 Unexpected end tag (body) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table> X<meta></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 24 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 30 Unexpected start tag (meta) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " X"
|
|
||||||
| <meta>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table> x</table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 24 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " x"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table> x </table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 25 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " x "
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr> x</table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 28 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " x"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table>X<style> <tr>x </style> </table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 23 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
| <table>
|
|
||||||
| <style>
|
|
||||||
| " <tr>x "
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 30 Unexpected start tag (a) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 37 Unexpected end tag (a) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| "foo"
|
|
||||||
| <table>
|
|
||||||
| " "
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "bar"
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>
|
|
||||||
#errors
|
|
||||||
6: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
13: Stray start tag “frame”.
|
|
||||||
21: Stray end tag “frame”.
|
|
||||||
29: Stray end tag “frame”.
|
|
||||||
39: “frameset” start tag after “body” already open.
|
|
||||||
105: End of file seen inside an [R]CDATA element.
|
|
||||||
105: End of file seen and there were open elements.
|
|
||||||
XXX: These errors are wrong, please fix me!
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <frame>
|
|
||||||
| <frameset>
|
|
||||||
| <frame>
|
|
||||||
| <noframes>
|
|
||||||
| "</frameset><noframes>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><object></html>
|
|
||||||
#errors
|
|
||||||
1: Expected closing tag. Unexpected end of file
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <object>
|
|
2299
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests16.dat
generated
vendored
2299
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests16.dat
generated
vendored
File diff suppressed because it is too large
Load Diff
153
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests17.dat
generated
vendored
153
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests17.dat
generated
vendored
@ -1,153 +0,0 @@
|
|||||||
#data
|
|
||||||
<!doctype html><table><tbody><select><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><select><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><td><select><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <select>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><th><select><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <th>
|
|
||||||
| <select>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><caption><select><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <select>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><th>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><tbody>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><thead>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><tfoot>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><caption>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr></table>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| "a"
|
|
269
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests18.dat
generated
vendored
269
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests18.dat
generated
vendored
@ -1,269 +0,0 @@
|
|||||||
#data
|
|
||||||
<!doctype html><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tbody><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tbody><tr><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tbody><tr><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><td><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><caption><plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><style></script></style>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "abc"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <style>
|
|
||||||
| "</script>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><script></style></script>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "abc"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <script>
|
|
||||||
| "</style>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><caption><style></script></style>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <style>
|
|
||||||
| "</script>"
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><td><style></script></style>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <style>
|
|
||||||
| "</script>"
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><script></style></script>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <script>
|
|
||||||
| "</style>"
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><select><script></style></script>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <script>
|
|
||||||
| "</style>"
|
|
||||||
| "abc"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr><select><script></style></script>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <script>
|
|
||||||
| "</style>"
|
|
||||||
| "abc"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><frameset></frameset><noframes>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <noframes>
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <noframes>
|
|
||||||
| "abc"
|
|
||||||
| <!-- abc -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><frameset></frameset></html><noframes>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <noframes>
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <noframes>
|
|
||||||
| "abc"
|
|
||||||
| <!-- abc -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><tr></tbody><tfoot>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <tfoot>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><td><svg></svg>abc<td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| "abc"
|
|
||||||
| <td>
|
|
1237
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests19.dat
generated
vendored
1237
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests19.dat
generated
vendored
File diff suppressed because it is too large
Load Diff
763
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests2.dat
generated
vendored
763
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests2.dat
generated
vendored
@ -1,763 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html>Test
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea>test</div>test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (textarea). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 24 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "test</div>test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 11 Unexpected table cell start tag (td) in the table body phase.
|
|
||||||
Line: 1 Col: 11 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td>test</tbody></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 11 Unexpected table cell start tag (td) in the table body phase.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frame>test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (frame). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 7 Unexpected start tag frame. Ignored.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset>test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 29 Unepxected characters in the frameset phase. Characters ignored.
|
|
||||||
Line: 1 Col: 29 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset><!DOCTYPE html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 40 Unexpected DOCTYPE. Ignored.
|
|
||||||
Line: 1 Col: 40 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><font><p><b>test</font>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 38 End tag (font) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
Line: 1 Col: 38 End tag (font) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <font>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| <b>
|
|
||||||
| "test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><dt><div><dd>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 28 Missing end tag (div, dt).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <dt>
|
|
||||||
| <div>
|
|
||||||
| <dd>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<script></x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected start tag (script). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 11 Unexpected end of file. Expected end tag (script).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <script>
|
|
||||||
| "</x"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><plaintext><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 18 Unexpected start tag (plaintext) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 22 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "<td>"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<plaintext></plaintext>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 11 Unexpected start tag (plaintext). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 23 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <plaintext>
|
|
||||||
| "</plaintext>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><tr>TEST
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 30 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 30 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "TEST"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 37 Unexpected start tag (body).
|
|
||||||
Line: 1 Col: 53 Unexpected start tag (body).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| t1="1"
|
|
||||||
| t2="2"
|
|
||||||
| t3="3"
|
|
||||||
| t4="4"
|
|
||||||
|
|
||||||
#data
|
|
||||||
</b test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end of file in attribute name.
|
|
||||||
Line: 1 Col: 8 End tag contains unexpected attributes.
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (b). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (b) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html></b test<b &=&>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 32 Named entity didn't end with ';'.
|
|
||||||
Line: 1 Col: 33 End tag contains unexpected attributes.
|
|
||||||
Line: 1 Col: 33 Unexpected end tag (b) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
Line: 1 Col: 54 Unexpected end of file in the tag name.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <script>
|
|
||||||
| type="text/x-foobar;baz"
|
|
||||||
| "X</SCRipt"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
&
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&#
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Numeric entity expected. Got end of file instead.
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&#"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&#X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Numeric entity expected but none found.
|
|
||||||
Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&#X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&#x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Numeric entity expected but none found.
|
|
||||||
Line: 1 Col: 3 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&#x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
-
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 4 Numeric entity didn't end with ';'.
|
|
||||||
Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "-"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&x-test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Named entity expected. Got none.
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&x-test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctypehtml><p><li>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <li>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctypehtml><p><dt>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <dt>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctypehtml><p><dd>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <dd>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctypehtml><p><form>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
Line: 1 Col: 23 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <form>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><p></P>X
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 4 Named entity didn't end with ';'.
|
|
||||||
Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&"
|
|
||||||
|
|
||||||
#data
|
|
||||||
&AMp;
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Named entity expected. Got none.
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "&AMp;"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 110 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X</body>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 24 Unexpected non-space characters in the after body phase.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "XX"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><!-- X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 21 Unexpected end of file in comment.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <!-- X -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><caption>test TEST</caption><td>test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 54 Unexpected table cell start tag (td) in the table body phase.
|
|
||||||
Line: 1 Col: 58 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| "test TEST"
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><select><option><optgroup>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 41 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| <optgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 68 Unexpected select start tag in the select phase treated as select end tag.
|
|
||||||
Line: 1 Col: 76 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <optgroup>
|
|
||||||
| <option>
|
|
||||||
| <option>
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><select><optgroup><option><optgroup>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 51 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <optgroup>
|
|
||||||
| <option>
|
|
||||||
| <optgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><datalist><option>foo</datalist>bar
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <datalist>
|
|
||||||
| <option>
|
|
||||||
| "foo"
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><font><input><input></font>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <font>
|
|
||||||
| <input>
|
|
||||||
| <input>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><!-- XXX - XXX -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <!-- XXX - XXX -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><!-- XXX - XXX
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 29 Unexpected end of file in comment (-)
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <!-- XXX - XXX -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><!-- XXX - XXX - XXX -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <!-- XXX - XXX - XXX -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<isindex test=x name=x>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 23 Unexpected start tag (isindex). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 23 Unexpected start tag isindex. Don't use it!
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
| <hr>
|
|
||||||
| <label>
|
|
||||||
| "This is a searchable index. Enter search keywords: "
|
|
||||||
| <input>
|
|
||||||
| name="isindex"
|
|
||||||
| test="x"
|
|
||||||
| <hr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
test
|
|
||||||
test
|
|
||||||
#errors
|
|
||||||
Line: 2 Col: 4 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "test
|
|
||||||
test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><title>test</body></title>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <title>
|
|
||||||
| "test</body>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style>
|
|
||||||
x { content:"</style" } </style>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
| <meta>
|
|
||||||
| name="z"
|
|
||||||
| <link>
|
|
||||||
| rel="foo"
|
|
||||||
| <style>
|
|
||||||
| "
|
|
||||||
x { content:"</style" } "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><select><optgroup></optgroup></select>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <optgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
|
|
||||||
|
|
||||||
#errors
|
|
||||||
Line: 2 Col: 1 Unexpected End of file. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html> <html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><script>
|
|
||||||
</script> <title>x</title> </head>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <script>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| " "
|
|
||||||
| <title>
|
|
||||||
| "x"
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><body><html id=x>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 38 html needs to be the first start tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| id="x"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X</body><html id="x">
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 36 Unexpected start tag token (html) in the after body phase.
|
|
||||||
Line: 1 Col: 36 html needs to be the first start tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| id="x"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><head><html id=x>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 32 html needs to be the first start tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| id="x"
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X</html>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 24 Unexpected non-space characters in the after body phase.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "XX"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X</html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X</html><p>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 26 Unexpected start tag (p).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
| <p>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>X<p/x/y/z>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 19 Expected a > after the /.
|
|
||||||
Line: 1 Col: 21 Solidus (/) incorrectly placed in tag.
|
|
||||||
Line: 1 Col: 23 Solidus (/) incorrectly placed in tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
| <p>
|
|
||||||
| x=""
|
|
||||||
| y=""
|
|
||||||
| z=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><!--x--
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 22 Unexpected end of file in comment (--).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <!-- x -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><tr><td></p></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 34 Unexpected end tag (p). Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->-->
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 20 Expected space or '>'. Got ''
|
|
||||||
Line: 1 Col: 25 Erroneous DOCTYPE.
|
|
||||||
Line: 1 Col: 35 Unexpected character in comment found.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE <!doctype>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| ">"
|
|
||||||
| <!-- <!--x -->
|
|
||||||
| "-->"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><div><form></form><div></div></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <form>
|
|
||||||
| <div>
|
|
455
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests20.dat
generated
vendored
455
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests20.dat
generated
vendored
@ -1,455 +0,0 @@
|
|||||||
#data
|
|
||||||
<!doctype html><p><button><button>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <button>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><address>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <address>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><blockquote>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <blockquote>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><menu>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <menu>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><ul>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <ul>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><h1>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <h1>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><h6>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <h6>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><listing>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <listing>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><pre>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <pre>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><form>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <form>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><li>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <li>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><dd>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <dd>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><dt>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <dt>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><plaintext>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <plaintext>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><hr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <hr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button><xmp>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <xmp>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><button></p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <button>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><address><button></address>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <address>
|
|
||||||
| <button>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><address><button></address>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <address>
|
|
||||||
| <button>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><table></p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <p>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><svg>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><figcaption>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <figcaption>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><summary>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <summary>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><form><table><form>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><form><form>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <form>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><form></table><form>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <form>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><svg><foreignObject><p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><svg><title>abc
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg title>
|
|
||||||
| "abc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<option><span><option>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <option>
|
|
||||||
| <span>
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<option><option>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <option>
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding="application/svg+xml"><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding="application/svg+xml"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding="application/xhtml+xml"><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding="application/xhtml+xml"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding="aPPlication/xhtmL+xMl"><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding="aPPlication/xhtmL+xMl"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding="text/html"><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding="text/html"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding="Text/htmL"><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding="Text/htmL"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><annotation-xml encoding=" text/html "><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| encoding=" text/html "
|
|
||||||
| <div>
|
|
221
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests21.dat
generated
vendored
221
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests21.dat
generated
vendored
@ -1,221 +0,0 @@
|
|||||||
#data
|
|
||||||
<svg><![CDATA[foo]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><![CDATA[foo]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><![CDATA[foo]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <!-- [CDATA[foo]] -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[foo
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]] >]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "]] >"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]] >]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "]] >"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]]
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "]]"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "]"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[]>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "]>a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><foreignObject><div><![CDATA[foo]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <div>
|
|
||||||
| <!-- [CDATA[foo]] -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[</svg>a]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "</svg>a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[</svg>a
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "</svg>a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>]]><path>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>"
|
|
||||||
| <svg path>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>]]></path>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>]]><!--path-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>"
|
|
||||||
| <!-- path -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<svg>]]>path
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<svg>path"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><![CDATA[<!--svg-->]]>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| "<!--svg-->"
|
|
157
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests22.dat
generated
vendored
157
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests22.dat
generated
vendored
@ -1,157 +0,0 @@
|
|||||||
#data
|
|
||||||
<a><b><big><em><strong><div>X</a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <big>
|
|
||||||
| <em>
|
|
||||||
| <strong>
|
|
||||||
| <big>
|
|
||||||
| <em>
|
|
||||||
| <strong>
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8>A</a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <div>
|
|
||||||
| id="1"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="2"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="3"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="4"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="5"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="6"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="7"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="8"
|
|
||||||
| <a>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9>A</a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <div>
|
|
||||||
| id="1"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="2"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="3"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="4"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="5"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="6"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="7"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="8"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="9"
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9><div id=10>A</a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| <div>
|
|
||||||
| id="1"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="2"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="3"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="4"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="5"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="6"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="7"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="8"
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| id="9"
|
|
||||||
| <div>
|
|
||||||
| id="10"
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<cite><b><cite><i><cite><i><cite><i><div>X</b>TEST
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (cite). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 46 End tag (b) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
Line: 1 Col: 50 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <cite>
|
|
||||||
| <b>
|
|
||||||
| <cite>
|
|
||||||
| <i>
|
|
||||||
| <cite>
|
|
||||||
| <i>
|
|
||||||
| <cite>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| "X"
|
|
||||||
| "TEST"
|
|
155
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests23.dat
generated
vendored
155
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests23.dat
generated
vendored
@ -1,155 +0,0 @@
|
|||||||
#data
|
|
||||||
<p><font size=4><font color=red><font size=4><font size=4><font size=4><font size=4><font size=4><font color=red><p>X
|
|
||||||
#errors
|
|
||||||
3: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
116: Unclosed elements.
|
|
||||||
117: End of file seen and there were open elements.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><font size=4><font size=4><font size=4><font size=4><p>X
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><font size=4><font size=4><font size=4><font size="5"><font size=4><p>X
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="5"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="5"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><font size=4 id=a><font size=4 id=b><font size=4><font size=4><p>X
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| id="a"
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| id="b"
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| id="a"
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| id="b"
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| <font>
|
|
||||||
| size="4"
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><b id=a><b id=a><b id=a><b><object><b id=a><b id=a>X</object><p>Y
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| <object>
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| "X"
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| id="a"
|
|
||||||
| <b>
|
|
||||||
| "Y"
|
|
79
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests24.dat
generated
vendored
79
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests24.dat
generated
vendored
@ -1,79 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html>≂̸
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "≂̸"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>≂̸A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "≂̸A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>  
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>  A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| " A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>⊂⃒
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "⊂⃒"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>⊂⃒A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "⊂⃒A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>𝔾
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "𝔾"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html>𝔾A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "𝔾A"
|
|
219
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests25.dat
generated
vendored
219
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests25.dat
generated
vendored
@ -1,219 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><body><foo>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><area>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <area>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><base>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <base>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><basefont>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <basefont>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><bgsound>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <bgsound>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><br>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <br>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><col>A
|
|
||||||
#errors
|
|
||||||
26: Stray start tag “col”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><command>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <command>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><embed>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <embed>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><frame>A
|
|
||||||
#errors
|
|
||||||
26: Stray start tag “frame”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><hr>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <hr>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><img>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <img>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><input>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <input>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><keygen>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <keygen>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><link>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <link>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><meta>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <meta>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><param>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <param>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><source>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <source>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><track>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <track>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><wbr>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <wbr>
|
|
||||||
| "A"
|
|
313
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests26.dat
generated
vendored
313
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests26.dat
generated
vendored
@ -1,313 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><body><a href='#1'><nobr>1<nobr></a><br><a href='#2'><nobr>2<nobr></a><br><a href='#3'><nobr>3<nobr></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| href="#1"
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <br>
|
|
||||||
| <a>
|
|
||||||
| href="#2"
|
|
||||||
| <a>
|
|
||||||
| href="#2"
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <br>
|
|
||||||
| <a>
|
|
||||||
| href="#3"
|
|
||||||
| <a>
|
|
||||||
| href="#3"
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
| <nobr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<nobr></b><i><nobr>2<nobr></i>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<div><nobr></b><i><nobr>2<nobr></i>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<nobr></b><div><i><nobr>2<nobr></i>3
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <div>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| "3"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <ins>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "1"
|
|
||||||
| <ins>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| "2"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| "1"
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| <nobr>
|
|
||||||
| "2"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><code x</code></p>
|
|
||||||
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <code>
|
|
||||||
| code=""
|
|
||||||
| x<=""
|
|
||||||
| <code>
|
|
||||||
| code=""
|
|
||||||
| x<=""
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><svg><foreignObject><p><i></p>a
|
|
||||||
#errors
|
|
||||||
45: End tag “p” seen, but there were open elements.
|
|
||||||
41: Unclosed element “i”.
|
|
||||||
46: End of file seen and there were open elements.
|
|
||||||
35: Unclosed element “foreignObject”.
|
|
||||||
20: Unclosed element “svg”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a
|
|
||||||
#errors
|
|
||||||
56: End tag “p” seen, but there were open elements.
|
|
||||||
52: Unclosed element “i”.
|
|
||||||
57: End of file seen and there were open elements.
|
|
||||||
46: Unclosed element “foreignObject”.
|
|
||||||
31: Unclosed element “svg”.
|
|
||||||
22: Unclosed element “table”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg foreignObject>
|
|
||||||
| <p>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><math><mtext><p><i></p>a
|
|
||||||
#errors
|
|
||||||
38: End tag “p” seen, but there were open elements.
|
|
||||||
34: Unclosed element “i”.
|
|
||||||
39: End of file in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <p>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a
|
|
||||||
#errors
|
|
||||||
53: End tag “p” seen, but there were open elements.
|
|
||||||
49: Unclosed element “i”.
|
|
||||||
54: End of file in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <math math>
|
|
||||||
| <math mtext>
|
|
||||||
| <p>
|
|
||||||
| <i>
|
|
||||||
| <i>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><div><!/div>a
|
|
||||||
#errors
|
|
||||||
29: Bogus comment.
|
|
||||||
34: End of file seen and there were open elements.
|
|
||||||
26: Unclosed element “div”.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <!-- /div -->
|
|
||||||
| "a"
|
|
305
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests3.dat
generated
vendored
305
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests3.dat
generated
vendored
@ -1,305 +0,0 @@
|
|||||||
#data
|
|
||||||
<head></head><style></style>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 20 Unexpected start tag (style) that can be in head. Moved.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<head></head><script></script>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 21 Unexpected start tag (script) that can be in head. Moved.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <script>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<head></head><!-- --><style></style><!-- --><script></script>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 28 Unexpected start tag (style) that can be in head. Moved.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| <script>
|
|
||||||
| <!-- -->
|
|
||||||
| <!-- -->
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<head></head><!-- -->x<style></style><!-- --><script></script>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <!-- -->
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
| <style>
|
|
||||||
| <!-- -->
|
|
||||||
| <script>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>
|
|
||||||
</pre></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>
|
|
||||||
foo</pre></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>
|
|
||||||
|
|
||||||
foo</pre></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "
|
|
||||||
foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>
|
|
||||||
foo
|
|
||||||
</pre></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "foo
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>x</pre><span>
|
|
||||||
</span></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "x"
|
|
||||||
| <span>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>x
|
|
||||||
y</pre></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "x
|
|
||||||
y"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><pre>x<div>
|
|
||||||
y</pre></body></html>
|
|
||||||
#errors
|
|
||||||
Line: 2 Col: 7 End tag (pre) seen too early. Expected other end tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "x"
|
|
||||||
| <div>
|
|
||||||
| "
|
|
||||||
y"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><pre>

A</pre>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <pre>
|
|
||||||
| "
|
|
||||||
A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><HTML><META><HEAD></HEAD></HTML>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 33 Unexpected start tag head in existing head. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <meta>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><HTML><HEAD><head></HEAD></HTML>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 33 Unexpected start tag head in existing head. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea>foo<span>bar</span><i>baz
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (textarea). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 35 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "foo<span>bar</span><i>baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title>foo<span>bar</em><i>baz
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (title). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 30 Unexpected end of file. Expected end tag (title).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "foo<span>bar</em><i>baz"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><textarea>
|
|
||||||
</textarea>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><textarea>
|
|
||||||
foo</textarea>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><textarea>
|
|
||||||
|
|
||||||
foo</textarea>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| "
|
|
||||||
foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><html><head></head><body><ul><li><div><p><li></ul></body></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 60 Missing end tag (div, li).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <ul>
|
|
||||||
| <li>
|
|
||||||
| <div>
|
|
||||||
| <p>
|
|
||||||
| <li>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><nobr><nobr><nobr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 27 Unexpected start tag (nobr) implies end tag (nobr).
|
|
||||||
Line: 1 Col: 33 Unexpected start tag (nobr) implies end tag (nobr).
|
|
||||||
Line: 1 Col: 33 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><nobr><nobr></nobr><nobr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 27 Unexpected start tag (nobr) implies end tag (nobr).
|
|
||||||
Line: 1 Col: 40 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
| <nobr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><html><body><p><table></table></body></html>
|
|
||||||
#errors
|
|
||||||
Not known
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><table></table>
|
|
||||||
#errors
|
|
||||||
Not known
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <table>
|
|
59
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests4.dat
generated
vendored
59
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests4.dat
generated
vendored
@ -1,59 +0,0 @@
|
|||||||
#data
|
|
||||||
direct div content
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
div
|
|
||||||
#document
|
|
||||||
| "direct div content"
|
|
||||||
|
|
||||||
#data
|
|
||||||
direct textarea content
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
textarea
|
|
||||||
#document
|
|
||||||
| "direct textarea content"
|
|
||||||
|
|
||||||
#data
|
|
||||||
textarea content with <em>pseudo</em> <foo>markup
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
textarea
|
|
||||||
#document
|
|
||||||
| "textarea content with <em>pseudo</em> <foo>markup"
|
|
||||||
|
|
||||||
#data
|
|
||||||
this is CDATA inside a <style> element
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
style
|
|
||||||
#document
|
|
||||||
| "this is CDATA inside a <style> element"
|
|
||||||
|
|
||||||
#data
|
|
||||||
</plaintext>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
plaintext
|
|
||||||
#document
|
|
||||||
| "</plaintext>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
setting html's innerHTML
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 24 Unexpected EOF in inner html mode.
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "setting html's innerHTML"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title>setting head's innerHTML</title>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
head
|
|
||||||
#document
|
|
||||||
| <title>
|
|
||||||
| "setting head's innerHTML"
|
|
191
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests5.dat
generated
vendored
191
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests5.dat
generated
vendored
@ -1,191 +0,0 @@
|
|||||||
#data
|
|
||||||
<style> <!-- </style>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (style). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 22 Unexpected end of file. Expected end tag (style).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " <!-- "
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style> <!-- </style> --> </style>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (style). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " <!-- "
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
| "--> x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style> <!--> </style>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (style). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " <!--> "
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style> <!---> </style>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (style). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " <!---> "
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<iframe> <!---> </iframe>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected start tag (iframe). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <iframe>
|
|
||||||
| " <!---> "
|
|
||||||
| "x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<iframe> <!--- </iframe>->x</iframe> --> </iframe>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected start tag (iframe). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <iframe>
|
|
||||||
| " <!--- "
|
|
||||||
| "->x --> x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<script> <!-- </script> --> </script>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected start tag (script). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <script>
|
|
||||||
| " <!-- "
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
| "--> x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title> <!-- </title> --> </title>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (title). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| " <!-- "
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
| "--> x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea> <!--- </textarea>->x</textarea> --> </textarea>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (textarea). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <textarea>
|
|
||||||
| " <!--- "
|
|
||||||
| "->x --> x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<style> <!</-- </style>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (style). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " <!</-- "
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p><xmp></xmp>
|
|
||||||
#errors
|
|
||||||
XXX: Unknown
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <xmp>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<xmp> <!-- > --> </xmp>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (xmp). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <xmp>
|
|
||||||
| " <!-- > --> "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title>&</title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (title). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "&"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title><!--&--></title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (title). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "<!--&-->"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<title><!--</title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (title). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 19 Unexpected end of file. Expected end tag (title).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "<!--"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<noscript><!--</noscript>--></noscript>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (noscript). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <noscript>
|
|
||||||
| "<!--"
|
|
||||||
| <body>
|
|
||||||
| "-->"
|
|
663
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests6.dat
generated
vendored
663
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests6.dat
generated
vendored
@ -1,663 +0,0 @@
|
|||||||
#data
|
|
||||||
<!doctype html></head> <head>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 29 Unexpected start tag head. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><form><div></form><div>
|
|
||||||
#errors
|
|
||||||
33: End tag "form" seen but there were unclosed elements.
|
|
||||||
38: End of file seen and there were open elements.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
| <div>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><title>&</title>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "&"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><title><!--&--></title>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "<!--&-->"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 No space after literal string 'DOCTYPE'.
|
|
||||||
Line: 1 Col: 10 Unexpected > character. Expected DOCTYPE name.
|
|
||||||
Line: 1 Col: 10 Erroneous DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE >
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!---x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected end of file in comment.
|
|
||||||
Line: 1 Col: 6 Unexpected End of file. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <!-- -x -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body>
|
|
||||||
<div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (body).
|
|
||||||
Line: 2 Col: 5 Expected closing tag. Unexpected end of file.
|
|
||||||
#document-fragment
|
|
||||||
div
|
|
||||||
#document
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></frameset>
|
|
||||||
foo
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 2 Col: 3 Unexpected non-space characters in the after frameset phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></frameset>
|
|
||||||
<noframes>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 2 Col: 10 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <noframes>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></frameset>
|
|
||||||
<div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 2 Col: 5 Unexpected start tag (div) in the after frameset phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></frameset>
|
|
||||||
</html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></frameset>
|
|
||||||
</div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 2 Col: 6 Unexpected end tag (div) in the after frameset phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<form><form>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (form). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 12 Unexpected start tag (form).
|
|
||||||
Line: 1 Col: 12 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <form>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<button><button>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected start tag (button). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 16 Unexpected start tag (button) implies end tag (button).
|
|
||||||
Line: 1 Col: 16 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <button>
|
|
||||||
| <button>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td></th>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 20 Unexpected end tag (th). Ignored.
|
|
||||||
Line: 1 Col: 20 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 20 Unexpected end tag (td). Ignored.
|
|
||||||
Line: 1 Col: 20 Unexpected table cell start tag (td) in the table body phase.
|
|
||||||
Line: 1 Col: 20 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 21 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</caption><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected end tag (caption). Ignored.
|
|
||||||
Line: 1 Col: 15 Expected closing tag. Unexpected end of file.
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption><div></caption>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 31 Unexpected end tag (caption). Missing end tag (div).
|
|
||||||
Line: 1 Col: 31 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 24 Unexpected end table tag in caption. Generates implied end caption.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end table tag in caption. Generates implied end caption.
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (caption). Ignored.
|
|
||||||
Line: 1 Col: 13 Expected closing tag. Unexpected end of file.
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 23 Unexpected end tag (body). Ignored.
|
|
||||||
Line: 1 Col: 29 Unexpected end tag (col). Ignored.
|
|
||||||
Line: 1 Col: 40 Unexpected end tag (colgroup). Ignored.
|
|
||||||
Line: 1 Col: 47 Unexpected end tag (html). Ignored.
|
|
||||||
Line: 1 Col: 55 Unexpected end tag (tbody). Ignored.
|
|
||||||
Line: 1 Col: 60 Unexpected end tag (td). Ignored.
|
|
||||||
Line: 1 Col: 68 Unexpected end tag (tfoot). Ignored.
|
|
||||||
Line: 1 Col: 73 Unexpected end tag (th). Ignored.
|
|
||||||
Line: 1 Col: 81 Unexpected end tag (thead). Ignored.
|
|
||||||
Line: 1 Col: 86 Unexpected end tag (tr). Ignored.
|
|
||||||
Line: 1 Col: 86 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><caption><div></div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 27 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td></body></caption></col></colgroup></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 22 Unexpected end tag (body). Ignored.
|
|
||||||
Line: 1 Col: 32 Unexpected end tag (caption). Ignored.
|
|
||||||
Line: 1 Col: 38 Unexpected end tag (col). Ignored.
|
|
||||||
Line: 1 Col: 49 Unexpected end tag (colgroup). Ignored.
|
|
||||||
Line: 1 Col: 56 Unexpected end tag (html). Ignored.
|
|
||||||
Line: 1 Col: 56 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table></tbody></tfoot></thead></tr><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (table). Ignored.
|
|
||||||
Line: 1 Col: 16 Unexpected end tag (tbody). Ignored.
|
|
||||||
Line: 1 Col: 24 Unexpected end tag (tfoot). Ignored.
|
|
||||||
Line: 1 Col: 32 Unexpected end tag (thead). Ignored.
|
|
||||||
Line: 1 Col: 37 Unexpected end tag (tr). Ignored.
|
|
||||||
Line: 1 Col: 42 Expected closing tag. Unexpected end of file.
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><colgroup>foo
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 20 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 20 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "foo"
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
foo<col>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Unexpected end tag (colgroup). Ignored.
|
|
||||||
#document-fragment
|
|
||||||
colgroup
|
|
||||||
#document
|
|
||||||
| <col>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><colgroup></col>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 23 This element (col) has no end tag.
|
|
||||||
Line: 1 Col: 23 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 15 Unexpected start tag token (div) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 15 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</frameset><frame>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 11 Unexpected end tag token (frameset) in the frameset phase (innerHTML).
|
|
||||||
#document-fragment
|
|
||||||
frameset
|
|
||||||
#document
|
|
||||||
| <frame>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset></div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 16 Unexpected end tag token (div) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 16 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</body><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected end tag (body). Ignored.
|
|
||||||
Line: 1 Col: 12 Expected closing tag. Unexpected end of file.
|
|
||||||
#document-fragment
|
|
||||||
body
|
|
||||||
#document
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 16 Unexpected start tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 16 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tr><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected end tag (tr). Ignored.
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tbody></tfoot></thead><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (tbody). Ignored.
|
|
||||||
Line: 1 Col: 16 Unexpected end tag (tfoot). Ignored.
|
|
||||||
Line: 1 Col: 24 Unexpected end tag (thead). Ignored.
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><div><td>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 16 Unexpected start tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 20 Unexpected implied end tag (div) in the table row phase.
|
|
||||||
Line: 1 Col: 20 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<caption><col><colgroup><tbody><tfoot><thead><tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 9 Unexpected start tag (caption).
|
|
||||||
Line: 1 Col: 14 Unexpected start tag (col).
|
|
||||||
Line: 1 Col: 24 Unexpected start tag (colgroup).
|
|
||||||
Line: 1 Col: 31 Unexpected start tag (tbody).
|
|
||||||
Line: 1 Col: 38 Unexpected start tag (tfoot).
|
|
||||||
Line: 1 Col: 45 Unexpected start tag (thead).
|
|
||||||
Line: 1 Col: 49 Unexpected end of file. Expected table content.
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tbody></thead>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 22 Unexpected end tag (thead) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 22 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (table). Ignored.
|
|
||||||
Line: 1 Col: 12 Unexpected end of file. Expected table content.
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tbody></body></caption></col></colgroup></html></td></th></tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 21 Unexpected end tag (body) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 31 Unexpected end tag (caption) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 37 Unexpected end tag (col) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 48 Unexpected end tag (colgroup) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 55 Unexpected end tag (html) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 60 Unexpected end tag (td) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 65 Unexpected end tag (th) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 70 Unexpected end tag (tr) in the table body phase. Ignored.
|
|
||||||
Line: 1 Col: 70 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tbody></div>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 20 Unexpected end tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 20 End tag (div) seen too early. Expected other end tag.
|
|
||||||
Line: 1 Col: 20 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 14 Unexpected start tag (table) implies end tag (table).
|
|
||||||
Line: 1 Col: 14 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 14 Unexpected end tag (body). Ignored.
|
|
||||||
Line: 1 Col: 24 Unexpected end tag (caption). Ignored.
|
|
||||||
Line: 1 Col: 30 Unexpected end tag (col). Ignored.
|
|
||||||
Line: 1 Col: 41 Unexpected end tag (colgroup). Ignored.
|
|
||||||
Line: 1 Col: 48 Unexpected end tag (html). Ignored.
|
|
||||||
Line: 1 Col: 56 Unexpected end tag (tbody). Ignored.
|
|
||||||
Line: 1 Col: 61 Unexpected end tag (td). Ignored.
|
|
||||||
Line: 1 Col: 69 Unexpected end tag (tfoot). Ignored.
|
|
||||||
Line: 1 Col: 74 Unexpected end tag (th). Ignored.
|
|
||||||
Line: 1 Col: 82 Unexpected end tag (thead). Ignored.
|
|
||||||
Line: 1 Col: 87 Unexpected end tag (tr). Ignored.
|
|
||||||
Line: 1 Col: 87 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 8 Unexpected end tag (table). Ignored.
|
|
||||||
Line: 1 Col: 12 Unexpected end of file. Expected table content.
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body></body></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 20 Unexpected html end tag in inner html mode.
|
|
||||||
Line: 1 Col: 20 Unexpected EOF in inner html mode.
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><frameset></frameset></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 50 Erroneous DOCTYPE.
|
|
||||||
Line: 1 Col: 63 Unexpected end tag (html) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<param><frameset></frameset>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (param). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 17 Unexpected start tag (frameset).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<source><frameset></frameset>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (source). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 17 Unexpected start tag (frameset).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<track><frameset></frameset>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (track). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 17 Unexpected start tag (frameset).
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</html><frameset></frameset>
|
|
||||||
#errors
|
|
||||||
7: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
17: Stray “frameset” start tag.
|
|
||||||
17: “frameset” start tag seen.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</body><frameset></frameset>
|
|
||||||
#errors
|
|
||||||
7: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
|
|
||||||
17: Stray “frameset” start tag.
|
|
||||||
17: “frameset” start tag seen.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
390
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests7.dat
generated
vendored
390
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests7.dat
generated
vendored
@ -1,390 +0,0 @@
|
|||||||
#data
|
|
||||||
<!doctype html><body><title>X</title>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><title>X</title></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 29 Unexpected start tag (title) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 38 Unexpected end tag (title) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><head></head><title>X</title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 35 Unexpected start tag (title) that can be in head. Moved.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html></head><title>X</title>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 29 Unexpected start tag (title) that can be in head. Moved.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <title>
|
|
||||||
| "X"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><meta></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 28 Unexpected start tag (meta) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <meta>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table>X<tr><td><table> <meta></table></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 23 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 45 Unexpected start tag (meta) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <meta>
|
|
||||||
| <table>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><html> <head>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html> <head>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><style> <tr>x </style> </table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <style>
|
|
||||||
| " <tr>x "
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><TBODY><script> <tr>x </script> </table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <script>
|
|
||||||
| " <tr>x "
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><p><applet><p>X</p></applet>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <applet>
|
|
||||||
| <p>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><listing>
|
|
||||||
X</listing>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <listing>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><input>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 30 Unexpected input start tag in the select phase.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <input>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select><select>X
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 31 Unexpected select start tag in the select phase treated as select end tag.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><input type=hidDEN></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 41 Unexpected input with type hidden in table context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <input>
|
|
||||||
| type="hidDEN"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table>X<input type=hidDEN></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 23 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
| <table>
|
|
||||||
| <input>
|
|
||||||
| type="hidDEN"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table> <input type=hidDEN></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 43 Unexpected input with type hidden in table context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| " "
|
|
||||||
| <input>
|
|
||||||
| type="hidDEN"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table> <input type='hidDEN'></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 45 Unexpected input with type hidden in table context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| " "
|
|
||||||
| <input>
|
|
||||||
| type="hidDEN"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><input type=" hidden"><input type=hidDEN></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 44 Unexpected start tag (input) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <input>
|
|
||||||
| type=" hidden"
|
|
||||||
| <table>
|
|
||||||
| <input>
|
|
||||||
| type="hidDEN"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><table><select>X<tr>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 30 Unexpected start tag (select) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 35 Unexpected table element start tag (trs) in the select in table phase.
|
|
||||||
Line: 1 Col: 35 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| "X"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><select>X</select>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE hTmL><html></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 28 Unexpected end tag (html) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE HTML><html></html>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 28 Unexpected end tag (html) after the (implied) root element.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body>X</body></body>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 21 Unexpected end tag token (body) in the after body phase.
|
|
||||||
Line: 1 Col: 21 Unexpected EOF in inner html mode.
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "X"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><p>a</x> b
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (div). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 13 Unexpected end tag (x). Ignored.
|
|
||||||
Line: 1 Col: 15 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <p>
|
|
||||||
| "a b"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td><code></code> </table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <code>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><b><tr><td>aaa</td></tr>bbb</table>ccc
|
|
||||||
#errors
|
|
||||||
XXX: Fix me
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <b>
|
|
||||||
| "bbb"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "aaa"
|
|
||||||
| <b>
|
|
||||||
| "ccc"
|
|
||||||
|
|
||||||
#data
|
|
||||||
A<table><tr> B</tr> B</table>
|
|
||||||
#errors
|
|
||||||
XXX: Fix me
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "A B B"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
A<table><tr> B</tr> </em>C</table>
|
|
||||||
#errors
|
|
||||||
XXX: Fix me
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "A BC"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<select><keygen>
|
|
||||||
#errors
|
|
||||||
Not known
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <keygen>
|
|
148
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests8.dat
generated
vendored
148
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests8.dat
generated
vendored
@ -1,148 +0,0 @@
|
|||||||
#data
|
|
||||||
<div>
|
|
||||||
<div></div>
|
|
||||||
</span>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (div). Expected DOCTYPE.
|
|
||||||
Line: 3 Col: 7 Unexpected end tag (span). Ignored.
|
|
||||||
Line: 3 Col: 8 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <div>
|
|
||||||
| "
|
|
||||||
x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>x<div></div>
|
|
||||||
</span>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (div). Expected DOCTYPE.
|
|
||||||
Line: 2 Col: 7 Unexpected end tag (span). Ignored.
|
|
||||||
Line: 2 Col: 8 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "x"
|
|
||||||
| <div>
|
|
||||||
| "
|
|
||||||
x"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>x<div></div>x</span>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (div). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 25 Unexpected end tag (span). Ignored.
|
|
||||||
Line: 1 Col: 26 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "x"
|
|
||||||
| <div>
|
|
||||||
| "xx"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>x<div></div>y</span>z
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 5 Unexpected start tag (div). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 25 Unexpected end tag (span). Ignored.
|
|
||||||
Line: 1 Col: 26 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "x"
|
|
||||||
| <div>
|
|
||||||
| "yz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><div>x<div></div>x</span>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 12 Unexpected start tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 18 Unexpected start tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 24 Unexpected end tag (div) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 32 Unexpected end tag (span) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 32 Unexpected end tag (span). Ignored.
|
|
||||||
Line: 1 Col: 33 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "x"
|
|
||||||
| <div>
|
|
||||||
| "xx"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
x<table>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 9 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 9 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "xx"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
x<table><table>x
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 1 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 15 Unexpected start tag (table) implies end tag (table).
|
|
||||||
Line: 1 Col: 16 Unexpected non-space characters in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 16 Unexpected end of file. Expected table content.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
| <table>
|
|
||||||
| "x"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<b>a<div></div><div></b>y
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 24 End tag (b) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
Line: 1 Col: 25 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| "a"
|
|
||||||
| <div>
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| "y"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><div><p></a>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 3 Unexpected start tag (a). Expected DOCTYPE.
|
|
||||||
Line: 1 Col: 15 End tag (a) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
Line: 1 Col: 15 End tag (a) violates step 1, paragraph 3 of the adoption agency algorithm.
|
|
||||||
Line: 1 Col: 15 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
457
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests9.dat
generated
vendored
457
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests9.dat
generated
vendored
@ -1,457 +0,0 @@
|
|||||||
#data
|
|
||||||
<!DOCTYPE html><math></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><math></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><math><mi>
|
|
||||||
#errors
|
|
||||||
25: End of file in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><math><annotation-xml><svg><u>
|
|
||||||
#errors
|
|
||||||
45: HTML start tag “u” in a foreign namespace context.
|
|
||||||
45: End of file seen and there were open elements.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math annotation-xml>
|
|
||||||
| <svg svg>
|
|
||||||
| <u>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><select><math></math></select>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 35 Unexpected start tag token (math) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 42 Unexpected end tag (math) in the select phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><select><option><math></math></option></select>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 43 Unexpected start tag token (math) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 50 Unexpected end tag (math) in the select phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><math></math></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 34 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 41 Unexpected end tag (math) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><math><mi>foo</mi></math></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 34 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 46 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 53 Unexpected end tag (math) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><math><mi>foo</mi><mi>bar</mi></math></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 34 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 46 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 58 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 65 Unexpected end tag (math) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><math><mi>foo</mi><mi>bar</mi></math></tbody></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 41 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 53 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 65 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 72 Unexpected end tag (math) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><math><mi>foo</mi><mi>bar</mi></math></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 45 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 57 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 69 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 76 Unexpected end tag (math) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</td></tr></tbody></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</caption></table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 70 HTML start tag "p" in a foreign namespace context.
|
|
||||||
Line: 1 Col: 81 Unexpected end table tag in caption. Generates implied end caption.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 78 Unexpected end table tag in caption. Generates implied end caption.
|
|
||||||
Line: 1 Col: 78 Unexpected end tag (caption). Missing end tag (math).
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <caption>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| "baz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 44 Unexpected start tag (math) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 56 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 68 Unexpected end tag (mi) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 71 HTML start tag "p" in a foreign namespace context.
|
|
||||||
Line: 1 Col: 71 Unexpected start tag (p) in table context caused voodoo mode.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><tr><td><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 50 Unexpected start tag token (math) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 54 Unexpected start tag token (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 62 Unexpected end tag (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 66 Unexpected start tag token (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 74 Unexpected end tag (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 77 Unexpected start tag token (p) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 88 Unexpected table element end tag (tables) in the select in table phase.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <select>
|
|
||||||
| "foobarbaz"
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body><table><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 36 Unexpected start tag (select) in table context caused voodoo mode.
|
|
||||||
Line: 1 Col: 42 Unexpected start tag token (math) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 46 Unexpected start tag token (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 54 Unexpected end tag (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 58 Unexpected start tag token (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 66 Unexpected end tag (mi) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 69 Unexpected start tag token (p) in the select phase. Ignored.
|
|
||||||
Line: 1 Col: 80 Unexpected table element end tag (tables) in the select in table phase.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| "foobarbaz"
|
|
||||||
| <table>
|
|
||||||
| <p>
|
|
||||||
| "quux"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 41 Unexpected start tag (math).
|
|
||||||
Line: 1 Col: 68 HTML start tag "p" in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 34 Unexpected start tag token (math) in the after body phase.
|
|
||||||
Line: 1 Col: 61 HTML start tag "p" in a foreign namespace context.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| "foo"
|
|
||||||
| <math mi>
|
|
||||||
| "bar"
|
|
||||||
| <p>
|
|
||||||
| "baz"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset><math><mi></mi><mi></mi><p><span>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 31 Unexpected start tag token (math) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 35 Unexpected start tag token (mi) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 40 Unexpected end tag token (mi) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 44 Unexpected start tag token (mi) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 49 Unexpected end tag token (mi) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 52 Unexpected start tag token (p) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 58 Unexpected start tag token (span) in the frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 58 Expected closing tag. Unexpected end of file.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><frameset></frameset><math><mi></mi><mi></mi><p><span>
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 42 Unexpected start tag (math) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 46 Unexpected start tag (mi) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 51 Unexpected end tag (mi) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 55 Unexpected start tag (mi) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 60 Unexpected end tag (mi) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 63 Unexpected start tag (p) in the after frameset phase. Ignored.
|
|
||||||
Line: 1 Col: 69 Unexpected start tag (span) in the after frameset phase. Ignored.
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo><math xlink:href=foo></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| <math math>
|
|
||||||
| xlink href="foo"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo></mi></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo /></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo />bar</math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| xlink:href="foo"
|
|
||||||
| xml:lang="en"
|
|
||||||
| <math math>
|
|
||||||
| <math mi>
|
|
||||||
| xlink href="foo"
|
|
||||||
| xml lang="en"
|
|
||||||
| "bar"
|
|
741
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests_innerHTML_1.dat
generated
vendored
741
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tests_innerHTML_1.dat
generated
vendored
@ -1,741 +0,0 @@
|
|||||||
#data
|
|
||||||
<body><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
body
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><body>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
body
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><body>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
div
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
body
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><frameset>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
body
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><frameset>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
div
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<frameset><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><caption>a
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <caption>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><colgroup><col>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <colgroup>
|
|
||||||
| <col>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><tbody><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><tfoot><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tfoot>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><thead><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <thead>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><th>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <th>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table></table><tbody>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span></table>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</caption><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span></caption><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><caption><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><col><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><colgroup><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><html><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><tbody><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><td><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><tfoot><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><thead><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><th><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span><tr><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<span></table><span>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
caption
|
|
||||||
#document
|
|
||||||
| <span>
|
|
||||||
| <span>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</colgroup><col>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
colgroup
|
|
||||||
#document
|
|
||||||
| <col>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><col>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
colgroup
|
|
||||||
#document
|
|
||||||
| <col>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<caption><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<col><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<colgroup><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tbody><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tfoot><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<thead><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<td><table><tbody><a><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tbody
|
|
||||||
#document
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <a>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tr><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<td><table><a><tr></tr><tr>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
| <a>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<caption><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<col><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<colgroup><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tbody><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tfoot><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<thead><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tr><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<td><table></table><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
| <table>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<td><table></table><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
tr
|
|
||||||
#document
|
|
||||||
| <td>
|
|
||||||
| <table>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<caption><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<col><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<colgroup><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tbody><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tfoot><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<th><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<thead><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<tr><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</table><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tbody><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</td><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tfoot><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</thead><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</th><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</tr><a>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td><td>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
td
|
|
||||||
#document
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</select><option>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
select
|
|
||||||
#document
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<input><option>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
select
|
|
||||||
#document
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<keygen><option>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
select
|
|
||||||
#document
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<textarea><option>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
select
|
|
||||||
#document
|
|
||||||
| <option>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</html><!--abc-->
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <!-- abc -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
</frameset><frame>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
frameset
|
|
||||||
#document
|
|
||||||
| <frame>
|
|
||||||
|
|
||||||
#data
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
html
|
|
||||||
#document
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
261
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tricky01.dat
generated
vendored
261
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/tricky01.dat
generated
vendored
@ -1,261 +0,0 @@
|
|||||||
#data
|
|
||||||
<b><p>Bold </b> Not bold</p>
|
|
||||||
Also not bold.
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <b>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| "Bold "
|
|
||||||
| " Not bold"
|
|
||||||
| "
|
|
||||||
Also not bold."
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html>
|
|
||||||
<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain
|
|
||||||
<p>I should not be red. <font color=red>Red. <i>Italic and red.</p>
|
|
||||||
<p>Italic and red. </i> Red.</font> I should not be red.</p>
|
|
||||||
<b>Bold <i>Bold and italic</b> Only Italic </i> Plain
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <i>
|
|
||||||
| "Italic and Red"
|
|
||||||
| <i>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| "Italic and Red "
|
|
||||||
| " Just italic."
|
|
||||||
| " Italic only."
|
|
||||||
| " Plain
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| "I should not be red. "
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| "Red. "
|
|
||||||
| <i>
|
|
||||||
| "Italic and red."
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <i>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| color="red"
|
|
||||||
| <i>
|
|
||||||
| "Italic and red. "
|
|
||||||
| " Red."
|
|
||||||
| " I should not be red."
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <b>
|
|
||||||
| "Bold "
|
|
||||||
| <i>
|
|
||||||
| "Bold and italic"
|
|
||||||
| <i>
|
|
||||||
| " Only Italic "
|
|
||||||
| " Plain"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body>
|
|
||||||
<p><font size="7">First paragraph.</p>
|
|
||||||
<p>Second paragraph.</p></font>
|
|
||||||
<b><p><i>Bold and Italic</b> Italic</p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| size="7"
|
|
||||||
| "First paragraph."
|
|
||||||
| <font>
|
|
||||||
| size="7"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| "Second paragraph."
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <b>
|
|
||||||
| <p>
|
|
||||||
| <b>
|
|
||||||
| <i>
|
|
||||||
| "Bold and Italic"
|
|
||||||
| <i>
|
|
||||||
| " Italic"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html>
|
|
||||||
<dl>
|
|
||||||
<dt><b>Boo
|
|
||||||
<dd>Goo?
|
|
||||||
</dl>
|
|
||||||
</html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <dl>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <dt>
|
|
||||||
| <b>
|
|
||||||
| "Boo
|
|
||||||
"
|
|
||||||
| <dd>
|
|
||||||
| <b>
|
|
||||||
| "Goo?
|
|
||||||
"
|
|
||||||
| <b>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body>
|
|
||||||
<label><a><div>Hello<div>World</div></a></label>
|
|
||||||
</body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <label>
|
|
||||||
| <a>
|
|
||||||
| <div>
|
|
||||||
| <a>
|
|
||||||
| "Hello"
|
|
||||||
| <div>
|
|
||||||
| "World"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <center>
|
|
||||||
| " "
|
|
||||||
| <font>
|
|
||||||
| "a"
|
|
||||||
| <font>
|
|
||||||
| <img>
|
|
||||||
| " "
|
|
||||||
| <table>
|
|
||||||
| " "
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| " "
|
|
||||||
| " "
|
|
||||||
| " "
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><p><a><p>You should see this text.
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
| <p>
|
|
||||||
| <a>
|
|
||||||
| "You should see this text."
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<TABLE>
|
|
||||||
<TR>
|
|
||||||
<CENTER><CENTER><TD></TD></TR><TR>
|
|
||||||
<FONT>
|
|
||||||
<TABLE><tr></tr></TABLE>
|
|
||||||
</P>
|
|
||||||
<a></font><font></a>
|
|
||||||
This page contains an insanely badly-nested tag sequence.
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <center>
|
|
||||||
| <center>
|
|
||||||
| <font>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <table>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <td>
|
|
||||||
| <tr>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <font>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <p>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <a>
|
|
||||||
| <a>
|
|
||||||
| <font>
|
|
||||||
| <font>
|
|
||||||
| "
|
|
||||||
This page contains an insanely badly-nested tag sequence."
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html>
|
|
||||||
<body>
|
|
||||||
<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the
|
|
||||||
nobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "This text is in a div inside a nobr"
|
|
||||||
| "More text that should not be in the nobr, i.e., the
|
|
||||||
nobr should have closed the div inside it implicitly. "
|
|
||||||
| <pre>
|
|
||||||
| "A pre tag outside everything else."
|
|
||||||
| "
|
|
||||||
|
|
||||||
"
|
|
610
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/webkit01.dat
generated
vendored
610
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/webkit01.dat
generated
vendored
@ -1,610 +0,0 @@
|
|||||||
#data
|
|
||||||
Test
|
|
||||||
#errors
|
|
||||||
Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE.
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "Test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>Test</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "Test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<di
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>Hello</div>
|
|
||||||
<script>
|
|
||||||
console.log("PASS");
|
|
||||||
</script>
|
|
||||||
<div>Bye</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "Hello"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <script>
|
|
||||||
| "
|
|
||||||
console.log("PASS");
|
|
||||||
"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <div>
|
|
||||||
| "Bye"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div foo="bar">Hello</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| foo="bar"
|
|
||||||
| "Hello"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div>Hello</div>
|
|
||||||
<script>
|
|
||||||
console.log("FOO<span>BAR</span>BAZ");
|
|
||||||
</script>
|
|
||||||
<div>Bye</div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| "Hello"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <script>
|
|
||||||
| "
|
|
||||||
console.log("FOO<span>BAR</span>BAZ");
|
|
||||||
"
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <div>
|
|
||||||
| "Bye"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<foo bar="baz"></foo><potato quack="duck"></potato>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| bar="baz"
|
|
||||||
| <potato>
|
|
||||||
| quack="duck"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<foo bar="baz"><potato quack="duck"></potato></foo>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| bar="baz"
|
|
||||||
| <potato>
|
|
||||||
| quack="duck"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<foo></foo bar="baz"><potato></potato quack="duck">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| <potato>
|
|
||||||
|
|
||||||
#data
|
|
||||||
</ tttt>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!-- tttt -->
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div FOO ><img><img></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| foo=""
|
|
||||||
| <img>
|
|
||||||
| <img>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p>Test</p<p>Test2</p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| "TestTest2"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<rdar://problem/6869687>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <rdar:>
|
|
||||||
| 6869687=""
|
|
||||||
| problem=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<A>test< /A>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| "test< /A>"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "<"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body foo='bar'><body foo='baz' yo='mama'>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| foo="bar"
|
|
||||||
| yo="mama"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body></br foo="bar"></body>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <br>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<bdy><br foo="bar"></body>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <bdy>
|
|
||||||
| <br>
|
|
||||||
| foo="bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<body></body></br foo="bar">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <br>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<bdy></body><br foo="bar">
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <bdy>
|
|
||||||
| <br>
|
|
||||||
| foo="bar"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body></body></html><!-- Hi there -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <!-- Hi there -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body></body></html>x<!-- Hi there -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
| <!-- Hi there -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body></body></html>x<!-- Hi there --></html><!-- Again -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
| <!-- Hi there -->
|
|
||||||
| <!-- Again -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body></body></html>x<!-- Hi there --></body></html><!-- Again -->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "x"
|
|
||||||
| <!-- Hi there -->
|
|
||||||
| <!-- Again -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body><ruby><div><rp>xx</rp></div></ruby></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <ruby>
|
|
||||||
| <div>
|
|
||||||
| <rp>
|
|
||||||
| "xx"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body><ruby><div><rt>xx</rt></div></ruby></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <ruby>
|
|
||||||
| <div>
|
|
||||||
| <rt>
|
|
||||||
| "xx"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6-->
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
| <!-- 1 -->
|
|
||||||
| <noframes>
|
|
||||||
| "A"
|
|
||||||
| <!-- 2 -->
|
|
||||||
| <!-- 3 -->
|
|
||||||
| <noframes>
|
|
||||||
| "B"
|
|
||||||
| <!-- 4 -->
|
|
||||||
| <noframes>
|
|
||||||
| "C"
|
|
||||||
| <!-- 5 -->
|
|
||||||
| <!-- 6 -->
|
|
||||||
|
|
||||||
#data
|
|
||||||
<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "A"
|
|
||||||
| <option>
|
|
||||||
| "B"
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "C"
|
|
||||||
| <option>
|
|
||||||
| "D"
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "E"
|
|
||||||
| <option>
|
|
||||||
| "F"
|
|
||||||
| <select>
|
|
||||||
| <option>
|
|
||||||
| "G"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<dd><dd><dt><dt><dd><li><li>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <dd>
|
|
||||||
| <dd>
|
|
||||||
| <dt>
|
|
||||||
| <dt>
|
|
||||||
| <dd>
|
|
||||||
| <li>
|
|
||||||
| <li>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><b></div><div><nobr>a<nobr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| <div>
|
|
||||||
| <b>
|
|
||||||
| <nobr>
|
|
||||||
| "a"
|
|
||||||
| <nobr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<head></head>
|
|
||||||
<body></body>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| "
|
|
||||||
"
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<head></head> <style></style>ddd
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <style>
|
|
||||||
| " "
|
|
||||||
| <body>
|
|
||||||
| "ddd"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<kbd><table></kbd><col><select><tr>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <kbd>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
| <col>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<kbd><table></kbd><col><select><tr></table><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <kbd>
|
|
||||||
| <select>
|
|
||||||
| <table>
|
|
||||||
| <colgroup>
|
|
||||||
| <col>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><li><style></style><title></title></a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <li>
|
|
||||||
| <a>
|
|
||||||
| <style>
|
|
||||||
| <title>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<font></p><p><meta><title></title></font>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <font>
|
|
||||||
| <p>
|
|
||||||
| <p>
|
|
||||||
| <font>
|
|
||||||
| <meta>
|
|
||||||
| <title>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<a><center><title></title><a>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <a>
|
|
||||||
| <center>
|
|
||||||
| <a>
|
|
||||||
| <title>
|
|
||||||
| <a>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><title><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg title>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><title><rect><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg title>
|
|
||||||
| <rect>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><title><svg><div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg title>
|
|
||||||
| <svg svg>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<img <="" FAIL>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <img>
|
|
||||||
| <=""
|
|
||||||
| fail=""
|
|
||||||
|
|
||||||
#data
|
|
||||||
<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <ul>
|
|
||||||
| <li>
|
|
||||||
| <div>
|
|
||||||
| id="foo"
|
|
||||||
| "A"
|
|
||||||
| <li>
|
|
||||||
| "B"
|
|
||||||
| <div>
|
|
||||||
| "C"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><em><desc></em>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <em>
|
|
||||||
| <desc>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><tr><td><svg><desc><td></desc><circle>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg desc>
|
|
||||||
| <td>
|
|
||||||
| <circle>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<svg><tfoot></mi><td>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <svg svg>
|
|
||||||
| <svg tfoot>
|
|
||||||
| <svg td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <math math>
|
|
||||||
| <math mrow>
|
|
||||||
| <math mrow>
|
|
||||||
| <math mn>
|
|
||||||
| "1"
|
|
||||||
| <math mi>
|
|
||||||
| "a"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><input type="hidden"><frameset>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <frameset>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<!doctype html><input type="button"><frameset>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <!DOCTYPE html>
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <input>
|
|
||||||
| type="button"
|
|
159
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/webkit02.dat
generated
vendored
159
Godeps/_workspace/src/golang.org/x/net/html/testdata/webkit/webkit02.dat
generated
vendored
@ -1,159 +0,0 @@
|
|||||||
#data
|
|
||||||
<foo bar=qux/>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <foo>
|
|
||||||
| bar="qux/"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<p id="status"><noscript><strong>A</strong></noscript><span>B</span></p>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <p>
|
|
||||||
| id="status"
|
|
||||||
| <noscript>
|
|
||||||
| "<strong>A</strong>"
|
|
||||||
| <span>
|
|
||||||
| "B"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<div><sarcasm><div></div></sarcasm></div>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <div>
|
|
||||||
| <sarcasm>
|
|
||||||
| <div>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<html><body><img src="" border="0" alt="><div>A</div></body></html>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td></tbody>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| "A"
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td></thead>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><td></tfoot>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <tbody>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><thead><td></tbody>A
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <table>
|
|
||||||
| <thead>
|
|
||||||
| <tr>
|
|
||||||
| <td>
|
|
||||||
| "A"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<legend>test</legend>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <legend>
|
|
||||||
| "test"
|
|
||||||
|
|
||||||
#data
|
|
||||||
<table><input>
|
|
||||||
#errors
|
|
||||||
#document
|
|
||||||
| <html>
|
|
||||||
| <head>
|
|
||||||
| <body>
|
|
||||||
| <input>
|
|
||||||
| <table>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<b><em><dcell><postfield><postfield><postfield><postfield><missing_glyph><missing_glyph><missing_glyph><missing_glyph><hkern><aside></b></em>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
div
|
|
||||||
#document
|
|
||||||
| <b>
|
|
||||||
| <em>
|
|
||||||
| <dcell>
|
|
||||||
| <postfield>
|
|
||||||
| <postfield>
|
|
||||||
| <postfield>
|
|
||||||
| <postfield>
|
|
||||||
| <missing_glyph>
|
|
||||||
| <missing_glyph>
|
|
||||||
| <missing_glyph>
|
|
||||||
| <missing_glyph>
|
|
||||||
| <hkern>
|
|
||||||
| <aside>
|
|
||||||
| <em>
|
|
||||||
| <b>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<isindex action="x">
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
table
|
|
||||||
#document
|
|
||||||
| <form>
|
|
||||||
| action="x"
|
|
||||||
| <hr>
|
|
||||||
| <label>
|
|
||||||
| "This is a searchable index. Enter search keywords: "
|
|
||||||
| <input>
|
|
||||||
| name="isindex"
|
|
||||||
| <hr>
|
|
||||||
|
|
||||||
#data
|
|
||||||
<option><XH<optgroup></optgroup>
|
|
||||||
#errors
|
|
||||||
#document-fragment
|
|
||||||
select
|
|
||||||
#document
|
|
||||||
| <option>
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user