#80 implement Ragel based lexer
This commit is contained in:
parent
9ca7109abe
commit
2c649159c7
4
Makefile
4
Makefile
@ -27,8 +27,8 @@ compile: ./php5/php5.go ./php7/php7.go ./scanner/scanner.go fmt
|
|||||||
sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./php5/php5.go
|
sed -i '' -e 's/yyErrorVerbose = false/yyErrorVerbose = true/g' ./php5/php5.go
|
||||||
rm -f y.output
|
rm -f y.output
|
||||||
|
|
||||||
./scanner/scanner.go: ./scanner/scanner.l
|
./scanner/scanner.go: ./scanner/scanner.rl
|
||||||
golex -o $@ $<
|
ragel -Z -G2 -o $@ $<
|
||||||
|
|
||||||
./php5/php5.go: ./php5/php5.y
|
./php5/php5.go: ./php5/php5.y
|
||||||
goyacc -o $@ $<
|
goyacc -o $@ $<
|
||||||
|
11
README.md
11
README.md
@ -9,7 +9,7 @@ PHP Parser written in Go
|
|||||||
[![Maintainability](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/maintainability)](https://codeclimate.com/github/z7zmey/php-parser/maintainability)
|
[![Maintainability](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/maintainability)](https://codeclimate.com/github/z7zmey/php-parser/maintainability)
|
||||||
[![Test Coverage](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/test_coverage)](https://codeclimate.com/github/z7zmey/php-parser/test_coverage)
|
[![Test Coverage](https://api.codeclimate.com/v1/badges/950783b2e739db26e0ed/test_coverage)](https://codeclimate.com/github/z7zmey/php-parser/test_coverage)
|
||||||
|
|
||||||
This project uses [goyacc](https://godoc.org/golang.org/x/tools/cmd/goyacc) and [golex](https://github.com/cznic/golex) libraries to parse PHP sources into [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree). It can be used to write static analysis, refactoring, metrics, code style formatting tools.
|
This project uses [goyacc](https://godoc.org/golang.org/x/tools/cmd/goyacc) and [ragel](https://www.colm.net/open-source/ragel/) tools to create PHP parser. It parses source code into [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree). It can be used to write static analysis, refactoring, metrics, code style formatting tools.
|
||||||
|
|
||||||
#### Try it online: [demo](https://php-parser.com)
|
#### Try it online: [demo](https://php-parser.com)
|
||||||
|
|
||||||
@ -62,7 +62,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"bytes"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/php7"
|
"github.com/z7zmey/php-parser/php7"
|
||||||
@ -70,9 +69,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
src := bytes.NewBufferString(`<? echo "Hello world";`)
|
src := []byte(`<? echo "Hello world";`)
|
||||||
|
|
||||||
parser := php7.NewParser(src, "example.php")
|
parser := php7.NewParser(src)
|
||||||
parser.Parse()
|
parser.Parse()
|
||||||
|
|
||||||
for _, e := range parser.GetErrors() {
|
for _, e := range parser.GetErrors() {
|
||||||
@ -82,12 +81,10 @@ func main() {
|
|||||||
visitor := visitor.Dumper{
|
visitor := visitor.Dumper{
|
||||||
Writer: os.Stdout,
|
Writer: os.Stdout,
|
||||||
Indent: "",
|
Indent: "",
|
||||||
Comments: parser.GetComments(),
|
|
||||||
Positions: parser.GetPositions(),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rootNode := parser.GetRootNode()
|
rootNode := parser.GetRootNode()
|
||||||
rootNode.Walk(visitor)
|
rootNode.Walk(&visitor)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
47
main.go
47
main.go
@ -34,6 +34,11 @@ type file struct {
|
|||||||
content []byte
|
content []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type result struct {
|
||||||
|
path string
|
||||||
|
parser parser.Parser
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
usePhp5 = flag.Bool("php5", false, "parse as PHP5")
|
usePhp5 = flag.Bool("php5", false, "parse as PHP5")
|
||||||
withFreeFloating = flag.Bool("ff", false, "parse and show free floating strings")
|
withFreeFloating = flag.Bool("ff", false, "parse and show free floating strings")
|
||||||
@ -44,7 +49,7 @@ func main() {
|
|||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if len(flag.Args()) == 0{
|
if len(flag.Args()) == 0 {
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -58,10 +63,10 @@ func main() {
|
|||||||
defer profile.Start(profile.TraceProfile, profile.ProfilePath("."), profile.NoShutdownHook).Stop()
|
defer profile.Start(profile.TraceProfile, profile.ProfilePath("."), profile.NoShutdownHook).Stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
numCpu := runtime.NumCPU()
|
numCpu := runtime.GOMAXPROCS(0)
|
||||||
|
|
||||||
fileCh := make(chan *file, numCpu)
|
fileCh := make(chan *file, numCpu)
|
||||||
resultCh := make(chan parser.Parser, numCpu)
|
resultCh := make(chan result, numCpu)
|
||||||
|
|
||||||
// run 4 concurrent parserWorkers
|
// run 4 concurrent parserWorkers
|
||||||
for i := 0; i < numCpu; i++ {
|
for i := 0; i < numCpu; i++ {
|
||||||
@ -98,7 +103,7 @@ func processPath(pathList []string, fileCh chan<- *file) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func parserWorker(fileCh <-chan *file, result chan<- parser.Parser) {
|
func parserWorker(fileCh <-chan *file, r chan<- result) {
|
||||||
var parserWorker parser.Parser
|
var parserWorker parser.Parser
|
||||||
|
|
||||||
for {
|
for {
|
||||||
@ -107,12 +112,10 @@ func parserWorker(fileCh <-chan *file, result chan<- parser.Parser) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
src := bytes.NewReader(f.content)
|
|
||||||
|
|
||||||
if *usePhp5 {
|
if *usePhp5 {
|
||||||
parserWorker = php5.NewParser(src, f.path)
|
parserWorker = php5.NewParser(f.content)
|
||||||
} else {
|
} else {
|
||||||
parserWorker = php7.NewParser(src, f.path)
|
parserWorker = php7.NewParser(f.content)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *withFreeFloating {
|
if *withFreeFloating {
|
||||||
@ -121,17 +124,17 @@ func parserWorker(fileCh <-chan *file, result chan<- parser.Parser) {
|
|||||||
|
|
||||||
parserWorker.Parse()
|
parserWorker.Parse()
|
||||||
|
|
||||||
result <- parserWorker
|
r <- result{path: f.path, parser: parserWorker}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func printerWorker(result <-chan parser.Parser) {
|
func printerWorker(r <-chan result) {
|
||||||
var counter int
|
var counter int
|
||||||
|
|
||||||
w := bufio.NewWriter(os.Stdout)
|
w := bufio.NewWriter(os.Stdout)
|
||||||
|
|
||||||
for {
|
for {
|
||||||
parserWorker, ok := <-result
|
res, ok := <-r
|
||||||
if !ok {
|
if !ok {
|
||||||
w.Flush()
|
w.Flush()
|
||||||
return
|
return
|
||||||
@ -139,25 +142,29 @@ func printerWorker(result <-chan parser.Parser) {
|
|||||||
|
|
||||||
counter++
|
counter++
|
||||||
|
|
||||||
fmt.Fprintf(w, "==> [%d] %s\n", counter, parserWorker.GetPath())
|
fmt.Fprintf(w, "==> [%d] %s\n", counter, res.path)
|
||||||
|
|
||||||
for _, e := range parserWorker.GetErrors() {
|
for _, e := range res.parser.GetErrors() {
|
||||||
|
// if !strings.Contains(e.Msg, "WARNING") {
|
||||||
|
// fmt.Print("\n\n\n" + parserWorker.GetPath() + "\n ")
|
||||||
|
// panic(e.Msg)
|
||||||
|
// }
|
||||||
fmt.Fprintln(w, e)
|
fmt.Fprintln(w, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *printBack {
|
if *printBack {
|
||||||
o := bytes.NewBuffer([]byte{})
|
o := bytes.NewBuffer([]byte{})
|
||||||
p := printer.NewPrinter(o)
|
p := printer.NewPrinter(o)
|
||||||
p.Print(parserWorker.GetRootNode())
|
p.Print(res.parser.GetRootNode())
|
||||||
|
|
||||||
err := ioutil.WriteFile(parserWorker.GetPath(), o.Bytes(), 0644)
|
err := ioutil.WriteFile(res.path, o.Bytes(), 0644)
|
||||||
checkErr(err)
|
checkErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var nsResolver *visitor.NamespaceResolver
|
var nsResolver *visitor.NamespaceResolver
|
||||||
if *showResolvedNs {
|
if *showResolvedNs {
|
||||||
nsResolver = visitor.NewNamespaceResolver()
|
nsResolver = visitor.NewNamespaceResolver()
|
||||||
parserWorker.GetRootNode().Walk(nsResolver)
|
res.parser.GetRootNode().Walk(nsResolver)
|
||||||
}
|
}
|
||||||
|
|
||||||
switch dumpType {
|
switch dumpType {
|
||||||
@ -167,22 +174,22 @@ func printerWorker(result <-chan parser.Parser) {
|
|||||||
Indent: "| ",
|
Indent: "| ",
|
||||||
NsResolver: nsResolver,
|
NsResolver: nsResolver,
|
||||||
}
|
}
|
||||||
parserWorker.GetRootNode().Walk(dumper)
|
res.parser.GetRootNode().Walk(dumper)
|
||||||
case "json":
|
case "json":
|
||||||
dumper := &visitor.JsonDumper{
|
dumper := &visitor.JsonDumper{
|
||||||
Writer: os.Stdout,
|
Writer: os.Stdout,
|
||||||
NsResolver: nsResolver,
|
NsResolver: nsResolver,
|
||||||
}
|
}
|
||||||
parserWorker.GetRootNode().Walk(dumper)
|
res.parser.GetRootNode().Walk(dumper)
|
||||||
case "pretty_json":
|
case "pretty_json":
|
||||||
dumper := &visitor.PrettyJsonDumper{
|
dumper := &visitor.PrettyJsonDumper{
|
||||||
Writer: os.Stdout,
|
Writer: os.Stdout,
|
||||||
NsResolver: nsResolver,
|
NsResolver: nsResolver,
|
||||||
}
|
}
|
||||||
parserWorker.GetRootNode().Walk(dumper)
|
res.parser.GetRootNode().Walk(dumper)
|
||||||
case "go":
|
case "go":
|
||||||
dumper := &visitor.GoDumper{Writer: os.Stdout}
|
dumper := &visitor.GoDumper{Writer: os.Stdout}
|
||||||
parserWorker.GetRootNode().Walk(dumper)
|
res.parser.GetRootNode().Walk(dumper)
|
||||||
}
|
}
|
||||||
|
|
||||||
wg.Done()
|
wg.Done()
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
package cast_test
|
package cast_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &cast.Array{
|
Expr: &cast.Array{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestArray(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -80,7 +79,7 @@ func TestBool(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -88,28 +87,28 @@ func TestBool(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &cast.Bool{
|
Expr: &cast.Bool{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -120,12 +119,12 @@ func TestBool(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -138,7 +137,7 @@ func TestBoolShort(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -146,28 +145,28 @@ func TestBoolShort(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &cast.Bool{
|
Expr: &cast.Bool{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -178,12 +177,12 @@ func TestBoolShort(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -196,7 +195,7 @@ func TestDouble(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -204,28 +203,28 @@ func TestDouble(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &cast.Double{
|
Expr: &cast.Double{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -236,12 +235,12 @@ func TestDouble(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -254,7 +253,7 @@ func TestCastFloat(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -262,28 +261,28 @@ func TestCastFloat(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &cast.Double{
|
Expr: &cast.Double{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -294,12 +293,12 @@ func TestCastFloat(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -312,7 +311,7 @@ func TestInt(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -320,28 +319,28 @@ func TestInt(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &cast.Int{
|
Expr: &cast.Int{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -352,12 +351,12 @@ func TestInt(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -370,7 +369,7 @@ func TestIntShort(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -378,28 +377,28 @@ func TestIntShort(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &cast.Int{
|
Expr: &cast.Int{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -410,12 +409,12 @@ func TestIntShort(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -428,7 +427,7 @@ func TestObject(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -436,28 +435,28 @@ func TestObject(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &cast.Object{
|
Expr: &cast.Object{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -468,12 +467,12 @@ func TestObject(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -486,7 +485,7 @@ func TestString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -494,28 +493,28 @@ func TestString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &cast.String{
|
Expr: &cast.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -526,12 +525,12 @@ func TestString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -544,7 +543,7 @@ func TestBinaryString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -552,28 +551,28 @@ func TestBinaryString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &cast.String{
|
Expr: &cast.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -584,12 +583,12 @@ func TestBinaryString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -602,7 +601,7 @@ func TestUnset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -610,28 +609,28 @@ func TestUnset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &cast.Unset{
|
Expr: &cast.Unset{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -642,12 +641,12 @@ func TestUnset(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestArrayDimFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestArrayDimFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Expr: &expr.ArrayDimFetch{
|
Expr: &expr.ArrayDimFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -61,7 +60,7 @@ func TestArrayDimFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -71,12 +70,12 @@ func TestArrayDimFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -89,7 +88,7 @@ func TestArrayDimFetchNested(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -97,35 +96,35 @@ func TestArrayDimFetchNested(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.ArrayDimFetch{
|
Expr: &expr.ArrayDimFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Variable: &expr.ArrayDimFetch{
|
Variable: &expr.ArrayDimFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -135,7 +134,7 @@ func TestArrayDimFetchNested(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -145,7 +144,7 @@ func TestArrayDimFetchNested(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -155,12 +154,12 @@ func TestArrayDimFetchNested(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Array{
|
Expr: &expr.Array{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -46,12 +45,12 @@ func TestArray(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -64,7 +63,7 @@ func TestArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -72,14 +71,14 @@ func TestArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Array{
|
Expr: &expr.Array{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -87,14 +86,14 @@ func TestArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Val: &scalar.Lnumber{
|
Val: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -106,12 +105,12 @@ func TestArrayItem(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -124,7 +123,7 @@ func TestArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -132,14 +131,14 @@ func TestArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Expr: &expr.Array{
|
Expr: &expr.Array{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -147,14 +146,14 @@ func TestArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Key: &scalar.Lnumber{
|
Key: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -163,7 +162,7 @@ func TestArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -173,28 +172,28 @@ func TestArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Val: &expr.Reference{
|
Val: &expr.Reference{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -209,12 +208,12 @@ func TestArrayItems(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestBitwiseNot(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestBitwiseNot(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.BitwiseNot{
|
Expr: &expr.BitwiseNot{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestBitwiseNot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestBooleanNot(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestBooleanNot(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.BooleanNot{
|
Expr: &expr.BooleanNot{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestBooleanNot(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,21 +31,21 @@ func TestClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.ClassConstFetch{
|
Expr: &expr.ClassConstFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Class: &name.Name{
|
Class: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -65,7 +64,7 @@ func TestClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -75,12 +74,12 @@ func TestClassConstFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -93,7 +92,7 @@ func TestStaticClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -101,21 +100,21 @@ func TestStaticClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &expr.ClassConstFetch{
|
Expr: &expr.ClassConstFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Class: &node.Identifier{
|
Class: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "static",
|
Value: "static",
|
||||||
@ -124,7 +123,7 @@ func TestStaticClassConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -134,12 +133,12 @@ func TestStaticClassConstFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestCloneBrackets(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestCloneBrackets(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Clone{
|
Expr: &expr.Clone{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestCloneBrackets(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -80,7 +79,7 @@ func TestClone(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -88,28 +87,28 @@ func TestClone(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Clone{
|
Expr: &expr.Clone{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -120,12 +119,12 @@ func TestClone(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestClosure(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,14 +31,14 @@ func TestClosure(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.Closure{
|
Expr: &expr.Closure{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -51,12 +50,12 @@ func TestClosure(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -69,7 +68,7 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -77,14 +76,14 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Expr: &expr.Closure{
|
Expr: &expr.Closure{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -95,7 +94,7 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
@ -104,14 +103,14 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -122,7 +121,7 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
@ -131,14 +130,14 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -150,7 +149,7 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Uses: []node.Node{
|
Uses: []node.Node{
|
||||||
@ -158,14 +157,14 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -175,21 +174,21 @@ func TestClosureUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "d",
|
Value: "d",
|
||||||
@ -204,12 +203,12 @@ func TestClosureUse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -222,7 +221,7 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -230,14 +229,14 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Expr: &expr.Closure{
|
Expr: &expr.Closure{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -248,7 +247,7 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
@ -257,14 +256,14 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -275,7 +274,7 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
@ -284,14 +283,14 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -303,7 +302,7 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Uses: []node.Node{
|
Uses: []node.Node{
|
||||||
@ -311,21 +310,21 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -336,14 +335,14 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "d",
|
Value: "d",
|
||||||
@ -357,12 +356,12 @@ func TestClosureUse2(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -375,7 +374,7 @@ func TestClosureReturnType(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -383,14 +382,14 @@ func TestClosureReturnType(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &expr.Closure{
|
Expr: &expr.Closure{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -400,7 +399,7 @@ func TestClosureReturnType(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -408,7 +407,7 @@ func TestClosureReturnType(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Value: "void",
|
Value: "void",
|
||||||
@ -421,7 +420,7 @@ func TestClosureReturnType(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,21 +31,21 @@ func TestConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.ConstFetch{
|
Expr: &expr.ConstFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Constant: &name.Name{
|
Constant: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestConstFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -66,12 +65,12 @@ func TestConstFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -84,7 +83,7 @@ func TestConstFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -92,21 +91,21 @@ func TestConstFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &expr.ConstFetch{
|
Expr: &expr.ConstFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Constant: &name.Relative{
|
Constant: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -114,7 +113,7 @@ func TestConstFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -126,12 +125,12 @@ func TestConstFetchRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -144,7 +143,7 @@ func TestConstFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -152,21 +151,21 @@ func TestConstFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.ConstFetch{
|
Expr: &expr.ConstFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Constant: &name.FullyQualified{
|
Constant: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -174,7 +173,7 @@ func TestConstFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -186,12 +185,12 @@ func TestConstFetchFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Empty{
|
Expr: &expr.Empty{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestEmpty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestErrorSuppress(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestErrorSuppress(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.ErrorSuppress{
|
Expr: &expr.ErrorSuppress{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestErrorSuppress(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestEval(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestEval(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Eval{
|
Expr: &expr.Eval{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestEval(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestExit(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestExit(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -38,7 +37,7 @@ func TestExit(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -46,12 +45,12 @@ func TestExit(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -64,7 +63,7 @@ func TestExitEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -72,7 +71,7 @@ func TestExitEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -80,7 +79,7 @@ func TestExitEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -88,12 +87,12 @@ func TestExitEmpty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -106,7 +105,7 @@ func TestExitExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -114,7 +113,7 @@ func TestExitExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -122,21 +121,21 @@ func TestExitExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -147,12 +146,12 @@ func TestExitExpr(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -165,7 +164,7 @@ func TestDie(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -173,7 +172,7 @@ func TestDie(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -181,7 +180,7 @@ func TestDie(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -189,12 +188,12 @@ func TestDie(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -207,7 +206,7 @@ func TestDieEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -215,7 +214,7 @@ func TestDieEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -223,7 +222,7 @@ func TestDieEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -231,12 +230,12 @@ func TestDieEmpty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -249,7 +248,7 @@ func TestDieExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -257,7 +256,7 @@ func TestDieExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Exit{
|
Expr: &expr.Exit{
|
||||||
@ -265,21 +264,21 @@ func TestDieExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -290,12 +289,12 @@ func TestDieExpr(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -27,7 +26,7 @@ func TestFunctionCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -35,21 +34,21 @@ func TestFunctionCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Function: &name.Name{
|
Function: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -57,7 +56,7 @@ func TestFunctionCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -68,7 +67,7 @@ func TestFunctionCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -77,12 +76,12 @@ func TestFunctionCall(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -95,7 +94,7 @@ func TestFunctionCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -103,21 +102,21 @@ func TestFunctionCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Function: &name.Relative{
|
Function: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -125,7 +124,7 @@ func TestFunctionCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -136,7 +135,7 @@ func TestFunctionCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -145,12 +144,12 @@ func TestFunctionCallRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -163,7 +162,7 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -171,21 +170,21 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Function: &name.FullyQualified{
|
Function: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -193,7 +192,7 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -204,7 +203,7 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Arguments: []node.Node{
|
Arguments: []node.Node{
|
||||||
@ -212,7 +211,7 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
@ -221,7 +220,7 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -234,12 +233,12 @@ func TestFunctionFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -252,7 +251,7 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -260,28 +259,28 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Function: &expr.Variable{
|
Function: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -291,7 +290,7 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Arguments: []node.Node{
|
Arguments: []node.Node{
|
||||||
@ -299,7 +298,7 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
@ -308,21 +307,21 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: &expr.Variable{
|
Value: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -337,12 +336,12 @@ func TestFunctionCallVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -355,7 +354,7 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -363,21 +362,21 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Function: &name.Name{
|
Function: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -385,7 +384,7 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "ceil",
|
Value: "ceil",
|
||||||
@ -396,7 +395,7 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Arguments: []node.Node{
|
Arguments: []node.Node{
|
||||||
@ -404,7 +403,7 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
@ -413,21 +412,21 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Left: &expr.Variable{
|
Left: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -437,7 +436,7 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "3",
|
Value: "3",
|
||||||
@ -451,12 +450,12 @@ func TestFunctionCallExprArg(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestPostDec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestPostDec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.PostDec{
|
Expr: &expr.PostDec{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestPostDec(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -80,7 +79,7 @@ func TestPostInc(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -88,28 +87,28 @@ func TestPostInc(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.PostInc{
|
Expr: &expr.PostInc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -120,12 +119,12 @@ func TestPostInc(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -138,7 +137,7 @@ func TestPreDec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -146,28 +145,28 @@ func TestPreDec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.PreDec{
|
Expr: &expr.PreDec{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -178,12 +177,12 @@ func TestPreDec(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -196,7 +195,7 @@ func TestPreInc(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -204,28 +203,28 @@ func TestPreInc(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Expr: &expr.PreInc{
|
Expr: &expr.PreInc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -236,12 +235,12 @@ func TestPreInc(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestInclude(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestInclude(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.Include{
|
Expr: &expr.Include{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestInclude(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -80,7 +79,7 @@ func TestIncludeOnce(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -88,28 +87,28 @@ func TestIncludeOnce(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &expr.IncludeOnce{
|
Expr: &expr.IncludeOnce{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -120,12 +119,12 @@ func TestIncludeOnce(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -138,7 +137,7 @@ func TestRequire(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -146,28 +145,28 @@ func TestRequire(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.Require{
|
Expr: &expr.Require{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -178,12 +177,12 @@ func TestRequire(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -196,7 +195,7 @@ func TestRequireOnce(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -204,28 +203,28 @@ func TestRequireOnce(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &expr.RequireOnce{
|
Expr: &expr.RequireOnce{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -236,12 +235,12 @@ func TestRequireOnce(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestInstanceOf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,28 +31,28 @@ func TestInstanceOf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Expr: &expr.InstanceOf{
|
Expr: &expr.InstanceOf{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -63,7 +62,7 @@ func TestInstanceOf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -71,7 +70,7 @@ func TestInstanceOf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -83,12 +82,12 @@ func TestInstanceOf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -101,7 +100,7 @@ func TestInstanceOfRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -109,28 +108,28 @@ func TestInstanceOfRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Expr: &expr.InstanceOf{
|
Expr: &expr.InstanceOf{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -140,7 +139,7 @@ func TestInstanceOfRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -148,7 +147,7 @@ func TestInstanceOfRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -160,12 +159,12 @@ func TestInstanceOfRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -178,7 +177,7 @@ func TestInstanceOfFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -186,28 +185,28 @@ func TestInstanceOfFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Expr: &expr.InstanceOf{
|
Expr: &expr.InstanceOf{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -217,7 +216,7 @@ func TestInstanceOfFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -225,7 +224,7 @@ func TestInstanceOfFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -237,12 +236,12 @@ func TestInstanceOfFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestIsset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestIsset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Isset{
|
Expr: &expr.Isset{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variables: []node.Node{
|
Variables: []node.Node{
|
||||||
@ -45,14 +44,14 @@ func TestIsset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -64,12 +63,12 @@ func TestIsset(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -82,7 +81,7 @@ func TestIssetVariables(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -90,14 +89,14 @@ func TestIssetVariables(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &expr.Isset{
|
Expr: &expr.Isset{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Variables: []node.Node{
|
Variables: []node.Node{
|
||||||
@ -105,14 +104,14 @@ func TestIssetVariables(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -122,14 +121,14 @@ func TestIssetVariables(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -141,12 +140,12 @@ func TestIssetVariables(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestEmptyList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,21 +29,21 @@ func TestEmptyList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -53,14 +52,14 @@ func TestEmptyList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -71,12 +70,12 @@ func TestEmptyList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -89,7 +88,7 @@ func TestList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -97,21 +96,21 @@ func TestList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -119,21 +118,21 @@ func TestList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -146,14 +145,14 @@ func TestList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -164,12 +163,12 @@ func TestList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -182,7 +181,7 @@ func TestListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -190,21 +189,21 @@ func TestListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -212,28 +211,28 @@ func TestListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Val: &expr.ArrayDimFetch{
|
Val: &expr.ArrayDimFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -247,14 +246,14 @@ func TestListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -265,12 +264,12 @@ func TestListArrayIndex(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -283,7 +282,7 @@ func TestListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -291,21 +290,21 @@ func TestListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -313,14 +312,14 @@ func TestListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Val: &expr.List{
|
Val: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -328,21 +327,21 @@ func TestListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -358,14 +357,14 @@ func TestListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -376,12 +375,12 @@ func TestListList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -394,7 +393,7 @@ func TestListEmptyItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -402,21 +401,21 @@ func TestListEmptyItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -425,21 +424,21 @@ func TestListEmptyItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -452,14 +451,14 @@ func TestListEmptyItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -470,12 +469,12 @@ func TestListEmptyItem(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -488,7 +487,7 @@ func TestListEmptyItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -496,21 +495,21 @@ func TestListEmptyItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Variable: &expr.List{
|
Variable: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -520,21 +519,21 @@ func TestListEmptyItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -548,14 +547,14 @@ func TestListEmptyItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -566,12 +565,12 @@ func TestListEmptyItems(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestMethodCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestMethodCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.MethodCall{
|
Expr: &expr.MethodCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -61,7 +60,7 @@ func TestMethodCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -70,7 +69,7 @@ func TestMethodCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -79,12 +78,12 @@ func TestMethodCall(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestNew(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,21 +31,21 @@ func TestNew(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.New{
|
Expr: &expr.New{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Class: &name.Name{
|
Class: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestNew(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -66,12 +65,12 @@ func TestNew(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -84,7 +83,7 @@ func TestNewRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -92,21 +91,21 @@ func TestNewRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &expr.New{
|
Expr: &expr.New{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Class: &name.Relative{
|
Class: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -114,7 +113,7 @@ func TestNewRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -125,7 +124,7 @@ func TestNewRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -134,12 +133,12 @@ func TestNewRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -152,7 +151,7 @@ func TestNewFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -160,21 +159,21 @@ func TestNewFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.New{
|
Expr: &expr.New{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Class: &name.FullyQualified{
|
Class: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -182,7 +181,7 @@ func TestNewFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -193,7 +192,7 @@ func TestNewFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -202,12 +201,12 @@ func TestNewFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -220,7 +219,7 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -228,21 +227,21 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Expr: &expr.New{
|
Expr: &expr.New{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Class: &stmt.Class{
|
Class: &stmt.Class{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -250,7 +249,7 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Arguments: []node.Node{
|
Arguments: []node.Node{
|
||||||
@ -258,7 +257,7 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
@ -267,14 +266,14 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -285,7 +284,7 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
IsReference: false,
|
IsReference: false,
|
||||||
@ -294,14 +293,14 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -317,7 +316,7 @@ func TestNewAnonymous(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestPrint(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestPrint(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Print{
|
Expr: &expr.Print{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestPrint(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.PropertyFetch{
|
Expr: &expr.PropertyFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -61,7 +60,7 @@ func TestPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -71,12 +70,12 @@ func TestPropertyFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,21 +30,21 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -55,14 +54,14 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "k",
|
Value: "k",
|
||||||
@ -72,21 +71,21 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -97,7 +96,7 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -106,12 +105,12 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestShellExec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,14 +31,14 @@ func TestShellExec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShellExec{
|
Expr: &expr.ShellExec{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -47,7 +46,7 @@ func TestShellExec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Value: "cmd ",
|
Value: "cmd ",
|
||||||
@ -56,14 +55,14 @@ func TestShellExec(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -75,12 +74,12 @@ func TestShellExec(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestShortArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestShortArray(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -46,12 +45,12 @@ func TestShortArray(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -64,7 +63,7 @@ func TestShortArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -72,14 +71,14 @@ func TestShortArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -87,14 +86,14 @@ func TestShortArrayItem(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Val: &scalar.Lnumber{
|
Val: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -106,12 +105,12 @@ func TestShortArrayItem(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -124,7 +123,7 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -132,14 +131,14 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -147,14 +146,14 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Key: &scalar.Lnumber{
|
Key: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -163,7 +162,7 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -173,28 +172,28 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Val: &expr.Reference{
|
Val: &expr.Reference{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -209,12 +208,12 @@ func TestShortArrayItems(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -21,7 +20,7 @@ func TestShortList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -29,21 +28,21 @@ func TestShortList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variable: &expr.ShortList{
|
Variable: &expr.ShortList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -51,21 +50,21 @@ func TestShortList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -78,14 +77,14 @@ func TestShortList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -96,7 +95,7 @@ func TestShortList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -109,7 +108,7 @@ func TestShortListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -117,21 +116,21 @@ func TestShortListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Variable: &expr.ShortList{
|
Variable: &expr.ShortList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -139,28 +138,28 @@ func TestShortListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Val: &expr.ArrayDimFetch{
|
Val: &expr.ArrayDimFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -174,14 +173,14 @@ func TestShortListArrayIndex(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -192,7 +191,7 @@ func TestShortListArrayIndex(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -205,7 +204,7 @@ func TestShortListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -213,21 +212,21 @@ func TestShortListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &assign.Assign{
|
Expr: &assign.Assign{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.ShortList{
|
Variable: &expr.ShortList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -235,14 +234,14 @@ func TestShortListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Val: &expr.List{
|
Val: &expr.List{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -250,21 +249,21 @@ func TestShortListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -280,14 +279,14 @@ func TestShortListList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -298,7 +297,7 @@ func TestShortListList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestStaticCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,21 +31,21 @@ func TestStaticCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticCall{
|
Expr: &expr.StaticCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Class: &name.Name{
|
Class: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestStaticCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -65,7 +64,7 @@ func TestStaticCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -74,7 +73,7 @@ func TestStaticCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -83,12 +82,12 @@ func TestStaticCall(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -101,7 +100,7 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -109,21 +108,21 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticCall{
|
Expr: &expr.StaticCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Class: &name.Relative{
|
Class: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -131,7 +130,7 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -142,7 +141,7 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -151,7 +150,7 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -160,12 +159,12 @@ func TestStaticCallRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -178,7 +177,7 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -186,21 +185,21 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticCall{
|
Expr: &expr.StaticCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Class: &name.FullyQualified{
|
Class: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -208,7 +207,7 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -219,7 +218,7 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -228,7 +227,7 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -237,12 +236,12 @@ func TestStaticCallFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -255,7 +254,7 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -263,21 +262,21 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticCall{
|
Expr: &expr.StaticCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Class: &name.Name{
|
Class: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -285,7 +284,7 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -296,14 +295,14 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -313,7 +312,7 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -322,12 +321,12 @@ func TestStaticCallVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -340,7 +339,7 @@ func TestStaticCallVarVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -348,28 +347,28 @@ func TestStaticCallVarVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticCall{
|
Expr: &expr.StaticCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Class: &expr.Variable{
|
Class: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -379,14 +378,14 @@ func TestStaticCallVarVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -396,7 +395,7 @@ func TestStaticCallVarVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -405,12 +404,12 @@ func TestStaticCallVarVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestStaticPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,21 +30,21 @@ func TestStaticPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticPropertyFetch{
|
Expr: &expr.StaticPropertyFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Class: &name.Name{
|
Class: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -53,7 +52,7 @@ func TestStaticPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -64,14 +63,14 @@ func TestStaticPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -82,12 +81,12 @@ func TestStaticPropertyFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -100,7 +99,7 @@ func TestStaticPropertyFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -108,21 +107,21 @@ func TestStaticPropertyFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticPropertyFetch{
|
Expr: &expr.StaticPropertyFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Class: &name.Relative{
|
Class: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -130,7 +129,7 @@ func TestStaticPropertyFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -141,14 +140,14 @@ func TestStaticPropertyFetchRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -159,12 +158,12 @@ func TestStaticPropertyFetchRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -177,7 +176,7 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -185,21 +184,21 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &expr.StaticPropertyFetch{
|
Expr: &expr.StaticPropertyFetch{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Class: &name.FullyQualified{
|
Class: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -207,7 +206,7 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -218,14 +217,14 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -236,12 +235,12 @@ func TestStaticPropertyFetchFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestTernary(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestTernary(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.Ternary{
|
Expr: &expr.Ternary{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Condition: &expr.Variable{
|
Condition: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -61,14 +60,14 @@ func TestTernary(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -78,14 +77,14 @@ func TestTernary(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -96,12 +95,12 @@ func TestTernary(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -114,7 +113,7 @@ func TestTernarySimple(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -122,28 +121,28 @@ func TestTernarySimple(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &expr.Ternary{
|
Expr: &expr.Ternary{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Condition: &expr.Variable{
|
Condition: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -153,14 +152,14 @@ func TestTernarySimple(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -171,12 +170,12 @@ func TestTernarySimple(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -189,7 +188,7 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -197,28 +196,28 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Expr: &expr.Ternary{
|
Expr: &expr.Ternary{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Condition: &expr.Variable{
|
Condition: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -228,21 +227,21 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Condition: &expr.Variable{
|
Condition: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -252,14 +251,14 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -269,14 +268,14 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "d",
|
Value: "d",
|
||||||
@ -287,14 +286,14 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -305,12 +304,12 @@ func TestTernaryNestedTrue(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -323,7 +322,7 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -331,35 +330,35 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Expr: &expr.Ternary{
|
Expr: &expr.Ternary{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Condition: &expr.Ternary{
|
Condition: &expr.Ternary{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Condition: &expr.Variable{
|
Condition: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -369,14 +368,14 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -386,14 +385,14 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -404,14 +403,14 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "d",
|
Value: "d",
|
||||||
@ -421,14 +420,14 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -439,12 +438,12 @@ func TestTernaryNestedCond(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestUnaryMinus(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,28 +29,28 @@ func TestUnaryMinus(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.UnaryMinus{
|
Expr: &expr.UnaryMinus{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -62,12 +61,12 @@ func TestUnaryMinus(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -80,7 +79,7 @@ func TestUnaryPlus(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -88,28 +87,28 @@ func TestUnaryPlus(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.UnaryPlus{
|
Expr: &expr.UnaryPlus{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -120,12 +119,12 @@ func TestUnaryPlus(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestVariable(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,21 +29,21 @@ func TestVariable(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -54,12 +53,12 @@ func TestVariable(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -72,7 +71,7 @@ func TestVariableVariable(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -80,28 +79,28 @@ func TestVariableVariable(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &expr.Variable{
|
VarName: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -112,12 +111,12 @@ func TestVariableVariable(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package expr_test
|
package expr_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestYield(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,14 +30,14 @@ func TestYield(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Expr: &expr.Yield{
|
Expr: &expr.Yield{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -46,12 +45,12 @@ func TestYield(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -64,7 +63,7 @@ func TestYieldVal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -72,28 +71,28 @@ func TestYieldVal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Yield{
|
Expr: &expr.Yield{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: &expr.Variable{
|
Value: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -104,12 +103,12 @@ func TestYieldVal(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -122,7 +121,7 @@ func TestYieldKeyVal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -130,28 +129,28 @@ func TestYieldKeyVal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Expr: &expr.Yield{
|
Expr: &expr.Yield{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Key: &expr.Variable{
|
Key: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -161,14 +160,14 @@ func TestYieldKeyVal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -179,12 +178,12 @@ func TestYieldKeyVal(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -197,7 +196,7 @@ func TestYieldExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -205,21 +204,21 @@ func TestYieldExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &expr.Yield{
|
Expr: &expr.Yield{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: &scalar.Lnumber{
|
Value: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -229,12 +228,12 @@ func TestYieldExpr(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -247,7 +246,7 @@ func TestYieldKeyExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -255,28 +254,28 @@ func TestYieldKeyExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &expr.Yield{
|
Expr: &expr.Yield{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Key: &expr.Variable{
|
Key: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -286,7 +285,7 @@ func TestYieldKeyExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -296,12 +295,12 @@ func TestYieldKeyExpr(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -314,7 +313,7 @@ func TestYieldFrom(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -322,28 +321,28 @@ func TestYieldFrom(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &expr.YieldFrom{
|
Expr: &expr.YieldFrom{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -354,7 +353,7 @@ func TestYieldFrom(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package name_test
|
package name_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestName(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,21 +30,21 @@ func TestName(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Function: &name.Name{
|
Function: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -53,7 +52,7 @@ func TestName(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -64,7 +63,7 @@ func TestName(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -73,12 +72,12 @@ func TestName(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -91,7 +90,7 @@ func TestFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -99,21 +98,21 @@ func TestFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Function: &name.FullyQualified{
|
Function: &name.FullyQualified{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -121,7 +120,7 @@ func TestFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -132,7 +131,7 @@ func TestFullyQualified(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -141,12 +140,12 @@ func TestFullyQualified(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -159,7 +158,7 @@ func TestRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -167,21 +166,21 @@ func TestRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Expr: &expr.FunctionCall{
|
Expr: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Function: &name.Relative{
|
Function: &name.Relative{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -189,7 +188,7 @@ func TestRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -200,7 +199,7 @@ func TestRelative(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -209,12 +208,12 @@ func TestRelative(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package scalar_test
|
package scalar_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestSimpleVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,14 +30,14 @@ func TestSimpleVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -46,7 +45,7 @@ func TestSimpleVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -55,14 +54,14 @@ func TestSimpleVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "var",
|
Value: "var",
|
||||||
@ -74,12 +73,12 @@ func TestSimpleVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -92,7 +91,7 @@ func TestSimpleVarOneChar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -100,14 +99,14 @@ func TestSimpleVarOneChar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -115,7 +114,7 @@ func TestSimpleVarOneChar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -124,14 +123,14 @@ func TestSimpleVarOneChar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -143,12 +142,12 @@ func TestSimpleVarOneChar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -161,7 +160,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -169,14 +168,14 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -184,7 +183,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -193,14 +192,14 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "var",
|
Value: "var",
|
||||||
@ -210,7 +209,7 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "\\\"",
|
Value: "\\\"",
|
||||||
@ -221,12 +220,12 @@ func TestSimpleVarEndsEcapsed(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -239,7 +238,7 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -247,14 +246,14 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -262,7 +261,7 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "=",
|
Value: "=",
|
||||||
@ -271,14 +270,14 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 7,
|
EndPos: 7,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -288,14 +287,14 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -307,12 +306,12 @@ func TestStringVarCurveOpen(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -325,7 +324,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -333,14 +332,14 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -348,7 +347,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -357,21 +356,21 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -381,7 +380,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -391,7 +390,7 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "()",
|
Value: "()",
|
||||||
@ -402,12 +401,12 @@ func TestSimpleVarPropertyFetch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -420,7 +419,7 @@ func TestDollarOpenCurlyBraces(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -428,14 +427,14 @@ func TestDollarOpenCurlyBraces(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -443,7 +442,7 @@ func TestDollarOpenCurlyBraces(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -452,14 +451,14 @@ func TestDollarOpenCurlyBraces(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -471,12 +470,12 @@ func TestDollarOpenCurlyBraces(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -489,7 +488,7 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -497,14 +496,14 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -512,7 +511,7 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 5,
|
StartPos: 4,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -521,95 +520,9 @@ func TestDollarOpenCurlyBracesDimNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 12,
|
|
||||||
EndPos: 14,
|
|
||||||
},
|
|
||||||
VarName: &node.Identifier{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 12,
|
|
||||||
EndPos: 14,
|
|
||||||
},
|
|
||||||
Value: "foo",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
Dim: &scalar.Lnumber{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 16,
|
|
||||||
EndPos: 16,
|
|
||||||
},
|
|
||||||
Value: "0",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
|
||||||
php7parser.Parse()
|
|
||||||
actual := php7parser.GetRootNode()
|
|
||||||
assert.DeepEqual(t, expected, actual)
|
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
|
||||||
php5parser.Parse()
|
|
||||||
actual = php5parser.GetRootNode()
|
|
||||||
assert.DeepEqual(t, expected, actual)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCurlyOpenMethodCall(t *testing.T) {
|
|
||||||
src := `<? "test {$foo->bar()}";`
|
|
||||||
|
|
||||||
expected := &node.Root{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 4,
|
|
||||||
EndPos: 24,
|
|
||||||
},
|
|
||||||
Stmts: []node.Node{
|
|
||||||
&stmt.Expression{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 4,
|
|
||||||
EndPos: 24,
|
|
||||||
},
|
|
||||||
Expr: &scalar.Encapsed{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 4,
|
|
||||||
EndPos: 23,
|
|
||||||
},
|
|
||||||
Parts: []node.Node{
|
|
||||||
&scalar.EncapsedStringPart{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 5,
|
|
||||||
EndPos: 9,
|
|
||||||
},
|
|
||||||
Value: "test ",
|
|
||||||
},
|
|
||||||
&expr.MethodCall{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 1,
|
|
||||||
EndLine: 1,
|
|
||||||
StartPos: 11,
|
|
||||||
EndPos: 21,
|
|
||||||
},
|
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
@ -627,11 +540,97 @@ func TestCurlyOpenMethodCall(t *testing.T) {
|
|||||||
Value: "foo",
|
Value: "foo",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Dim: &scalar.Lnumber{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 15,
|
||||||
|
EndPos: 16,
|
||||||
|
},
|
||||||
|
Value: "0",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
php7parser := php7.NewParser([]byte(src))
|
||||||
|
php7parser.Parse()
|
||||||
|
actual := php7parser.GetRootNode()
|
||||||
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
|
php5parser := php5.NewParser([]byte(src))
|
||||||
|
php5parser.Parse()
|
||||||
|
actual = php5parser.GetRootNode()
|
||||||
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCurlyOpenMethodCall(t *testing.T) {
|
||||||
|
src := `<? "test {$foo->bar()}";`
|
||||||
|
|
||||||
|
expected := &node.Root{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 3,
|
||||||
|
EndPos: 24,
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.Expression{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 3,
|
||||||
|
EndPos: 24,
|
||||||
|
},
|
||||||
|
Expr: &scalar.Encapsed{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 3,
|
||||||
|
EndPos: 23,
|
||||||
|
},
|
||||||
|
Parts: []node.Node{
|
||||||
|
&scalar.EncapsedStringPart{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 4,
|
||||||
|
EndPos: 9,
|
||||||
|
},
|
||||||
|
Value: "test ",
|
||||||
|
},
|
||||||
|
&expr.MethodCall{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 10,
|
||||||
|
EndPos: 21,
|
||||||
|
},
|
||||||
|
Variable: &expr.Variable{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 10,
|
||||||
|
EndPos: 14,
|
||||||
|
},
|
||||||
|
VarName: &node.Identifier{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 1,
|
||||||
|
EndLine: 1,
|
||||||
|
StartPos: 10,
|
||||||
|
EndPos: 14,
|
||||||
|
},
|
||||||
|
Value: "foo",
|
||||||
|
},
|
||||||
|
},
|
||||||
Method: &node.Identifier{
|
Method: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -640,7 +639,7 @@ func TestCurlyOpenMethodCall(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -651,12 +650,12 @@ func TestCurlyOpenMethodCall(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package scalar_test
|
package scalar_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -26,7 +25,7 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -34,23 +33,23 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Label: "LBL",
|
Label: "<<<LBL\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{
|
&scalar.EncapsedStringPart{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -59,31 +58,40 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Value: "var",
|
Value: "var",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&scalar.EncapsedStringPart{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 2,
|
||||||
|
EndLine: 2,
|
||||||
|
StartPos: 19,
|
||||||
|
EndPos: 20,
|
||||||
|
},
|
||||||
|
Value: "\n",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -99,7 +107,7 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -107,23 +115,23 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Label: "\"LBL\"",
|
Label: "<<<\"LBL\"\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{
|
&scalar.EncapsedStringPart{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "test ",
|
Value: "test ",
|
||||||
@ -132,31 +140,40 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "var",
|
Value: "var",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&scalar.EncapsedStringPart{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 2,
|
||||||
|
EndLine: 2,
|
||||||
|
StartPos: 21,
|
||||||
|
EndPos: 22,
|
||||||
|
},
|
||||||
|
Value: "\n",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -172,7 +189,7 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -180,26 +197,26 @@ LBL;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Label: "'LBL'",
|
Label: "<<<'LBL'\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{
|
&scalar.EncapsedStringPart{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 21,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "test $var",
|
Value: "test $var\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -207,12 +224,12 @@ LBL;
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -227,7 +244,7 @@ CAD;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -235,28 +252,28 @@ CAD;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Label: "CAD",
|
Label: "<<<CAD\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -272,7 +289,7 @@ CAD;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -280,26 +297,26 @@ CAD;
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 7,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Label: "CAD",
|
Label: "<<<CAD\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{
|
&scalar.EncapsedStringPart{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 16,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "\thello",
|
Value: "\thello\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -307,12 +324,12 @@ CAD;
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package scalar_test
|
package scalar_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestMagicConstant(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestMagicConstant(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &scalar.MagicConstant{
|
Expr: &scalar.MagicConstant{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "__DIR__",
|
Value: "__DIR__",
|
||||||
@ -46,12 +45,12 @@ func TestMagicConstant(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package scalar_test
|
package scalar_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -21,7 +20,7 @@ func TestLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -29,14 +28,14 @@ func TestLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "1234567890123456789",
|
Value: "1234567890123456789",
|
||||||
@ -45,12 +44,12 @@ func TestLNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -63,7 +62,7 @@ func TestDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -71,14 +70,14 @@ func TestDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Dnumber{
|
Expr: &scalar.Dnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Value: "12345678901234567890",
|
Value: "12345678901234567890",
|
||||||
@ -87,12 +86,12 @@ func TestDNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -105,7 +104,7 @@ func TestFloat(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -113,14 +112,14 @@ func TestFloat(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 6,
|
EndPos: 6,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Dnumber{
|
Expr: &scalar.Dnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Value: "0.",
|
Value: "0.",
|
||||||
@ -129,12 +128,12 @@ func TestFloat(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -147,7 +146,7 @@ func TestBinaryLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 70,
|
EndPos: 70,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -155,14 +154,14 @@ func TestBinaryLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 70,
|
EndPos: 70,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 69,
|
EndPos: 69,
|
||||||
},
|
},
|
||||||
Value: "0b0111111111111111111111111111111111111111111111111111111111111111",
|
Value: "0b0111111111111111111111111111111111111111111111111111111111111111",
|
||||||
@ -171,12 +170,12 @@ func TestBinaryLNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -189,7 +188,7 @@ func TestBinaryDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 70,
|
EndPos: 70,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -197,14 +196,14 @@ func TestBinaryDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 70,
|
EndPos: 70,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Dnumber{
|
Expr: &scalar.Dnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 69,
|
EndPos: 69,
|
||||||
},
|
},
|
||||||
Value: "0b1111111111111111111111111111111111111111111111111111111111111111",
|
Value: "0b1111111111111111111111111111111111111111111111111111111111111111",
|
||||||
@ -213,12 +212,12 @@ func TestBinaryDNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -231,7 +230,7 @@ func TestHLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -239,14 +238,14 @@ func TestHLNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Value: "0x007111111111111111",
|
Value: "0x007111111111111111",
|
||||||
@ -255,12 +254,12 @@ func TestHLNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -273,7 +272,7 @@ func TestHDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -281,14 +280,14 @@ func TestHDNumber(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Dnumber{
|
Expr: &scalar.Dnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "0x8111111111111111",
|
Value: "0x8111111111111111",
|
||||||
@ -297,12 +296,12 @@ func TestHDNumber(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package scalar_test
|
package scalar_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -21,7 +20,7 @@ func TestDoubleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -29,14 +28,14 @@ func TestDoubleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Expr: &scalar.String{
|
Expr: &scalar.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "\"test\"",
|
Value: "\"test\"",
|
||||||
@ -45,12 +44,12 @@ func TestDoubleQuotedScalarString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -63,7 +62,7 @@ func TestDoubleQuotedScalarStringWithEscapedVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -71,14 +70,14 @@ func TestDoubleQuotedScalarStringWithEscapedVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &scalar.String{
|
Expr: &scalar.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "\"\\$test\"",
|
Value: "\"\\$test\"",
|
||||||
@ -87,12 +86,12 @@ func TestDoubleQuotedScalarStringWithEscapedVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -107,7 +106,7 @@ func TestMultilineDoubleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -115,14 +114,14 @@ func TestMultilineDoubleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Expr: &scalar.String{
|
Expr: &scalar.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "\"\n\ttest\n\t\"",
|
Value: "\"\n\ttest\n\t\"",
|
||||||
@ -131,12 +130,12 @@ func TestMultilineDoubleQuotedScalarString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -149,7 +148,7 @@ func TestSingleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -157,14 +156,14 @@ func TestSingleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Expr: &scalar.String{
|
Expr: &scalar.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "'$test'",
|
Value: "'$test'",
|
||||||
@ -173,12 +172,12 @@ func TestSingleQuotedScalarString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -193,7 +192,7 @@ func TestMultilineSingleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -201,14 +200,14 @@ func TestMultilineSingleQuotedScalarString(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Expr: &scalar.String{
|
Expr: &scalar.String{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "'\n\t$test\n\t'",
|
Value: "'\n\t$test\n\t'",
|
||||||
@ -217,12 +216,12 @@ func TestMultilineSingleQuotedScalarString(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -42,7 +42,9 @@ func (n *Declare) GetFreeFloating() *freefloating.Collection {
|
|||||||
|
|
||||||
// Attributes returns node attributes as map
|
// Attributes returns node attributes as map
|
||||||
func (n *Declare) Attributes() map[string]interface{} {
|
func (n *Declare) Attributes() map[string]interface{} {
|
||||||
return nil
|
return map[string]interface{}{
|
||||||
|
"Alt": n.Alt,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Walk traverses nodes
|
// Walk traverses nodes
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestAltIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,21 +31,21 @@ func TestAltIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -65,12 +64,12 @@ func TestAltIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -87,7 +86,7 @@ func TestAltElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -95,21 +94,21 @@ func TestAltElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -129,21 +128,21 @@ func TestAltElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -164,12 +163,12 @@ func TestAltElseIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -186,7 +185,7 @@ func TestAltElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -194,21 +193,21 @@ func TestAltElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -227,7 +226,7 @@ func TestAltElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
@ -244,12 +243,12 @@ func TestAltElse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -268,7 +267,7 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 6,
|
EndLine: 6,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 61,
|
EndPos: 61,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -276,21 +275,21 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 6,
|
EndLine: 6,
|
||||||
StartPos: 6,
|
StartPos: 5,
|
||||||
EndPos: 61,
|
EndPos: 61,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -310,21 +309,21 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -344,21 +343,21 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 33,
|
StartPos: 32,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 41,
|
StartPos: 40,
|
||||||
EndPos: 42,
|
EndPos: 42,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 41,
|
StartPos: 40,
|
||||||
EndPos: 42,
|
EndPos: 42,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -379,7 +378,7 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 5,
|
StartLine: 5,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 48,
|
StartPos: 47,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
@ -396,12 +395,12 @@ func TestAltElseElseIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -38,7 +37,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -48,7 +47,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 44,
|
EndPos: 44,
|
||||||
},
|
},
|
||||||
Modifiers: []node.Node{
|
Modifiers: []node.Node{
|
||||||
@ -56,7 +55,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -67,7 +66,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -75,7 +74,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Value: "FOO",
|
Value: "FOO",
|
||||||
@ -84,7 +83,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 34,
|
StartPos: 33,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -94,7 +93,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -102,7 +101,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
Value: "BAR",
|
Value: "BAR",
|
||||||
@ -111,7 +110,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 43,
|
StartPos: 42,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -124,7 +123,7 @@ func TestClassConstList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -137,7 +136,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -145,7 +144,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -153,7 +152,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -163,7 +162,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Consts: []node.Node{
|
Consts: []node.Node{
|
||||||
@ -171,7 +170,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -179,7 +178,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Value: "FOO",
|
Value: "FOO",
|
||||||
@ -188,7 +187,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -198,7 +197,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -206,7 +205,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "BAR",
|
Value: "BAR",
|
||||||
@ -215,7 +214,7 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -228,12 +227,12 @@ func TestClassConstListWithoutModifiers(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -38,7 +37,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -48,7 +47,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -57,7 +56,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -66,7 +65,7 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -77,12 +76,12 @@ func TestSimpleClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -95,7 +94,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 75,
|
EndPos: 75,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -103,7 +102,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 75,
|
EndPos: 75,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -111,7 +110,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -121,7 +120,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 45,
|
EndPos: 45,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -130,7 +129,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -140,7 +139,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Value: "final",
|
Value: "final",
|
||||||
@ -149,7 +148,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "private",
|
Value: "private",
|
||||||
@ -159,7 +158,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 44,
|
StartPos: 43,
|
||||||
EndPos: 45,
|
EndPos: 45,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -169,7 +168,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 47,
|
StartPos: 46,
|
||||||
EndPos: 73,
|
EndPos: 73,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -178,7 +177,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 66,
|
StartPos: 65,
|
||||||
EndPos: 68,
|
EndPos: 68,
|
||||||
},
|
},
|
||||||
Value: "baz",
|
Value: "baz",
|
||||||
@ -188,7 +187,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 47,
|
StartPos: 46,
|
||||||
EndPos: 55,
|
EndPos: 55,
|
||||||
},
|
},
|
||||||
Value: "protected",
|
Value: "protected",
|
||||||
@ -198,7 +197,7 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 72,
|
StartPos: 71,
|
||||||
EndPos: 73,
|
EndPos: 73,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -209,12 +208,12 @@ func TestPrivateProtectedClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -227,7 +226,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 48,
|
EndPos: 48,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -235,7 +234,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 48,
|
EndPos: 48,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -243,7 +242,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -253,7 +252,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
ReturnsRef: true,
|
ReturnsRef: true,
|
||||||
@ -262,7 +261,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 41,
|
EndPos: 41,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -272,7 +271,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -281,7 +280,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "static",
|
Value: "static",
|
||||||
@ -291,7 +290,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 45,
|
StartPos: 44,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -302,7 +301,7 @@ func TestPhp5ClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual := php5parser.GetRootNode()
|
actual := php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -315,7 +314,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -323,7 +322,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -331,7 +330,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -341,7 +340,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
ReturnsRef: true,
|
ReturnsRef: true,
|
||||||
@ -350,7 +349,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 41,
|
EndPos: 41,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -360,7 +359,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -369,7 +368,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "static",
|
Value: "static",
|
||||||
@ -379,7 +378,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 46,
|
StartPos: 45,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -387,7 +386,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 46,
|
StartPos: 45,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
Value: "void",
|
Value: "void",
|
||||||
@ -398,7 +397,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 51,
|
StartPos: 50,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -409,7 +408,7 @@ func TestPhp7ClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -422,7 +421,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 56,
|
EndPos: 56,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -430,7 +429,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 56,
|
EndPos: 56,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -438,7 +437,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -448,7 +447,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "abstract",
|
Value: "abstract",
|
||||||
@ -459,7 +458,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -468,7 +467,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 49,
|
StartPos: 48,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -478,7 +477,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Value: "abstract",
|
Value: "abstract",
|
||||||
@ -487,7 +486,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 33,
|
StartPos: 32,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -497,7 +496,7 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 54,
|
StartPos: 53,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -507,12 +506,12 @@ func TestAbstractClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -525,7 +524,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 53,
|
EndPos: 53,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -533,7 +532,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 53,
|
EndPos: 53,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -541,7 +540,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -551,7 +550,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "abstract",
|
Value: "abstract",
|
||||||
@ -562,7 +561,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -571,7 +570,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 40,
|
StartPos: 39,
|
||||||
EndPos: 42,
|
EndPos: 42,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -581,7 +580,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -591,7 +590,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 47,
|
StartPos: 46,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -599,7 +598,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 47,
|
StartPos: 46,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Value: "void",
|
Value: "void",
|
||||||
@ -610,7 +609,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 51,
|
StartPos: 50,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -620,7 +619,7 @@ func TestPhp7AbstractClassMethod(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestSimpleClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,7 +30,7 @@ func TestSimpleClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -39,7 +38,7 @@ func TestSimpleClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -49,12 +48,12 @@ func TestSimpleClass(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -67,7 +66,7 @@ func TestAbstractClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -75,7 +74,7 @@ func TestAbstractClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -83,7 +82,7 @@ func TestAbstractClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -93,7 +92,7 @@ func TestAbstractClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "abstract",
|
Value: "abstract",
|
||||||
@ -104,12 +103,12 @@ func TestAbstractClass(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -122,7 +121,7 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -130,7 +129,7 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -138,7 +137,7 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -148,7 +147,7 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Value: "final",
|
Value: "final",
|
||||||
@ -158,14 +157,14 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
ClassName: &name.Name{
|
ClassName: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -173,7 +172,7 @@ func TestClassExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -186,12 +185,12 @@ func TestClassExtends(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -204,7 +203,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -212,7 +211,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -220,7 +219,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -230,7 +229,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Value: "final",
|
Value: "final",
|
||||||
@ -240,7 +239,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
InterfaceNames: []node.Node{
|
InterfaceNames: []node.Node{
|
||||||
@ -248,7 +247,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -256,7 +255,7 @@ func TestClassImplement(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -270,12 +269,12 @@ func TestClassImplement(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -288,7 +287,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 42,
|
EndPos: 42,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -296,7 +295,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 42,
|
EndPos: 42,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -304,7 +303,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -314,7 +313,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Value: "final",
|
Value: "final",
|
||||||
@ -324,7 +323,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
InterfaceNames: []node.Node{
|
InterfaceNames: []node.Node{
|
||||||
@ -332,7 +331,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -340,7 +339,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -351,7 +350,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -359,7 +358,7 @@ func TestClassImplements(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Value: "baz",
|
Value: "baz",
|
||||||
@ -373,12 +372,12 @@ func TestClassImplements(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -391,7 +390,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -399,21 +398,21 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Expr: &expr.New{
|
Expr: &expr.New{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Class: &stmt.Class{
|
Class: &stmt.Class{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -421,7 +420,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -429,14 +428,14 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
ClassName: &name.Name{
|
ClassName: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -444,7 +443,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -456,7 +455,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
InterfaceNames: []node.Node{
|
InterfaceNames: []node.Node{
|
||||||
@ -464,7 +463,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 41,
|
EndPos: 41,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -472,7 +471,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 41,
|
EndPos: 41,
|
||||||
},
|
},
|
||||||
Value: "bar",
|
Value: "bar",
|
||||||
@ -483,7 +482,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 44,
|
StartPos: 43,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -491,7 +490,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 44,
|
StartPos: 43,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Value: "baz",
|
Value: "baz",
|
||||||
@ -507,7 +506,7 @@ func TestAnonimousClass(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Consts: []node.Node{
|
Consts: []node.Node{
|
||||||
@ -38,7 +37,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -46,7 +45,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "FOO",
|
Value: "FOO",
|
||||||
@ -55,7 +54,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -65,7 +64,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -73,7 +72,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "BAR",
|
Value: "BAR",
|
||||||
@ -82,7 +81,7 @@ func TestConstList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -93,12 +92,12 @@ func TestConstList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestContinueEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestContinueEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -46,7 +45,7 @@ func TestContinueEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestContinueEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -64,12 +63,12 @@ func TestContinueEmpty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -82,7 +81,7 @@ func TestContinueLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -90,14 +89,14 @@ func TestContinueLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -106,7 +105,7 @@ func TestContinueLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -114,14 +113,14 @@ func TestContinueLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -133,12 +132,12 @@ func TestContinueLight(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -151,7 +150,7 @@ func TestContinue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -159,14 +158,14 @@ func TestContinue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -175,7 +174,7 @@ func TestContinue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -183,14 +182,14 @@ func TestContinue(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Value: "3",
|
Value: "3",
|
||||||
@ -202,12 +201,12 @@ func TestContinue(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Consts: []node.Node{
|
Consts: []node.Node{
|
||||||
@ -38,7 +37,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -46,7 +45,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "ticks",
|
Value: "ticks",
|
||||||
@ -55,7 +54,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -66,7 +65,7 @@ func TestDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -74,12 +73,12 @@ func TestDeclare(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -92,7 +91,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -100,7 +99,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Consts: []node.Node{
|
Consts: []node.Node{
|
||||||
@ -108,7 +107,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -116,7 +115,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "ticks",
|
Value: "ticks",
|
||||||
@ -125,7 +124,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -135,7 +134,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -143,7 +142,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "strict_types",
|
Value: "strict_types",
|
||||||
@ -152,7 +151,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 34,
|
StartPos: 33,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -163,7 +162,7 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -172,12 +171,12 @@ func TestDeclareStmts(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -190,7 +189,7 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -198,7 +197,7 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Consts: []node.Node{
|
Consts: []node.Node{
|
||||||
@ -206,7 +205,7 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -214,7 +213,7 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "ticks",
|
Value: "ticks",
|
||||||
@ -223,7 +222,7 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -244,12 +243,12 @@ func TestAltDeclare(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestDo(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestDo(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 8,
|
EndPos: 8,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -46,7 +45,7 @@ func TestDo(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -55,12 +54,12 @@ func TestDo(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestSimpleEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,7 +31,7 @@ func TestSimpleEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Exprs: []node.Node{
|
Exprs: []node.Node{
|
||||||
@ -40,14 +39,14 @@ func TestSimpleEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -57,7 +56,7 @@ func TestSimpleEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -67,12 +66,12 @@ func TestSimpleEcho(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -85,7 +84,7 @@ func TestEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -93,7 +92,7 @@ func TestEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Exprs: []node.Node{
|
Exprs: []node.Node{
|
||||||
@ -101,14 +100,14 @@ func TestEcho(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 9,
|
StartPos: 8,
|
||||||
EndPos: 10,
|
EndPos: 10,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -119,12 +118,12 @@ func TestEcho(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestExpression(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestExpression(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 4,
|
EndPos: 4,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -46,12 +45,12 @@ func TestExpression(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -27,7 +26,7 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -35,7 +34,7 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Init: []node.Node{
|
Init: []node.Node{
|
||||||
@ -43,21 +42,21 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -67,7 +66,7 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Value: "0",
|
Value: "0",
|
||||||
@ -79,21 +78,21 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Left: &expr.Variable{
|
Left: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -103,7 +102,7 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "10",
|
Value: "10",
|
||||||
@ -115,21 +114,21 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -140,21 +139,21 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -166,7 +165,7 @@ func TestFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -175,12 +174,12 @@ func TestFor(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -193,7 +192,7 @@ func TestAltFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -201,7 +200,7 @@ func TestAltFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Cond: []node.Node{
|
Cond: []node.Node{
|
||||||
@ -209,21 +208,21 @@ func TestAltFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Left: &expr.Variable{
|
Left: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -233,7 +232,7 @@ func TestAltFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "10",
|
Value: "10",
|
||||||
@ -245,21 +244,21 @@ func TestAltFor(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "i",
|
Value: "i",
|
||||||
@ -280,12 +279,12 @@ func TestAltFor(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,21 +29,21 @@ func TestForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -54,14 +53,14 @@ func TestForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -71,7 +70,7 @@ func TestForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -80,12 +79,12 @@ func TestForeach(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -98,7 +97,7 @@ func TestForeachExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -106,14 +105,14 @@ func TestForeachExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -122,14 +121,14 @@ func TestForeachExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -139,7 +138,7 @@ func TestForeachExpr(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -148,12 +147,12 @@ func TestForeachExpr(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -166,7 +165,7 @@ func TestAltForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 35,
|
EndPos: 35,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -174,21 +173,21 @@ func TestAltForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 35,
|
EndPos: 35,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -198,14 +197,14 @@ func TestAltForeach(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -224,12 +223,12 @@ func TestAltForeach(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -242,7 +241,7 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -250,21 +249,21 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -274,14 +273,14 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "k",
|
Value: "k",
|
||||||
@ -291,14 +290,14 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -308,7 +307,7 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -317,12 +316,12 @@ func TestForeachWithKey(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -335,7 +334,7 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -343,14 +342,14 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -359,14 +358,14 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "k",
|
Value: "k",
|
||||||
@ -376,14 +375,14 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -393,7 +392,7 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -402,12 +401,12 @@ func TestForeachExprWithKey(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -420,7 +419,7 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -428,21 +427,21 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -452,14 +451,14 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "k",
|
Value: "k",
|
||||||
@ -469,21 +468,21 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -494,7 +493,7 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -503,12 +502,12 @@ func TestForeachWithRef(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -521,7 +520,7 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -529,21 +528,21 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 14,
|
EndPos: 14,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -553,14 +552,14 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "k",
|
Value: "k",
|
||||||
@ -570,7 +569,7 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Items: []node.Node{
|
Items: []node.Node{
|
||||||
@ -578,21 +577,21 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Val: &expr.Variable{
|
Val: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Value: "v",
|
Value: "v",
|
||||||
@ -605,7 +604,7 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 35,
|
StartPos: 34,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -614,12 +613,12 @@ func TestForeachWithList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -24,7 +23,7 @@ func TestSimpleFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -32,7 +31,7 @@ func TestSimpleFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -41,7 +40,7 @@ func TestSimpleFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -51,12 +50,12 @@ func TestSimpleFunction(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -69,7 +68,7 @@ func TestFunctionReturn(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -77,7 +76,7 @@ func TestFunctionReturn(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -86,7 +85,7 @@ func TestFunctionReturn(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -96,7 +95,7 @@ func TestFunctionReturn(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -105,12 +104,12 @@ func TestFunctionReturn(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -123,7 +122,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -131,7 +130,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
@ -140,7 +139,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 13,
|
StartPos: 12,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -150,7 +149,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
@ -159,7 +158,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 17,
|
StartPos: 16,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "array",
|
Value: "array",
|
||||||
@ -168,14 +167,14 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -186,7 +185,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
@ -195,7 +194,7 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Value: "callable",
|
Value: "callable",
|
||||||
@ -204,14 +203,14 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -224,21 +223,21 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 41,
|
StartPos: 40,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 48,
|
StartPos: 47,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 48,
|
StartPos: 47,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -250,12 +249,12 @@ func TestFunctionReturnVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -268,7 +267,7 @@ func TestRefFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -276,7 +275,7 @@ func TestRefFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
ReturnsRef: true,
|
ReturnsRef: true,
|
||||||
@ -285,7 +284,7 @@ func TestRefFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -295,14 +294,14 @@ func TestRefFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -313,12 +312,12 @@ func TestRefFunction(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -331,7 +330,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -339,7 +338,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -348,7 +347,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -357,7 +356,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -365,7 +364,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Value: "void",
|
Value: "void",
|
||||||
@ -377,7 +376,7 @@ func TestReturnTypeFunction(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestGlobal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestGlobal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -38,14 +37,14 @@ func TestGlobal(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -56,12 +55,12 @@ func TestGlobal(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -74,7 +73,7 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -82,7 +81,7 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -90,14 +89,14 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -107,14 +106,14 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -124,21 +123,21 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
VarName: &expr.Variable{
|
VarName: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -149,21 +148,21 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
VarName: &expr.FunctionCall{
|
VarName: &expr.FunctionCall{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Function: &name.Name{
|
Function: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -171,7 +170,7 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -182,7 +181,7 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -193,12 +192,12 @@ func TestGlobalVars(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -20,7 +19,7 @@ func TestGotoLabel(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -28,14 +27,14 @@ func TestGotoLabel(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
LabelName: &node.Identifier{
|
LabelName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 4,
|
EndPos: 4,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -45,14 +44,14 @@ func TestGotoLabel(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Label: &node.Identifier{
|
Label: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -61,12 +60,12 @@ func TestGotoLabel(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -20,7 +19,7 @@ func TestHaltCompiler(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -28,19 +27,19 @@ func TestHaltCompiler(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,21 +29,21 @@ func TestIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -54,7 +53,7 @@ func TestIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -63,12 +62,12 @@ func TestIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -81,7 +80,7 @@ func TestElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -89,21 +88,21 @@ func TestElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -113,7 +112,7 @@ func TestElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -123,21 +122,21 @@ func TestElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -147,7 +146,7 @@ func TestElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -158,12 +157,12 @@ func TestElseIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -176,7 +175,7 @@ func TestElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -184,21 +183,21 @@ func TestElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -208,7 +207,7 @@ func TestElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -217,14 +216,14 @@ func TestElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -234,12 +233,12 @@ func TestElse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -252,7 +251,7 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -260,21 +259,21 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -284,7 +283,7 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -294,21 +293,21 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -318,7 +317,7 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -328,21 +327,21 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -352,7 +351,7 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 42,
|
StartPos: 41,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -363,14 +362,14 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 45,
|
StartPos: 44,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 50,
|
StartPos: 49,
|
||||||
EndPos: 51,
|
EndPos: 51,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -380,12 +379,12 @@ func TestElseElseIf(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -398,7 +397,7 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -406,21 +405,21 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 8,
|
StartPos: 7,
|
||||||
EndPos: 9,
|
EndPos: 9,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -430,7 +429,7 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 12,
|
StartPos: 11,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -440,21 +439,21 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -464,7 +463,7 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 27,
|
StartPos: 26,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -475,28 +474,28 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 30,
|
StartPos: 29,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.If{
|
Stmt: &stmt.If{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 35,
|
StartPos: 34,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Cond: &expr.Variable{
|
Cond: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 39,
|
StartPos: 38,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
Value: "c",
|
Value: "c",
|
||||||
@ -506,7 +505,7 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 43,
|
StartPos: 42,
|
||||||
EndPos: 44,
|
EndPos: 44,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -515,14 +514,14 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 46,
|
StartPos: 45,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmt: &stmt.StmtList{
|
Stmt: &stmt.StmtList{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 51,
|
StartPos: 50,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -534,12 +533,12 @@ func TestElseIfElseIfElse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -20,7 +19,7 @@ func TestInlineHtml(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -28,7 +27,7 @@ func TestInlineHtml(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 5,
|
EndPos: 5,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -36,20 +35,20 @@ func TestInlineHtml(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 7,
|
StartPos: 5,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "<div></div>",
|
Value: " <div></div>",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestInterface(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestInterface(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -38,7 +37,7 @@ func TestInterface(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -48,12 +47,12 @@ func TestInterface(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -66,7 +65,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -74,7 +73,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 31,
|
EndPos: 31,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -82,7 +81,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -91,7 +90,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
InterfaceNames: []node.Node{
|
InterfaceNames: []node.Node{
|
||||||
@ -99,7 +98,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -107,7 +106,7 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -121,12 +120,12 @@ func TestInterfaceExtend(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -139,7 +138,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -147,7 +146,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -155,7 +154,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -164,7 +163,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
InterfaceNames: []node.Node{
|
InterfaceNames: []node.Node{
|
||||||
@ -172,7 +171,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -180,7 +179,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 26,
|
StartPos: 25,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -191,7 +190,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -199,7 +198,7 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -213,12 +212,12 @@ func TestInterfaceExtends(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestNamespace(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestNamespace(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
NamespaceName: &name.Name{
|
NamespaceName: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -45,7 +44,7 @@ func TestNamespace(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -56,12 +55,12 @@ func TestNamespace(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -74,7 +73,7 @@ func TestNamespaceStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -82,14 +81,14 @@ func TestNamespaceStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 19,
|
EndPos: 19,
|
||||||
},
|
},
|
||||||
NamespaceName: &name.Name{
|
NamespaceName: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -97,7 +96,7 @@ func TestNamespaceStmts(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -109,12 +108,12 @@ func TestNamespaceStmts(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -127,7 +126,7 @@ func TestAnonymousNamespace(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -135,7 +134,7 @@ func TestAnonymousNamespace(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -143,12 +142,12 @@ func TestAnonymousNamespace(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -23,7 +22,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -31,7 +30,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -39,7 +38,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -49,7 +48,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Modifiers: []node.Node{
|
Modifiers: []node.Node{
|
||||||
@ -57,7 +56,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Value: "var",
|
Value: "var",
|
||||||
@ -68,7 +67,7 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -76,14 +75,14 @@ func TestProperty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -97,12 +96,12 @@ func TestProperty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -115,7 +114,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -123,7 +122,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -131,7 +130,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -141,7 +140,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
Modifiers: []node.Node{
|
Modifiers: []node.Node{
|
||||||
@ -149,7 +148,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -158,7 +157,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "static",
|
Value: "static",
|
||||||
@ -169,7 +168,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -177,14 +176,14 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -195,7 +194,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 33,
|
StartPos: 32,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -203,14 +202,14 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 33,
|
StartPos: 32,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 33,
|
StartPos: 32,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -220,7 +219,7 @@ func TestProperties(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -233,12 +232,12 @@ func TestProperties(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -251,7 +250,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -259,7 +258,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -267,7 +266,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "foo",
|
Value: "foo",
|
||||||
@ -277,7 +276,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 39,
|
EndPos: 39,
|
||||||
},
|
},
|
||||||
Modifiers: []node.Node{
|
Modifiers: []node.Node{
|
||||||
@ -285,7 +284,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -294,7 +293,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "static",
|
Value: "static",
|
||||||
@ -305,7 +304,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -313,14 +312,14 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -330,7 +329,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 34,
|
StartPos: 33,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -340,7 +339,7 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -348,14 +347,14 @@ func TestProperties2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 37,
|
StartPos: 36,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -369,12 +368,12 @@ func TestProperties2(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestStaticVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestStaticVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -38,21 +37,21 @@ func TestStaticVar(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -64,12 +63,12 @@ func TestStaticVar(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -82,7 +81,7 @@ func TestStaticVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -90,7 +89,7 @@ func TestStaticVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -98,21 +97,21 @@ func TestStaticVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -123,21 +122,21 @@ func TestStaticVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -147,7 +146,7 @@ func TestStaticVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -158,12 +157,12 @@ func TestStaticVars(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -176,7 +175,7 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -184,7 +183,7 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -192,21 +191,21 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -216,7 +215,7 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 16,
|
EndPos: 16,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -226,21 +225,21 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Variable: &expr.Variable{
|
Variable: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 19,
|
StartPos: 18,
|
||||||
EndPos: 20,
|
EndPos: 20,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -252,12 +251,12 @@ func TestStaticVars2(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -28,7 +27,7 @@ func TestAltSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 6,
|
EndLine: 6,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 65,
|
EndPos: 65,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -36,14 +35,116 @@ func TestAltSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 6,
|
EndLine: 6,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 65,
|
EndPos: 65,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
|
EndPos: 15,
|
||||||
|
},
|
||||||
|
Value: "1",
|
||||||
|
},
|
||||||
|
CaseList: &stmt.CaseList{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 3,
|
||||||
|
EndLine: -1,
|
||||||
|
StartPos: 22,
|
||||||
|
EndPos: -1,
|
||||||
|
},
|
||||||
|
Cases: []node.Node{
|
||||||
|
&stmt.Case{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 3,
|
||||||
|
EndLine: -1,
|
||||||
|
StartPos: 22,
|
||||||
|
EndPos: -1,
|
||||||
|
},
|
||||||
|
Cond: &scalar.Lnumber{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 3,
|
||||||
|
EndLine: 3,
|
||||||
|
StartPos: 27,
|
||||||
|
EndPos: 28,
|
||||||
|
},
|
||||||
|
Value: "1",
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
&stmt.Default{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 4,
|
||||||
|
EndLine: -1,
|
||||||
|
StartPos: 33,
|
||||||
|
EndPos: -1,
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
&stmt.Case{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 5,
|
||||||
|
EndLine: -1,
|
||||||
|
StartPos: 45,
|
||||||
|
EndPos: -1,
|
||||||
|
},
|
||||||
|
Cond: &scalar.Lnumber{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 5,
|
||||||
|
EndLine: 5,
|
||||||
|
StartPos: 50,
|
||||||
|
EndPos: 51,
|
||||||
|
},
|
||||||
|
Value: "2",
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
php7parser := php7.NewParser([]byte(src))
|
||||||
|
php7parser.Parse()
|
||||||
|
actual := php7parser.GetRootNode()
|
||||||
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
|
php5parser := php5.NewParser([]byte(src))
|
||||||
|
php5parser.Parse()
|
||||||
|
actual = php5parser.GetRootNode()
|
||||||
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAltSwitchSemicolon(t *testing.T) {
|
||||||
|
src := `<?
|
||||||
|
switch (1) :;
|
||||||
|
case 1;
|
||||||
|
case 2;
|
||||||
|
endswitch;
|
||||||
|
`
|
||||||
|
|
||||||
|
expected := &node.Root{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 2,
|
||||||
|
EndLine: 5,
|
||||||
|
StartPos: 6,
|
||||||
|
EndPos: 54,
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.AltSwitch{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 2,
|
||||||
|
EndLine: 5,
|
||||||
|
StartPos: 6,
|
||||||
|
EndPos: 54,
|
||||||
|
},
|
||||||
|
Cond: &scalar.Lnumber{
|
||||||
|
Position: &position.Position{
|
||||||
|
StartLine: 2,
|
||||||
|
EndLine: 2,
|
||||||
|
StartPos: 14,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -68,108 +169,6 @@ func TestAltSwitch(t *testing.T) {
|
|||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 28,
|
StartPos: 28,
|
||||||
EndPos: 28,
|
|
||||||
},
|
|
||||||
Value: "1",
|
|
||||||
},
|
|
||||||
Stmts: []node.Node{},
|
|
||||||
},
|
|
||||||
&stmt.Default{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 4,
|
|
||||||
EndLine: -1,
|
|
||||||
StartPos: 34,
|
|
||||||
EndPos: -1,
|
|
||||||
},
|
|
||||||
Stmts: []node.Node{},
|
|
||||||
},
|
|
||||||
&stmt.Case{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 5,
|
|
||||||
EndLine: -1,
|
|
||||||
StartPos: 46,
|
|
||||||
EndPos: -1,
|
|
||||||
},
|
|
||||||
Cond: &scalar.Lnumber{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 5,
|
|
||||||
EndLine: 5,
|
|
||||||
StartPos: 51,
|
|
||||||
EndPos: 51,
|
|
||||||
},
|
|
||||||
Value: "2",
|
|
||||||
},
|
|
||||||
Stmts: []node.Node{},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
|
||||||
php7parser.Parse()
|
|
||||||
actual := php7parser.GetRootNode()
|
|
||||||
assert.DeepEqual(t, expected, actual)
|
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
|
||||||
php5parser.Parse()
|
|
||||||
actual = php5parser.GetRootNode()
|
|
||||||
assert.DeepEqual(t, expected, actual)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestAltSwitchSemicolon(t *testing.T) {
|
|
||||||
src := `<?
|
|
||||||
switch (1) :;
|
|
||||||
case 1;
|
|
||||||
case 2;
|
|
||||||
endswitch;
|
|
||||||
`
|
|
||||||
|
|
||||||
expected := &node.Root{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 2,
|
|
||||||
EndLine: 5,
|
|
||||||
StartPos: 7,
|
|
||||||
EndPos: 54,
|
|
||||||
},
|
|
||||||
Stmts: []node.Node{
|
|
||||||
&stmt.AltSwitch{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 2,
|
|
||||||
EndLine: 5,
|
|
||||||
StartPos: 7,
|
|
||||||
EndPos: 54,
|
|
||||||
},
|
|
||||||
Cond: &scalar.Lnumber{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 2,
|
|
||||||
EndLine: 2,
|
|
||||||
StartPos: 15,
|
|
||||||
EndPos: 15,
|
|
||||||
},
|
|
||||||
Value: "1",
|
|
||||||
},
|
|
||||||
CaseList: &stmt.CaseList{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 3,
|
|
||||||
EndLine: -1,
|
|
||||||
StartPos: 24,
|
|
||||||
EndPos: -1,
|
|
||||||
},
|
|
||||||
Cases: []node.Node{
|
|
||||||
&stmt.Case{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 3,
|
|
||||||
EndLine: -1,
|
|
||||||
StartPos: 24,
|
|
||||||
EndPos: -1,
|
|
||||||
},
|
|
||||||
Cond: &scalar.Lnumber{
|
|
||||||
Position: &position.Position{
|
|
||||||
StartLine: 3,
|
|
||||||
EndLine: 3,
|
|
||||||
StartPos: 29,
|
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -180,14 +179,14 @@ func TestAltSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 35,
|
StartPos: 34,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 40,
|
StartPos: 39,
|
||||||
EndPos: 40,
|
EndPos: 40,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -200,12 +199,12 @@ func TestAltSwitchSemicolon(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -223,7 +222,7 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -231,14 +230,14 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -247,7 +246,7 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Cases: []node.Node{
|
Cases: []node.Node{
|
||||||
@ -255,14 +254,14 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -272,7 +271,7 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -282,14 +281,14 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 41,
|
StartPos: 40,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 46,
|
StartPos: 45,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -299,7 +298,7 @@ func TestSwitch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 49,
|
StartPos: 48,
|
||||||
EndPos: 54,
|
EndPos: 54,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -311,12 +310,12 @@ func TestSwitch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -334,7 +333,7 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 59,
|
EndPos: 59,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -342,14 +341,14 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 59,
|
EndPos: 59,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 15,
|
StartPos: 14,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -358,7 +357,7 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 5,
|
EndLine: 5,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 59,
|
EndPos: 59,
|
||||||
},
|
},
|
||||||
Cases: []node.Node{
|
Cases: []node.Node{
|
||||||
@ -366,14 +365,14 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 24,
|
StartPos: 23,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -383,7 +382,7 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 3,
|
StartLine: 3,
|
||||||
EndLine: 3,
|
EndLine: 3,
|
||||||
StartPos: 32,
|
StartPos: 31,
|
||||||
EndPos: 37,
|
EndPos: 37,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -393,14 +392,14 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 42,
|
StartPos: 41,
|
||||||
EndPos: 55,
|
EndPos: 55,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 47,
|
StartPos: 46,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -410,7 +409,7 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 4,
|
StartLine: 4,
|
||||||
EndLine: 4,
|
EndLine: 4,
|
||||||
StartPos: 50,
|
StartPos: 49,
|
||||||
EndPos: 55,
|
EndPos: 55,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -422,12 +421,12 @@ func TestSwitchSemicolon(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -21,7 +20,7 @@ func TestThrow(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -29,21 +28,21 @@ func TestThrow(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Expr: &expr.Variable{
|
Expr: &expr.Variable{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -53,12 +52,12 @@ func TestThrow(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -20,7 +19,7 @@ func TestTrait(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -28,7 +27,7 @@ func TestTrait(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -36,7 +35,7 @@ func TestTrait(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -46,12 +45,12 @@ func TestTrait(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,7 +29,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -38,7 +37,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -48,7 +47,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -56,7 +55,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -64,7 +63,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -76,7 +75,7 @@ func TestTraitUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 23,
|
StartPos: 22,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -86,12 +85,12 @@ func TestTraitUse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -104,7 +103,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -112,7 +111,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -120,7 +119,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -130,7 +129,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -138,7 +137,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -146,7 +145,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -157,7 +156,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -165,7 +164,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -177,7 +176,7 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 28,
|
EndPos: 28,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -187,12 +186,12 @@ func TestTraitsUse(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -205,7 +204,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -213,7 +212,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -221,7 +220,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -231,7 +230,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -239,7 +238,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -247,7 +246,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -258,7 +257,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -266,7 +265,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -278,7 +277,7 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 30,
|
EndPos: 30,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -288,12 +287,12 @@ func TestTraitsUseEmptyAdaptations(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -306,7 +305,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 48,
|
EndPos: 48,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -314,7 +313,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 48,
|
EndPos: 48,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -322,7 +321,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -332,7 +331,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -340,7 +339,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -348,7 +347,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -359,7 +358,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -367,7 +366,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -379,7 +378,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Adaptations: []node.Node{
|
Adaptations: []node.Node{
|
||||||
@ -387,21 +386,21 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Ref: &stmt.TraitMethodRef{
|
Ref: &stmt.TraitMethodRef{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Method: &node.Identifier{
|
Method: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "one",
|
Value: "one",
|
||||||
@ -411,7 +410,7 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -425,12 +424,12 @@ func TestTraitsUseModifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -443,7 +442,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -451,7 +450,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -459,7 +458,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -469,7 +468,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -477,7 +476,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -485,7 +484,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -496,7 +495,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -504,7 +503,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -516,7 +515,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 50,
|
EndPos: 50,
|
||||||
},
|
},
|
||||||
Adaptations: []node.Node{
|
Adaptations: []node.Node{
|
||||||
@ -524,21 +523,21 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Ref: &stmt.TraitMethodRef{
|
Ref: &stmt.TraitMethodRef{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Method: &node.Identifier{
|
Method: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "one",
|
Value: "one",
|
||||||
@ -548,7 +547,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 43,
|
EndPos: 43,
|
||||||
},
|
},
|
||||||
Value: "public",
|
Value: "public",
|
||||||
@ -557,7 +556,7 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 45,
|
StartPos: 44,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Value: "two",
|
Value: "two",
|
||||||
@ -571,12 +570,12 @@ func TestTraitsUseAliasModifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -589,7 +588,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 80,
|
EndPos: 80,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -597,7 +596,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 80,
|
EndPos: 80,
|
||||||
},
|
},
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -605,7 +604,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 12,
|
EndPos: 12,
|
||||||
},
|
},
|
||||||
Value: "Foo",
|
Value: "Foo",
|
||||||
@ -615,7 +614,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 78,
|
EndPos: 78,
|
||||||
},
|
},
|
||||||
Traits: []node.Node{
|
Traits: []node.Node{
|
||||||
@ -623,7 +622,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -631,7 +630,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 20,
|
StartPos: 19,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -642,7 +641,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -650,7 +649,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 25,
|
StartPos: 24,
|
||||||
EndPos: 27,
|
EndPos: 27,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -662,7 +661,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 29,
|
StartPos: 28,
|
||||||
EndPos: 78,
|
EndPos: 78,
|
||||||
},
|
},
|
||||||
Adaptations: []node.Node{
|
Adaptations: []node.Node{
|
||||||
@ -670,21 +669,21 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Ref: &stmt.TraitMethodRef{
|
Ref: &stmt.TraitMethodRef{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Trait: &name.Name{
|
Trait: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -692,7 +691,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Value: "Bar",
|
Value: "Bar",
|
||||||
@ -703,7 +702,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 36,
|
StartPos: 35,
|
||||||
EndPos: 38,
|
EndPos: 38,
|
||||||
},
|
},
|
||||||
Value: "one",
|
Value: "one",
|
||||||
@ -714,7 +713,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 50,
|
StartPos: 49,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -722,7 +721,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 50,
|
StartPos: 49,
|
||||||
EndPos: 52,
|
EndPos: 52,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -733,7 +732,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 55,
|
StartPos: 54,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -741,7 +740,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 55,
|
StartPos: 54,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Value: "Quux",
|
Value: "Quux",
|
||||||
@ -754,21 +753,21 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 61,
|
StartPos: 60,
|
||||||
EndPos: 75,
|
EndPos: 75,
|
||||||
},
|
},
|
||||||
Ref: &stmt.TraitMethodRef{
|
Ref: &stmt.TraitMethodRef{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 61,
|
StartPos: 60,
|
||||||
EndPos: 68,
|
EndPos: 68,
|
||||||
},
|
},
|
||||||
Trait: &name.Name{
|
Trait: &name.Name{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 61,
|
StartPos: 60,
|
||||||
EndPos: 63,
|
EndPos: 63,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -776,7 +775,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 61,
|
StartPos: 60,
|
||||||
EndPos: 63,
|
EndPos: 63,
|
||||||
},
|
},
|
||||||
Value: "Baz",
|
Value: "Baz",
|
||||||
@ -787,7 +786,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 66,
|
StartPos: 65,
|
||||||
EndPos: 68,
|
EndPos: 68,
|
||||||
},
|
},
|
||||||
Value: "one",
|
Value: "one",
|
||||||
@ -797,7 +796,7 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 73,
|
StartPos: 72,
|
||||||
EndPos: 75,
|
EndPos: 75,
|
||||||
},
|
},
|
||||||
Value: "two",
|
Value: "two",
|
||||||
@ -811,12 +810,12 @@ func TestTraitsUseAdaptions(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -25,7 +24,7 @@ func TestTry(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -33,7 +32,7 @@ func TestTry(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: -1,
|
EndLine: -1,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: -1,
|
EndPos: -1,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -42,12 +41,12 @@ func TestTry(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -62,7 +61,7 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -70,7 +69,7 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -79,7 +78,7 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -87,7 +86,7 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -95,7 +94,7 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "Exception",
|
Value: "Exception",
|
||||||
@ -107,14 +106,14 @@ func TestTryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -127,12 +126,12 @@ func TestTryCatch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -147,7 +146,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 53,
|
EndPos: 53,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -155,7 +154,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 53,
|
EndPos: 53,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -164,7 +163,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 53,
|
EndPos: 53,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -172,7 +171,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -180,7 +179,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "Exception",
|
Value: "Exception",
|
||||||
@ -191,7 +190,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -199,7 +198,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 46,
|
EndPos: 46,
|
||||||
},
|
},
|
||||||
Value: "RuntimeException",
|
Value: "RuntimeException",
|
||||||
@ -211,14 +210,14 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 48,
|
StartPos: 47,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 48,
|
StartPos: 47,
|
||||||
EndPos: 49,
|
EndPos: 49,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -231,7 +230,7 @@ func TestPhp7TryCatch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -246,7 +245,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 67,
|
EndPos: 67,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -254,7 +253,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 67,
|
EndPos: 67,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -263,7 +262,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -271,7 +270,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -279,7 +278,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "Exception",
|
Value: "Exception",
|
||||||
@ -291,14 +290,14 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -310,7 +309,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 67,
|
EndPos: 67,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -318,7 +317,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 45,
|
StartPos: 44,
|
||||||
EndPos: 60,
|
EndPos: 60,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -326,7 +325,7 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 45,
|
StartPos: 44,
|
||||||
EndPos: 60,
|
EndPos: 60,
|
||||||
},
|
},
|
||||||
Value: "RuntimeException",
|
Value: "RuntimeException",
|
||||||
@ -338,14 +337,14 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 62,
|
StartPos: 61,
|
||||||
EndPos: 63,
|
EndPos: 63,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 62,
|
StartPos: 61,
|
||||||
EndPos: 63,
|
EndPos: 63,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -358,12 +357,12 @@ func TestTryCatchCatch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -378,7 +377,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -386,7 +385,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 7,
|
StartPos: 6,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -395,7 +394,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 36,
|
EndPos: 36,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -403,7 +402,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -411,7 +410,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 21,
|
StartPos: 20,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "Exception",
|
Value: "Exception",
|
||||||
@ -423,14 +422,14 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 31,
|
StartPos: 30,
|
||||||
EndPos: 32,
|
EndPos: 32,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -443,7 +442,7 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 2,
|
StartLine: 2,
|
||||||
EndLine: 2,
|
EndLine: 2,
|
||||||
StartPos: 38,
|
StartPos: 37,
|
||||||
EndPos: 47,
|
EndPos: 47,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -452,12 +451,12 @@ func TestTryCatchFinally(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -470,7 +469,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 107,
|
EndPos: 107,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -478,7 +477,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 107,
|
EndPos: 107,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
@ -487,7 +486,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 33,
|
EndPos: 33,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -495,7 +494,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -503,7 +502,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 18,
|
StartPos: 17,
|
||||||
EndPos: 26,
|
EndPos: 26,
|
||||||
},
|
},
|
||||||
Value: "Exception",
|
Value: "Exception",
|
||||||
@ -515,14 +514,14 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 28,
|
StartPos: 27,
|
||||||
EndPos: 29,
|
EndPos: 29,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -534,7 +533,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 35,
|
StartPos: 34,
|
||||||
EndPos: 65,
|
EndPos: 65,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -542,7 +541,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 42,
|
StartPos: 41,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -550,7 +549,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 43,
|
StartPos: 42,
|
||||||
EndPos: 58,
|
EndPos: 58,
|
||||||
},
|
},
|
||||||
Value: "RuntimeException",
|
Value: "RuntimeException",
|
||||||
@ -562,14 +561,14 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 60,
|
StartPos: 59,
|
||||||
EndPos: 61,
|
EndPos: 61,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 60,
|
StartPos: 59,
|
||||||
EndPos: 61,
|
EndPos: 61,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -581,7 +580,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 67,
|
StartPos: 66,
|
||||||
EndPos: 107,
|
EndPos: 107,
|
||||||
},
|
},
|
||||||
Types: []node.Node{
|
Types: []node.Node{
|
||||||
@ -589,7 +588,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 74,
|
StartPos: 73,
|
||||||
EndPos: 100,
|
EndPos: 100,
|
||||||
},
|
},
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -597,7 +596,7 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 84,
|
StartPos: 83,
|
||||||
EndPos: 100,
|
EndPos: 100,
|
||||||
},
|
},
|
||||||
Value: "AdditionException",
|
Value: "AdditionException",
|
||||||
@ -609,14 +608,14 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 102,
|
StartPos: 101,
|
||||||
EndPos: 103,
|
EndPos: 103,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 102,
|
StartPos: 101,
|
||||||
EndPos: 103,
|
EndPos: 103,
|
||||||
},
|
},
|
||||||
Value: "e",
|
Value: "e",
|
||||||
@ -629,12 +628,12 @@ func TestTryCatchCatchCatch(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -21,7 +20,7 @@ func TestUnset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -29,7 +28,7 @@ func TestUnset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 13,
|
EndPos: 13,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -37,14 +36,14 @@ func TestUnset(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -55,12 +54,12 @@ func TestUnset(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -73,7 +72,7 @@ func TestUnsetVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -81,7 +80,7 @@ func TestUnsetVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 17,
|
EndPos: 17,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -89,14 +88,14 @@ func TestUnsetVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -106,14 +105,14 @@ func TestUnsetVars(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -124,12 +123,12 @@ func TestUnsetVars(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -142,7 +141,7 @@ func TestUnsetTrailingComma(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -150,7 +149,7 @@ func TestUnsetTrailingComma(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 18,
|
EndPos: 18,
|
||||||
},
|
},
|
||||||
Vars: []node.Node{
|
Vars: []node.Node{
|
||||||
@ -158,14 +157,14 @@ func TestUnsetTrailingComma(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 10,
|
StartPos: 9,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "a",
|
Value: "a",
|
||||||
@ -175,14 +174,14 @@ func TestUnsetTrailingComma(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
VarName: &node.Identifier{
|
VarName: &node.Identifier{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 15,
|
EndPos: 15,
|
||||||
},
|
},
|
||||||
Value: "b",
|
Value: "b",
|
||||||
@ -193,7 +192,7 @@ func TestUnsetTrailingComma(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -129,9 +129,10 @@ var nodesToTest = []struct {
|
|||||||
&stmt.Declare{
|
&stmt.Declare{
|
||||||
Consts: []node.Node{&stmt.Expression{}},
|
Consts: []node.Node{&stmt.Expression{}},
|
||||||
Stmt: &stmt.StmtList{},
|
Stmt: &stmt.StmtList{},
|
||||||
|
Alt: true,
|
||||||
},
|
},
|
||||||
[]string{"Consts", "Stmt"},
|
[]string{"Consts", "Stmt"},
|
||||||
nil,
|
map[string]interface{}{"Alt": true},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
&stmt.Default{
|
&stmt.Default{
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package stmt_test
|
package stmt_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"gotest.tools/assert"
|
"gotest.tools/assert"
|
||||||
@ -22,7 +21,7 @@ func TestBreakEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -30,14 +29,14 @@ func TestBreakEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -46,7 +45,7 @@ func TestBreakEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -54,7 +53,7 @@ func TestBreakEmpty(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 21,
|
EndPos: 21,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -64,12 +63,12 @@ func TestBreakEmpty(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -82,7 +81,7 @@ func TestBreakLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -90,14 +89,14 @@ func TestBreakLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -106,7 +105,7 @@ func TestBreakLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 14,
|
StartPos: 13,
|
||||||
EndPos: 25,
|
EndPos: 25,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -114,14 +113,14 @@ func TestBreakLight(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 23,
|
EndPos: 23,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "2",
|
Value: "2",
|
||||||
@ -133,12 +132,12 @@ func TestBreakLight(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
@ -151,7 +150,7 @@ func TestBreak(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -159,14 +158,14 @@ func TestBreak(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 4,
|
StartPos: 3,
|
||||||
EndPos: 34,
|
EndPos: 34,
|
||||||
},
|
},
|
||||||
Cond: &scalar.Lnumber{
|
Cond: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 11,
|
StartPos: 10,
|
||||||
EndPos: 11,
|
EndPos: 11,
|
||||||
},
|
},
|
||||||
Value: "1",
|
Value: "1",
|
||||||
@ -175,7 +174,7 @@ func TestBreak(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Stmts: []node.Node{
|
Stmts: []node.Node{
|
||||||
@ -183,14 +182,14 @@ func TestBreak(t *testing.T) {
|
|||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 16,
|
StartPos: 15,
|
||||||
EndPos: 24,
|
EndPos: 24,
|
||||||
},
|
},
|
||||||
Expr: &scalar.Lnumber{
|
Expr: &scalar.Lnumber{
|
||||||
Position: &position.Position{
|
Position: &position.Position{
|
||||||
StartLine: 1,
|
StartLine: 1,
|
||||||
EndLine: 1,
|
EndLine: 1,
|
||||||
StartPos: 22,
|
StartPos: 21,
|
||||||
EndPos: 22,
|
EndPos: 22,
|
||||||
},
|
},
|
||||||
Value: "3",
|
Value: "3",
|
||||||
@ -202,12 +201,12 @@ func TestBreak(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
actual := php7parser.GetRootNode()
|
actual := php7parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
actual = php5parser.GetRootNode()
|
actual = php5parser.GetRootNode()
|
||||||
assert.DeepEqual(t, expected, actual)
|
assert.DeepEqual(t, expected, actual)
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestPosition(t *testing.T) {
|
func TestPosition(t *testing.T) {
|
||||||
expected := position.NewPosition(1, 1, 1, 1)
|
expected := position.NewPosition(1, 1, 0, 1)
|
||||||
for _, n := range nodes {
|
for _, n := range nodes {
|
||||||
n.SetPosition(expected)
|
n.SetPosition(expected)
|
||||||
actual := n.GetPosition()
|
actual := n.GetPosition()
|
||||||
|
@ -8,7 +8,6 @@ import (
|
|||||||
// Parser interface
|
// Parser interface
|
||||||
type Parser interface {
|
type Parser interface {
|
||||||
Parse() int
|
Parse() int
|
||||||
GetPath() string
|
|
||||||
GetRootNode() node.Node
|
GetRootNode() node.Node
|
||||||
GetErrors() []*errors.Error
|
GetErrors() []*errors.Error
|
||||||
WithFreeFloating()
|
WithFreeFloating()
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
package php5
|
package php5
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/freefloating"
|
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/errors"
|
"github.com/z7zmey/php-parser/errors"
|
||||||
|
"github.com/z7zmey/php-parser/freefloating"
|
||||||
"github.com/z7zmey/php-parser/node"
|
"github.com/z7zmey/php-parser/node"
|
||||||
"github.com/z7zmey/php-parser/parser"
|
"github.com/z7zmey/php-parser/parser"
|
||||||
"github.com/z7zmey/php-parser/position"
|
"github.com/z7zmey/php-parser/position"
|
||||||
@ -19,20 +17,18 @@ func (lval *yySymType) Token(t *scanner.Token) {
|
|||||||
|
|
||||||
// Parser structure
|
// Parser structure
|
||||||
type Parser struct {
|
type Parser struct {
|
||||||
*scanner.Lexer
|
Lexer scanner.Scanner
|
||||||
path string
|
|
||||||
currentToken *scanner.Token
|
currentToken *scanner.Token
|
||||||
positionBuilder *parser.PositionBuilder
|
positionBuilder *parser.PositionBuilder
|
||||||
rootNode node.Node
|
rootNode node.Node
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewParser creates and returns new Parser
|
// NewParser creates and returns new Parser
|
||||||
func NewParser(src io.Reader, path string) *Parser {
|
func NewParser(src []byte) *Parser {
|
||||||
lexer := scanner.NewLexer(src, path)
|
lexer := scanner.NewLexer(src)
|
||||||
|
|
||||||
return &Parser{
|
return &Parser{
|
||||||
lexer,
|
lexer,
|
||||||
path,
|
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
@ -54,17 +50,17 @@ func (l *Parser) Error(msg string) {
|
|||||||
EndPos: l.currentToken.EndPos,
|
EndPos: l.currentToken.EndPos,
|
||||||
}
|
}
|
||||||
|
|
||||||
l.Lexer.Errors = append(l.Lexer.Errors, errors.NewError(msg, pos))
|
l.Lexer.AddError(errors.NewError(msg, pos))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) WithFreeFloating() {
|
func (l *Parser) WithFreeFloating() {
|
||||||
l.Lexer.WithFreeFloating = true
|
l.Lexer.SetWithFreeFloating(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse the php7 Parser entrypoint
|
// Parse the php7 Parser entrypoint
|
||||||
func (l *Parser) Parse() int {
|
func (l *Parser) Parse() int {
|
||||||
// init
|
// init
|
||||||
l.Lexer.Errors = nil
|
l.Lexer.SetErrors(nil)
|
||||||
l.rootNode = nil
|
l.rootNode = nil
|
||||||
l.positionBuilder = &parser.PositionBuilder{}
|
l.positionBuilder = &parser.PositionBuilder{}
|
||||||
|
|
||||||
@ -73,11 +69,6 @@ func (l *Parser) Parse() int {
|
|||||||
return yyParse(l)
|
return yyParse(l)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetPath return path to file
|
|
||||||
func (l *Parser) GetPath() string {
|
|
||||||
return l.path
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetRootNode returns root node
|
// GetRootNode returns root node
|
||||||
func (l *Parser) GetRootNode() node.Node {
|
func (l *Parser) GetRootNode() node.Node {
|
||||||
return l.rootNode
|
return l.rootNode
|
||||||
@ -85,7 +76,7 @@ func (l *Parser) GetRootNode() node.Node {
|
|||||||
|
|
||||||
// GetErrors returns errors list
|
// GetErrors returns errors list
|
||||||
func (l *Parser) GetErrors() []*errors.Error {
|
func (l *Parser) GetErrors() []*errors.Error {
|
||||||
return l.Lexer.Errors
|
return l.Lexer.GetErrors()
|
||||||
}
|
}
|
||||||
|
|
||||||
// helpers
|
// helpers
|
||||||
@ -106,7 +97,7 @@ func isDollar(r rune) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +110,7 @@ func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings []freefloating.String) {
|
func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings []freefloating.String) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,7 +127,7 @@ func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return []freefloating.String{}
|
return []freefloating.String{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,7 +135,7 @@ func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) addDollarToken(v node.Node) {
|
func (l *Parser) addDollarToken(v node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +154,7 @@ func (l *Parser) addDollarToken(v node.Node) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.Node) {
|
func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,7 +217,7 @@ func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.
|
|||||||
func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) {
|
func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) {
|
||||||
for i := 1; i < len(yyDollar); i++ {
|
for i := 1; i < len(yyDollar); i++ {
|
||||||
if yyDollar[i].token != nil {
|
if yyDollar[i].token != nil {
|
||||||
p.TokenPool.Put(yyDollar[i].token)
|
p.Lexer.ReturnTokenToPool(yyDollar[i].token)
|
||||||
}
|
}
|
||||||
yyDollar[i].token = nil
|
yyDollar[i].token = nil
|
||||||
}
|
}
|
||||||
|
1050
php5/php5.go
1050
php5/php5.go
File diff suppressed because it is too large
Load Diff
10
php5/php5.y
10
php5/php5.y
@ -282,11 +282,9 @@ start:
|
|||||||
yylex.(*Parser).rootNode = node.NewRoot($1)
|
yylex.(*Parser).rootNode = node.NewRoot($1)
|
||||||
yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
||||||
|
|
||||||
|
yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating)
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
|
||||||
if yylex.(*Parser).currentToken.Value == "\xff" {
|
|
||||||
yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -383,8 +381,6 @@ top_statement:
|
|||||||
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
|
||||||
yylex.(*Parser).Begin(scanner.HALT_COMPILER)
|
|
||||||
}
|
}
|
||||||
| T_NAMESPACE namespace_name ';'
|
| T_NAMESPACE namespace_name ';'
|
||||||
{
|
{
|
||||||
@ -871,8 +867,6 @@ inner_statement:
|
|||||||
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
|
||||||
yylex.(*Parser).Begin(scanner.HALT_COMPILER)
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package php5_test
|
package php5_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/php5"
|
"github.com/z7zmey/php-parser/php5"
|
||||||
@ -414,7 +413,7 @@ CAD;
|
|||||||
`
|
`
|
||||||
|
|
||||||
for n := 0; n < b.N; n++ {
|
for n := 0; n < b.N; n++ {
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4232
php5/php5_test.go
4232
php5/php5_test.go
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
package php7
|
package php7
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/errors"
|
"github.com/z7zmey/php-parser/errors"
|
||||||
@ -18,27 +17,24 @@ func (lval *yySymType) Token(t *scanner.Token) {
|
|||||||
|
|
||||||
// Parser structure
|
// Parser structure
|
||||||
type Parser struct {
|
type Parser struct {
|
||||||
*scanner.Lexer
|
Lexer scanner.Scanner
|
||||||
path string
|
|
||||||
currentToken *scanner.Token
|
currentToken *scanner.Token
|
||||||
positionBuilder *parser.PositionBuilder
|
positionBuilder *parser.PositionBuilder
|
||||||
rootNode node.Node
|
rootNode node.Node
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewParser creates and returns new Parser
|
// NewParser creates and returns new Parser
|
||||||
func NewParser(src io.Reader, path string) *Parser {
|
func NewParser(src []byte) *Parser {
|
||||||
lexer := scanner.NewLexer(src, path)
|
lexer := scanner.NewLexer(src)
|
||||||
|
|
||||||
return &Parser{
|
return &Parser{
|
||||||
lexer,
|
lexer,
|
||||||
path,
|
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lex proxy to lexer Lex
|
|
||||||
func (l *Parser) Lex(lval *yySymType) int {
|
func (l *Parser) Lex(lval *yySymType) int {
|
||||||
t := l.Lexer.Lex(lval)
|
t := l.Lexer.Lex(lval)
|
||||||
l.currentToken = lval.token
|
l.currentToken = lval.token
|
||||||
@ -53,17 +49,17 @@ func (l *Parser) Error(msg string) {
|
|||||||
EndPos: l.currentToken.EndPos,
|
EndPos: l.currentToken.EndPos,
|
||||||
}
|
}
|
||||||
|
|
||||||
l.Lexer.Errors = append(l.Lexer.Errors, errors.NewError(msg, pos))
|
l.Lexer.AddError(errors.NewError(msg, pos))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) WithFreeFloating() {
|
func (l *Parser) WithFreeFloating() {
|
||||||
l.Lexer.WithFreeFloating = true
|
l.Lexer.SetWithFreeFloating(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse the php7 Parser entrypoint
|
// Parse the php7 Parser entrypoint
|
||||||
func (l *Parser) Parse() int {
|
func (l *Parser) Parse() int {
|
||||||
// init
|
// init
|
||||||
l.Lexer.Errors = nil
|
l.Lexer.SetErrors(nil)
|
||||||
l.rootNode = nil
|
l.rootNode = nil
|
||||||
l.positionBuilder = &parser.PositionBuilder{}
|
l.positionBuilder = &parser.PositionBuilder{}
|
||||||
|
|
||||||
@ -72,11 +68,6 @@ func (l *Parser) Parse() int {
|
|||||||
return yyParse(l)
|
return yyParse(l)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetPath return path to file
|
|
||||||
func (l *Parser) GetPath() string {
|
|
||||||
return l.path
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetRootNode returns root node
|
// GetRootNode returns root node
|
||||||
func (l *Parser) GetRootNode() node.Node {
|
func (l *Parser) GetRootNode() node.Node {
|
||||||
return l.rootNode
|
return l.rootNode
|
||||||
@ -84,7 +75,7 @@ func (l *Parser) GetRootNode() node.Node {
|
|||||||
|
|
||||||
// GetErrors returns errors list
|
// GetErrors returns errors list
|
||||||
func (l *Parser) GetErrors() []*errors.Error {
|
func (l *Parser) GetErrors() []*errors.Error {
|
||||||
return l.Lexer.Errors
|
return l.Lexer.GetErrors()
|
||||||
}
|
}
|
||||||
|
|
||||||
// helpers
|
// helpers
|
||||||
@ -105,7 +96,7 @@ func isDollar(r rune) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +109,7 @@ func (l *Parser) MoveFreeFloating(src node.Node, dst node.Node) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings []freefloating.String) {
|
func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings []freefloating.String) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,7 +126,7 @@ func (l *Parser) setFreeFloating(dst node.Node, p freefloating.Position, strings
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return []freefloating.String{}
|
return []freefloating.String{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,7 +134,7 @@ func (l *Parser) GetFreeFloatingToken(t *scanner.Token) []freefloating.String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) addDollarToken(v node.Node) {
|
func (l *Parser) addDollarToken(v node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -162,7 +153,7 @@ func (l *Parser) addDollarToken(v node.Node) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.Node) {
|
func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.Node) {
|
||||||
if l.Lexer.WithFreeFloating == false {
|
if l.Lexer.GetWithFreeFloating() == false {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +216,7 @@ func (l *Parser) splitSemiColonAndPhpCloseTag(htmlNode node.Node, prevNode node.
|
|||||||
func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) {
|
func (p *Parser) returnTokenToPool(yyDollar []yySymType, yyVAL *yySymType) {
|
||||||
for i := 1; i < len(yyDollar); i++ {
|
for i := 1; i < len(yyDollar); i++ {
|
||||||
if yyDollar[i].token != nil {
|
if yyDollar[i].token != nil {
|
||||||
p.TokenPool.Put(yyDollar[i].token)
|
p.Lexer.ReturnTokenToPool(yyDollar[i].token)
|
||||||
}
|
}
|
||||||
yyDollar[i].token = nil
|
yyDollar[i].token = nil
|
||||||
}
|
}
|
||||||
|
990
php7/php7.go
990
php7/php7.go
File diff suppressed because it is too large
Load Diff
12
php7/php7.y
12
php7/php7.y
@ -303,11 +303,9 @@ start:
|
|||||||
// save position
|
// save position
|
||||||
yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
yylex.(*Parser).rootNode.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
||||||
|
|
||||||
|
yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating)
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
|
||||||
if yylex.(*Parser).currentToken.Value == "\xff" {
|
|
||||||
yylex.(*Parser).setFreeFloating(yylex.(*Parser).rootNode, freefloating.End, yylex.(*Parser).currentToken.FreeFloating)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -485,8 +483,6 @@ top_statement:
|
|||||||
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
yylex.(*Parser).setFreeFloating($$, freefloating.SemiColon, yylex.(*Parser).GetFreeFloatingToken($4))
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
|
||||||
yylex.(*Parser).Begin(scanner.HALT_COMPILER)
|
|
||||||
}
|
}
|
||||||
| T_NAMESPACE namespace_name ';'
|
| T_NAMESPACE namespace_name ';'
|
||||||
{
|
{
|
||||||
@ -4194,8 +4190,8 @@ expr_without_variable:
|
|||||||
backup_doc_comment:
|
backup_doc_comment:
|
||||||
/* empty */
|
/* empty */
|
||||||
{
|
{
|
||||||
$$ = yylex.(*Parser).PhpDocComment
|
$$ = yylex.(*Parser).Lexer.GetPhpDocComment()
|
||||||
yylex.(*Parser).PhpDocComment = ""
|
yylex.(*Parser).Lexer.SetPhpDocComment("")
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package php7_test
|
package php7_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/php7"
|
"github.com/z7zmey/php-parser/php7"
|
||||||
@ -382,7 +381,7 @@ CAD;
|
|||||||
`
|
`
|
||||||
|
|
||||||
for n := 0; n < b.N; n++ {
|
for n := 0; n < b.N; n++ {
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
3716
php7/php7_test.go
3716
php7/php7_test.go
File diff suppressed because it is too large
Load Diff
@ -569,9 +569,7 @@ func (p *PrettyPrinter) printScalarEncapsed(n node.Node) {
|
|||||||
func (p *PrettyPrinter) printScalarHeredoc(n node.Node) {
|
func (p *PrettyPrinter) printScalarHeredoc(n node.Node) {
|
||||||
nn := n.(*scalar.Heredoc)
|
nn := n.(*scalar.Heredoc)
|
||||||
|
|
||||||
io.WriteString(p.w, "<<<")
|
|
||||||
io.WriteString(p.w, nn.Label)
|
io.WriteString(p.w, nn.Label)
|
||||||
io.WriteString(p.w, "\n")
|
|
||||||
|
|
||||||
for _, part := range nn.Parts {
|
for _, part := range nn.Parts {
|
||||||
switch part.(type) {
|
switch part.(type) {
|
||||||
@ -584,7 +582,7 @@ func (p *PrettyPrinter) printScalarHeredoc(n node.Node) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
io.WriteString(p.w, strings.Trim(nn.Label, "\"'"))
|
io.WriteString(p.w, strings.Trim(nn.Label, "<\"'\n"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PrettyPrinter) printScalarMagicConstant(n node.Node) {
|
func (p *PrettyPrinter) printScalarMagicConstant(n node.Node) {
|
||||||
|
@ -87,7 +87,7 @@ func TestPrintFileInlineHtml(t *testing.T) {
|
|||||||
&stmt.InlineHtml{Value: "<div>HTML</div>"},
|
&stmt.InlineHtml{Value: "<div>HTML</div>"},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &scalar.Heredoc{
|
Expr: &scalar.Heredoc{
|
||||||
Label: "\"LBL\"",
|
Label: "<<<\"LBL\"\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{Value: "hello world\n"},
|
&scalar.EncapsedStringPart{Value: "hello world\n"},
|
||||||
},
|
},
|
||||||
@ -356,7 +356,7 @@ func TestPrintScalarHeredoc(t *testing.T) {
|
|||||||
|
|
||||||
p := printer.NewPrettyPrinter(o, " ")
|
p := printer.NewPrettyPrinter(o, " ")
|
||||||
p.Print(&scalar.Heredoc{
|
p.Print(&scalar.Heredoc{
|
||||||
Label: "LBL",
|
Label: "<<<LBL\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{Value: "hello "},
|
&scalar.EncapsedStringPart{Value: "hello "},
|
||||||
&expr.Variable{VarName: &node.Identifier{Value: "var"}},
|
&expr.Variable{VarName: &node.Identifier{Value: "var"}},
|
||||||
@ -379,7 +379,7 @@ func TestPrintScalarNowdoc(t *testing.T) {
|
|||||||
|
|
||||||
p := printer.NewPrettyPrinter(o, " ")
|
p := printer.NewPrettyPrinter(o, " ")
|
||||||
p.Print(&scalar.Heredoc{
|
p.Print(&scalar.Heredoc{
|
||||||
Label: "'LBL'",
|
Label: "<<<'LBL'\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{Value: "hello world\n"},
|
&scalar.EncapsedStringPart{Value: "hello world\n"},
|
||||||
},
|
},
|
||||||
|
@ -618,9 +618,7 @@ func (p *Printer) printScalarHeredoc(n node.Node) {
|
|||||||
nn := n.(*scalar.Heredoc)
|
nn := n.(*scalar.Heredoc)
|
||||||
p.printFreeFloating(nn, freefloating.Start)
|
p.printFreeFloating(nn, freefloating.Start)
|
||||||
|
|
||||||
io.WriteString(p.w, "<<<")
|
|
||||||
io.WriteString(p.w, nn.Label)
|
io.WriteString(p.w, nn.Label)
|
||||||
io.WriteString(p.w, "\n")
|
|
||||||
|
|
||||||
for _, part := range nn.Parts {
|
for _, part := range nn.Parts {
|
||||||
switch part.(type) {
|
switch part.(type) {
|
||||||
@ -643,8 +641,7 @@ func (p *Printer) printScalarHeredoc(n node.Node) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
io.WriteString(p.w, "\n")
|
io.WriteString(p.w, strings.Trim(nn.Label, "<\"'\n"))
|
||||||
io.WriteString(p.w, strings.Trim(nn.Label, "\"'"))
|
|
||||||
|
|
||||||
p.printFreeFloating(nn, freefloating.End)
|
p.printFreeFloating(nn, freefloating.End)
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func parsePhp5(src string) node.Node {
|
func parsePhp5(src string) node.Node {
|
||||||
php5parser := php5.NewParser(bytes.NewBufferString(src), "test.php")
|
php5parser := php5.NewParser([]byte(src))
|
||||||
php5parser.WithFreeFloating()
|
php5parser.WithFreeFloating()
|
||||||
php5parser.Parse()
|
php5parser.Parse()
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ abstract class Bar extends Baz
|
|||||||
|
|
||||||
// parse
|
// parse
|
||||||
|
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.WithFreeFloating()
|
php7parser.WithFreeFloating()
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ abstract class Bar extends Baz
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parse(src string) node.Node {
|
func parse(src string) node.Node {
|
||||||
php7parser := php7.NewParser(bytes.NewBufferString(src), "test.php")
|
php7parser := php7.NewParser([]byte(src))
|
||||||
php7parser.WithFreeFloating()
|
php7parser.WithFreeFloating()
|
||||||
php7parser.Parse()
|
php7parser.Parse()
|
||||||
|
|
||||||
|
@ -425,13 +425,13 @@ func TestPrinterPrintScalarHeredoc(t *testing.T) {
|
|||||||
|
|
||||||
p := printer.NewPrinter(o)
|
p := printer.NewPrinter(o)
|
||||||
p.Print(&scalar.Heredoc{
|
p.Print(&scalar.Heredoc{
|
||||||
Label: "LBL",
|
Label: "<<<LBL\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{Value: "hello "},
|
&scalar.EncapsedStringPart{Value: "hello "},
|
||||||
&expr.Variable{
|
&expr.Variable{
|
||||||
VarName: &node.Identifier{Value: "var"},
|
VarName: &node.Identifier{Value: "var"},
|
||||||
},
|
},
|
||||||
&scalar.EncapsedStringPart{Value: " world"},
|
&scalar.EncapsedStringPart{Value: " world\n"},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -450,9 +450,9 @@ func TestPrinterPrintScalarNowdoc(t *testing.T) {
|
|||||||
|
|
||||||
p := printer.NewPrinter(o)
|
p := printer.NewPrinter(o)
|
||||||
p.Print(&scalar.Heredoc{
|
p.Print(&scalar.Heredoc{
|
||||||
Label: "'LBL'",
|
Label: "<<<'LBL'\n",
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
&scalar.EncapsedStringPart{Value: "hello world"},
|
&scalar.EncapsedStringPart{Value: "hello world\n"},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
312
scanner/lexer.go
312
scanner/lexer.go
@ -1,188 +1,232 @@
|
|||||||
// Package scanner transforms an input string into a stream of PHP tokens.
|
|
||||||
package scanner
|
package scanner
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
t "go/token"
|
"strings"
|
||||||
"io"
|
|
||||||
"unicode"
|
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/errors"
|
"github.com/z7zmey/php-parser/errors"
|
||||||
"github.com/z7zmey/php-parser/freefloating"
|
"github.com/z7zmey/php-parser/freefloating"
|
||||||
"github.com/z7zmey/php-parser/position"
|
"github.com/z7zmey/php-parser/position"
|
||||||
|
|
||||||
"github.com/cznic/golex/lex"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Allocate Character classes anywhere in [0x80, 0xFF].
|
type Scanner interface {
|
||||||
const (
|
Lex(lval Lval) int
|
||||||
classUnicodeLeter = iota + 0x80
|
ReturnTokenToPool(t *Token)
|
||||||
classUnicodeDigit
|
GetPhpDocComment() string
|
||||||
classUnicodeGraphic
|
SetPhpDocComment(string)
|
||||||
classOther
|
GetErrors() []*errors.Error
|
||||||
)
|
GetWithFreeFloating() bool
|
||||||
|
SetWithFreeFloating(bool)
|
||||||
|
AddError(e *errors.Error)
|
||||||
|
SetErrors(e []*errors.Error)
|
||||||
|
}
|
||||||
|
|
||||||
// Lval parsers yySymType must implement this interface
|
// Lval parsers yySymType must implement this interface
|
||||||
type Lval interface {
|
type Lval interface {
|
||||||
Token(tkn *Token)
|
Token(tkn *Token)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lexer php lexer
|
|
||||||
type Lexer struct {
|
type Lexer struct {
|
||||||
*lex.Lexer
|
data []byte
|
||||||
StateStack []int
|
p, pe, cs int
|
||||||
PhpDocComment string
|
ts, te, act int
|
||||||
FreeFloating []freefloating.String
|
stack []int
|
||||||
heredocLabel string
|
top int
|
||||||
tokenBytesBuf *bytes.Buffer
|
heredocLabel []byte
|
||||||
|
|
||||||
TokenPool *TokenPool
|
TokenPool *TokenPool
|
||||||
|
FreeFloating []freefloating.String
|
||||||
WithFreeFloating bool
|
WithFreeFloating bool
|
||||||
|
PhpDocComment string
|
||||||
lastToken *Token
|
lastToken *Token
|
||||||
Errors []*errors.Error
|
Errors []*errors.Error
|
||||||
|
NewLines NewLines
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rune2Class returns the rune integer id
|
func (l *Lexer) ReturnTokenToPool(t *Token) {
|
||||||
func Rune2Class(r rune) int {
|
l.TokenPool.Put(t)
|
||||||
if r >= 0 && r < 0x80 { // Keep ASCII as it is.
|
|
||||||
return int(r)
|
|
||||||
}
|
|
||||||
if unicode.IsLetter(r) {
|
|
||||||
return classUnicodeLeter
|
|
||||||
}
|
|
||||||
if unicode.IsDigit(r) {
|
|
||||||
return classUnicodeDigit
|
|
||||||
}
|
|
||||||
if unicode.IsGraphic(r) {
|
|
||||||
return classUnicodeGraphic
|
|
||||||
}
|
|
||||||
if r == lex.RuneEOF {
|
|
||||||
return int(r)
|
|
||||||
}
|
|
||||||
return classOther
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewLexer the Lexer constructor
|
func (l *Lexer) GetPhpDocComment() string {
|
||||||
func NewLexer(src io.Reader, fName string) *Lexer {
|
return l.PhpDocComment
|
||||||
file := t.NewFileSet().AddFile(fName, -1, 1<<31-3)
|
|
||||||
lx, err := lex.New(file, bufio.NewReader(src), lex.RuneClass(Rune2Class))
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return &Lexer{
|
|
||||||
Lexer: lx,
|
|
||||||
StateStack: []int{0},
|
|
||||||
PhpDocComment: "",
|
|
||||||
FreeFloating: nil,
|
|
||||||
heredocLabel: "",
|
|
||||||
tokenBytesBuf: &bytes.Buffer{},
|
|
||||||
TokenPool: &TokenPool{},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) Error(msg string) {
|
func (l *Lexer) SetPhpDocComment(s string) {
|
||||||
chars := l.Token()
|
l.PhpDocComment = s
|
||||||
firstChar := chars[0]
|
|
||||||
lastChar := chars[len(chars)-1]
|
|
||||||
|
|
||||||
pos := position.NewPosition(
|
|
||||||
l.File.Line(firstChar.Pos()),
|
|
||||||
l.File.Line(lastChar.Pos()),
|
|
||||||
int(firstChar.Pos()),
|
|
||||||
int(lastChar.Pos()),
|
|
||||||
)
|
|
||||||
|
|
||||||
l.Errors = append(l.Errors, errors.NewError(msg, pos))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) ungetChars(n int) []lex.Char {
|
func (l *Lexer) GetErrors() []*errors.Error {
|
||||||
l.Unget(l.Lookahead())
|
return l.Errors
|
||||||
|
|
||||||
chars := l.Token()
|
|
||||||
|
|
||||||
for i := 1; i <= n; i++ {
|
|
||||||
char := chars[len(chars)-i]
|
|
||||||
l.Unget(char)
|
|
||||||
}
|
|
||||||
|
|
||||||
buf := l.Token()
|
|
||||||
buf = buf[:len(buf)-n]
|
|
||||||
|
|
||||||
return buf
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) pushState(state int) {
|
func (l *Lexer) GetWithFreeFloating() bool {
|
||||||
l.StateStack = append(l.StateStack, state)
|
return l.WithFreeFloating
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) popState() {
|
func (l *Lexer) SetWithFreeFloating(b bool) {
|
||||||
len := len(l.StateStack)
|
l.WithFreeFloating = b
|
||||||
if len <= 1 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
l.StateStack = l.StateStack[:len-1]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) Begin(state int) {
|
func (l *Lexer) AddError(e *errors.Error) {
|
||||||
len := len(l.StateStack)
|
l.Errors = append(l.Errors, e)
|
||||||
l.StateStack = l.StateStack[:len-1]
|
|
||||||
l.StateStack = append(l.StateStack, state)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) getCurrentState() int {
|
func (l *Lexer) SetErrors(e []*errors.Error) {
|
||||||
return l.StateStack[len(l.StateStack)-1]
|
l.Errors = e
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) createToken(chars []lex.Char) *Token {
|
func (lex *Lexer) createToken(lval Lval) *Token {
|
||||||
firstChar := chars[0]
|
token := lex.TokenPool.Get()
|
||||||
lastChar := chars[len(chars)-1]
|
token.FreeFloating = lex.FreeFloating
|
||||||
|
token.Value = string(lex.data[lex.ts:lex.te])
|
||||||
|
|
||||||
token := l.TokenPool.Get()
|
token.StartLine = lex.NewLines.GetLine(lex.ts)
|
||||||
token.FreeFloating = l.FreeFloating
|
token.EndLine = lex.NewLines.GetLine(lex.te - 1)
|
||||||
token.Value = l.tokenString(chars)
|
token.StartPos = lex.ts
|
||||||
|
token.EndPos = lex.te
|
||||||
// fmt.Println(l.tokenString(chars))
|
|
||||||
|
|
||||||
token.StartLine = l.File.Line(firstChar.Pos())
|
|
||||||
token.EndLine = l.File.Line(lastChar.Pos())
|
|
||||||
token.StartPos = int(firstChar.Pos())
|
|
||||||
token.EndPos = int(lastChar.Pos())
|
|
||||||
|
|
||||||
|
lval.Token(token)
|
||||||
return token
|
return token
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *Lexer) tokenString(chars []lex.Char) string {
|
func (lex *Lexer) addFreeFloating(t freefloating.StringType, ps, pe int) {
|
||||||
l.tokenBytesBuf.Reset()
|
if !lex.WithFreeFloating {
|
||||||
|
|
||||||
for _, c := range chars {
|
|
||||||
l.tokenBytesBuf.WriteRune(c.Rune)
|
|
||||||
}
|
|
||||||
|
|
||||||
return string(l.tokenBytesBuf.Bytes())
|
|
||||||
}
|
|
||||||
|
|
||||||
// free-floating
|
|
||||||
|
|
||||||
func (l *Lexer) addFreeFloating(t freefloating.StringType, chars []lex.Char) {
|
|
||||||
if !l.WithFreeFloating {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
firstChar := chars[0]
|
|
||||||
lastChar := chars[len(chars)-1]
|
|
||||||
|
|
||||||
pos := position.NewPosition(
|
pos := position.NewPosition(
|
||||||
l.File.Line(firstChar.Pos()),
|
lex.NewLines.GetLine(lex.ts),
|
||||||
l.File.Line(lastChar.Pos()),
|
lex.NewLines.GetLine(lex.te-1),
|
||||||
int(firstChar.Pos()),
|
lex.ts,
|
||||||
int(lastChar.Pos()),
|
lex.te,
|
||||||
)
|
)
|
||||||
|
|
||||||
l.FreeFloating = append(l.FreeFloating, freefloating.String{
|
lex.FreeFloating = append(lex.FreeFloating, freefloating.String{
|
||||||
StringType: t,
|
StringType: t,
|
||||||
Value: l.tokenString(chars),
|
Value: string(lex.data[ps:pe]),
|
||||||
Position: pos,
|
Position: pos,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isNotStringVar() bool {
|
||||||
|
p := lex.p
|
||||||
|
if lex.data[p-1] == '\\' && lex.data[p-2] != '\\' {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(lex.data) < p+1 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if lex.data[p] == '$' && (lex.data[p+1] == '{' || isValidVarNameStart(lex.data[p+1])) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if lex.data[p] == '{' && lex.data[p+1] == '$' {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isNotStringEnd(s byte) bool {
|
||||||
|
p := lex.p
|
||||||
|
if lex.data[p-1] == '\\' && lex.data[p-2] != '\\' {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return !(lex.data[p] == s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isHeredocEnd(p int) bool {
|
||||||
|
if lex.data[p-1] != '\r' && lex.data[p-1] != '\n' {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
l := len(lex.heredocLabel)
|
||||||
|
if len(lex.data) < p+l {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(lex.data) > p+l && lex.data[p+l] != ';' && lex.data[p+l] != '\r' && lex.data[p+l] != '\n' {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(lex.data) > p+l+1 && lex.data[p+l] == ';' && lex.data[p+l+1] != '\r' && lex.data[p+l+1] != '\n' {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return bytes.Equal(lex.heredocLabel, lex.data[p:p+l])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isNotHeredocEnd(p int) bool {
|
||||||
|
return !lex.isHeredocEnd(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) growCallStack() {
|
||||||
|
if lex.top == len(lex.stack) {
|
||||||
|
lex.stack = append(lex.stack, 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isNotPhpCloseToken() bool {
|
||||||
|
if lex.p+1 == len(lex.data) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return lex.data[lex.p] != '?' || lex.data[lex.p+1] != '>'
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) isNotNewLine() bool {
|
||||||
|
if lex.data[lex.p] == '\n' && lex.data[lex.p-1] == '\r' {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return lex.data[lex.p-1] != '\n' && lex.data[lex.p-1] != '\r'
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) call(state int, fnext int) {
|
||||||
|
lex.growCallStack()
|
||||||
|
|
||||||
|
lex.stack[lex.top] = state
|
||||||
|
lex.top++
|
||||||
|
|
||||||
|
lex.p++
|
||||||
|
lex.cs = fnext
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) ret(n int) {
|
||||||
|
lex.top = lex.top - n
|
||||||
|
if lex.top < 0 {
|
||||||
|
lex.top = 0
|
||||||
|
}
|
||||||
|
lex.cs = lex.stack[lex.top]
|
||||||
|
lex.p++
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) ungetStr(s string) {
|
||||||
|
tokenStr := string(lex.data[lex.ts:lex.te])
|
||||||
|
if strings.HasSuffix(tokenStr, s) {
|
||||||
|
lex.ungetCnt(len(s))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) ungetCnt(n int) {
|
||||||
|
lex.p = lex.p - n
|
||||||
|
lex.te = lex.te - n
|
||||||
|
}
|
||||||
|
|
||||||
|
func (lex *Lexer) Error(msg string) {
|
||||||
|
pos := position.NewPosition(
|
||||||
|
lex.NewLines.GetLine(lex.ts),
|
||||||
|
lex.NewLines.GetLine(lex.te-1),
|
||||||
|
lex.ts,
|
||||||
|
lex.te,
|
||||||
|
)
|
||||||
|
|
||||||
|
lex.Errors = append(lex.Errors, errors.NewError(msg, pos))
|
||||||
|
}
|
||||||
|
|
||||||
|
func isValidVarNameStart(r byte) bool {
|
||||||
|
return r >= 'A' && r <= 'Z' || r == '_' || r >= 'a' && r <= 'z' || r >= '\u007f' && r <= 'ÿ'
|
||||||
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package scanner
|
package scanner
|
||||||
|
|
||||||
type LexerToken int
|
type TokenID int
|
||||||
|
|
||||||
//go:generate stringer -type=LexerToken -output ./lexer_tokens_string.go
|
//go:generate stringer -type=TokenID -output ./tokenid_string.go
|
||||||
const (
|
const (
|
||||||
T_INCLUDE LexerToken = iota + 57346
|
T_INCLUDE TokenID = iota + 57346
|
||||||
T_INCLUDE_ONCE
|
T_INCLUDE_ONCE
|
||||||
T_EXIT
|
T_EXIT
|
||||||
T_IF
|
T_IF
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
// Code generated by "stringer -type=LexerToken -output ./lexer_tokens_string.go"; DO NOT EDIT.
|
|
||||||
|
|
||||||
package scanner
|
|
||||||
|
|
||||||
import "strconv"
|
|
||||||
|
|
||||||
const _LexerToken_name = "T_INCLUDET_INCLUDE_ONCET_EXITT_IFT_LNUMBERT_DNUMBERT_STRINGT_STRING_VARNAMET_VARIABLET_NUM_STRINGT_INLINE_HTMLT_CHARACTERT_BAD_CHARACTERT_ENCAPSED_AND_WHITESPACET_CONSTANT_ENCAPSED_STRINGT_ECHOT_DOT_WHILET_ENDWHILET_FORT_ENDFORT_FOREACHT_ENDFOREACHT_DECLARET_ENDDECLARET_AST_SWITCHT_ENDSWITCHT_CASET_DEFAULTT_BREAKT_CONTINUET_GOTOT_FUNCTIONT_CONSTT_RETURNT_TRYT_CATCHT_FINALLYT_THROWT_USET_INSTEADOFT_GLOBALT_VART_UNSETT_ISSETT_EMPTYT_HALT_COMPILERT_CLASST_TRAITT_INTERFACET_EXTENDST_IMPLEMENTST_OBJECT_OPERATORT_DOUBLE_ARROWT_LISTT_ARRAYT_CALLABLET_CLASS_CT_TRAIT_CT_METHOD_CT_FUNC_CT_LINET_FILET_COMMENTT_DOC_COMMENTT_OPEN_TAGT_OPEN_TAG_WITH_ECHOT_CLOSE_TAGT_WHITESPACET_START_HEREDOCT_END_HEREDOCT_DOLLAR_OPEN_CURLY_BRACEST_CURLY_OPENT_PAAMAYIM_NEKUDOTAYIMT_NAMESPACET_NS_CT_DIRT_NS_SEPARATORT_ELLIPSIST_EVALT_REQUIRET_REQUIRE_ONCET_LOGICAL_ORT_LOGICAL_XORT_LOGICAL_ANDT_INSTANCEOFT_NEWT_CLONET_ELSEIFT_ELSET_ENDIFT_PRINTT_YIELDT_STATICT_ABSTRACTT_FINALT_PRIVATET_PROTECTEDT_PUBLICT_INCT_DECT_YIELD_FROMT_INT_CASTT_DOUBLE_CASTT_STRING_CASTT_ARRAY_CASTT_OBJECT_CASTT_BOOL_CASTT_UNSET_CASTT_COALESCET_SPACESHIPT_NOELSET_PLUS_EQUALT_MINUS_EQUALT_MUL_EQUALT_POW_EQUALT_DIV_EQUALT_CONCAT_EQUALT_MOD_EQUALT_AND_EQUALT_OR_EQUALT_XOR_EQUALT_SL_EQUALT_SR_EQUALT_BOOLEAN_ORT_BOOLEAN_ANDT_POWT_SLT_SRT_IS_IDENTICALT_IS_NOT_IDENTICALT_IS_EQUALT_IS_NOT_EQUALT_IS_SMALLER_OR_EQUALT_IS_GREATER_OR_EQUAL"
|
|
||||||
|
|
||||||
var _LexerToken_index = [...]uint16{0, 9, 23, 29, 33, 42, 51, 59, 75, 85, 97, 110, 121, 136, 161, 187, 193, 197, 204, 214, 219, 227, 236, 248, 257, 269, 273, 281, 292, 298, 307, 314, 324, 330, 340, 347, 355, 360, 367, 376, 383, 388, 399, 407, 412, 419, 426, 433, 448, 455, 462, 473, 482, 494, 511, 525, 531, 538, 548, 557, 566, 576, 584, 590, 596, 605, 618, 628, 648, 659, 671, 686, 699, 725, 737, 759, 770, 776, 781, 795, 805, 811, 820, 834, 846, 859, 872, 884, 889, 896, 904, 910, 917, 924, 931, 939, 949, 956, 965, 976, 984, 989, 994, 1006, 1016, 1029, 1042, 1054, 1067, 1078, 1090, 1100, 1111, 1119, 1131, 1144, 1155, 1166, 1177, 1191, 1202, 1213, 1223, 1234, 1244, 1254, 1266, 1279, 1284, 1288, 1292, 1306, 1324, 1334, 1348, 1369, 1390}
|
|
||||||
|
|
||||||
func (i LexerToken) String() string {
|
|
||||||
i -= 57346
|
|
||||||
if i < 0 || i >= LexerToken(len(_LexerToken_index)-1) {
|
|
||||||
return "LexerToken(" + strconv.FormatInt(int64(i+57346), 10) + ")"
|
|
||||||
}
|
|
||||||
return _LexerToken_name[_LexerToken_index[i]:_LexerToken_index[i+1]]
|
|
||||||
}
|
|
25
scanner/newline.go
Normal file
25
scanner/newline.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
package scanner
|
||||||
|
|
||||||
|
type NewLines struct {
|
||||||
|
data []int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (nl *NewLines) Append(p int) {
|
||||||
|
if len(nl.data) == 0 || nl.data[len(nl.data)-1] < p {
|
||||||
|
nl.data = append(nl.data, p)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (nl *NewLines) GetLine(p int) int {
|
||||||
|
line := len(nl.data) + 1
|
||||||
|
|
||||||
|
for i := len(nl.data) - 1; i >= 0; i-- {
|
||||||
|
if p < nl.data[i] {
|
||||||
|
line = i + 1
|
||||||
|
} else {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return line
|
||||||
|
}
|
30147
scanner/scanner.go
30147
scanner/scanner.go
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user