Parser test cases now print out line numbers

This commit is contained in:
Sasha Koshka 2022-08-20 15:45:01 -04:00
parent b878017b81
commit 3900bbe7bf

View File

@ -1,6 +1,7 @@
package parser package parser
import "io" import "io"
import "strings"
import "testing" import "testing"
// import "git.tebibyte.media/sashakoshka/arf/types" // import "git.tebibyte.media/sashakoshka/arf/types"
@ -10,9 +11,9 @@ func checkTree (modulePath string, correct string, test *testing.T) {
treeRunes := []rune(treeString) treeRunes := []rune(treeString)
test.Log("CORRECT TREE:") test.Log("CORRECT TREE:")
test.Log(correct) logWithLineNumbers(correct, test)
test.Log("WHAT WAS PARSED:") test.Log("WHAT WAS PARSED:")
test.Log(treeString) logWithLineNumbers(treeString, test)
if err != io.EOF && err != nil { if err != io.EOF && err != nil {
test.Log("returned error:") test.Log("returned error:")
@ -63,6 +64,15 @@ func checkTree (modulePath string, correct string, test *testing.T) {
} }
} }
func logWithLineNumbers (bigString string, test *testing.T) {
lines := strings.Split (
strings.Replace(bigString, "\t", " ", -1), "\n")
for index, line := range lines {
test.Logf("%3d | %s", index + 1, line)
}
}
func TestMeta (test *testing.T) { func TestMeta (test *testing.T) {
checkTree ("../tests/parser/meta", checkTree ("../tests/parser/meta",
`:arf `:arf