Add test case for skimming
This commit is contained in:
parent
2295e3bd32
commit
cc1eaa2c11
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestData (test *testing.T) {
|
func TestData (test *testing.T) {
|
||||||
checkTree ("../tests/parser/data",
|
checkTree ("../tests/parser/data", false,
|
||||||
`:arf
|
`:arf
|
||||||
---
|
---
|
||||||
data ro aInteger:Int 3202
|
data ro aInteger:Int 3202
|
||||||
|
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestEnum (test *testing.T) {
|
func TestEnum (test *testing.T) {
|
||||||
checkTree ("../tests/parser/enum",
|
checkTree ("../tests/parser/enum", false,
|
||||||
`:arf
|
`:arf
|
||||||
---
|
---
|
||||||
enum ro AffrontToGod:Int:4
|
enum ro AffrontToGod:Int:4
|
||||||
|
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestFunc (test *testing.T) {
|
func TestFunc (test *testing.T) {
|
||||||
checkTree ("../tests/parser/func",
|
checkTree ("../tests/parser/func", false,
|
||||||
`:arf
|
`:arf
|
||||||
---
|
---
|
||||||
func ro aBasicExternal
|
func ro aBasicExternal
|
||||||
|
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestMeta (test *testing.T) {
|
func TestMeta (test *testing.T) {
|
||||||
checkTree ("../tests/parser/meta",
|
checkTree ("../tests/parser/meta", false,
|
||||||
`:arf
|
`:arf
|
||||||
author "Sasha Koshka"
|
author "Sasha Koshka"
|
||||||
license "GPLv3"
|
license "GPLv3"
|
||||||
|
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestObjt (test *testing.T) {
|
func TestObjt (test *testing.T) {
|
||||||
checkTree ("../tests/parser/objt",
|
checkTree ("../tests/parser/objt", false,
|
||||||
`:arf
|
`:arf
|
||||||
---
|
---
|
||||||
objt ro Basic:Obj
|
objt ro Basic:Obj
|
||||||
|
27
parser/skim_test.go
Normal file
27
parser/skim_test.go
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package parser
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestSkim (test *testing.T) {
|
||||||
|
checkTree ("../tests/parser/skim", true,
|
||||||
|
`:arf
|
||||||
|
---
|
||||||
|
data ro aExternalData:Int
|
||||||
|
external
|
||||||
|
data ro bSingleValue:Int
|
||||||
|
external
|
||||||
|
data ro cNestedObject:Obj
|
||||||
|
external
|
||||||
|
data ro dUninitialized:Int:16:mut
|
||||||
|
external
|
||||||
|
data ro eIntegerArrayInitialized:Int:16:mut
|
||||||
|
external
|
||||||
|
func ro fComplexFunction
|
||||||
|
---
|
||||||
|
external
|
||||||
|
func ro gExternalFunction
|
||||||
|
> x:Int
|
||||||
|
---
|
||||||
|
external
|
||||||
|
`, test)
|
||||||
|
}
|
@ -6,11 +6,11 @@ import "strings"
|
|||||||
import "testing"
|
import "testing"
|
||||||
import "path/filepath"
|
import "path/filepath"
|
||||||
|
|
||||||
func checkTree (modulePath string, correct string, test *testing.T) {
|
func checkTree (modulePath string, skim bool, correct string, test *testing.T) {
|
||||||
cwd, _ := os.Getwd()
|
cwd, _ := os.Getwd()
|
||||||
modulePath = filepath.Join(cwd, modulePath)
|
modulePath = filepath.Join(cwd, modulePath)
|
||||||
println(modulePath)
|
println(modulePath)
|
||||||
tree, err := Fetch(modulePath, false)
|
tree, err := Fetch(modulePath, skim)
|
||||||
|
|
||||||
treeString := tree.ToString(0)
|
treeString := tree.ToString(0)
|
||||||
treeRunes := []rune(treeString)
|
treeRunes := []rune(treeString)
|
||||||
|
@ -3,7 +3,7 @@ package parser
|
|||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestType (test *testing.T) {
|
func TestType (test *testing.T) {
|
||||||
checkTree ("../tests/parser/type",
|
checkTree ("../tests/parser/type", false,
|
||||||
`:arf
|
`:arf
|
||||||
---
|
---
|
||||||
type ro Basic:Int
|
type ro Basic:Int
|
||||||
|
38
tests/parser/skim/main.arf
Normal file
38
tests/parser/skim/main.arf
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
:arf
|
||||||
|
---
|
||||||
|
|
||||||
|
data ro aExternalData:Int
|
||||||
|
external
|
||||||
|
|
||||||
|
data ro bSingleValue:Int 342
|
||||||
|
|
||||||
|
data ro cNestedObject:Obj
|
||||||
|
.this
|
||||||
|
.bird0 324
|
||||||
|
.bird1 "hello world"
|
||||||
|
.that
|
||||||
|
.bird2 123.8439
|
||||||
|
.bird3 9328.21348239
|
||||||
|
|
||||||
|
data ro dUninitialized:Int:16:mut
|
||||||
|
|
||||||
|
data ro eIntegerArrayInitialized:Int:16:mut
|
||||||
|
3948 293 293049 948 912
|
||||||
|
340 0 2304 0 4785 92
|
||||||
|
|
||||||
|
func ro fComplexFunction
|
||||||
|
---
|
||||||
|
= x:Int 3
|
||||||
|
= y:{Int} [loc x]
|
||||||
|
= z:Int:8
|
||||||
|
398 9 2309 983 -2387
|
||||||
|
478 555 123
|
||||||
|
= bird:Bird
|
||||||
|
.that
|
||||||
|
.whenYou 99999
|
||||||
|
.this 324
|
||||||
|
|
||||||
|
func ro gExternalFunction
|
||||||
|
> x:Int
|
||||||
|
---
|
||||||
|
external
|
Reference in New Issue
Block a user