30 lines
746 B
Go
30 lines
746 B
Go
package schema
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestParser(t *testing.T) {
|
|
testSchema(t, "(test)\n ; test comment"+
|
|
"(test a)\n"+
|
|
"(test a b)\n"+
|
|
"(test \"a\" \"b\")\n"+
|
|
"(+ 0b1010 -0xDEAD_BEEF)\n"+
|
|
"(. a b c d e f g)\n"+
|
|
"(test (test1 \"hi\") (test2 \"hi 2\"))\n"+
|
|
"(test (. \"awa\" `awawa` \"awawawa\" \"awawawawa\"))\n"+
|
|
"(test \n `new\nline`)\n"+
|
|
"(test (. 0x0.1Fp1 '\\t' 2i '\\u6767' '\\U0001F600' '\\x23' '\\043'))\n")
|
|
}
|
|
func TestInterpretString(t *testing.T) {
|
|
testSchema(t, "(test \"\\\" \\\\v \\u6767 \\U0001F600 \\x23 \\043 \" `\\\\ \\t \\u6767 \\U0001F600 \\x23 \\043`)")
|
|
}
|
|
func testSchema(t *testing.T, test string) {
|
|
schema, err := CreateSchema(test)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
fmt.Println(schema)
|
|
}
|