treerack/sexpr_test.go

98 lines
1.6 KiB
Go
Raw Permalink Normal View History

2017-07-15 21:49:08 +02:00
package treerack
2017-06-25 17:51:08 +02:00
import "testing"
func TestSExpr(t *testing.T) {
2017-11-05 04:25:42 +01:00
runTestsFile(t, "examples/sexpr.treerack", []testItem{{
2017-10-27 17:25:20 +02:00
title: "number",
text: "42",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "number",
}},
ignorePosition: true,
}, {
2017-10-27 17:25:20 +02:00
title: "string",
text: "\"foo\"",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "string",
}},
ignorePosition: true,
}, {
2017-10-27 17:25:20 +02:00
title: "symbol",
text: "foo",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "symbol",
}},
ignorePosition: true,
}, {
2017-10-27 17:25:20 +02:00
title: "nil",
text: "()",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "list",
}},
ignorePosition: true,
}, {
2017-10-27 17:25:20 +02:00
title: "list",
text: "(foo bar baz)",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}},
}},
ignorePosition: true,
}, {
2017-10-27 17:25:20 +02:00
title: "embedded list",
text: "(foo (bar (baz)) qux)",
2017-06-25 17:51:08 +02:00
nodes: []*Node{{
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}},
}},
}, {
Name: "symbol",
}},
}},
ignorePosition: true,
2017-10-29 01:14:31 +02:00
}, {
title: "comment and expression",
text: `; some comment
(some expression)`,
ignorePosition: true,
nodes: []*Node{{
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}, {
Name: "symbol",
}},
}},
}, {
title: "empty comment and expression",
text: `;
(some expression)`,
ignorePosition: true,
nodes: []*Node{{
Name: "list",
Nodes: []*Node{{
Name: "symbol",
}, {
Name: "symbol",
}},
}},
2017-06-25 17:51:08 +02:00
}})
}