Overview
| Comment: | Added a test for parse.Defer |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b37c99769364b66e606daf864bf101f0 |
| User & Date: | spaskalev on 2015-03-19 20:40:13.272 |
| Other Links: | manifest | tags |
Context
|
2015-03-19
| ||
| 20:51 | Added parse.Digit and a test check-in: 61937abf4c user: spaskalev tags: trunk | |
| 20:40 | Added a test for parse.Defer check-in: b37c997693 user: spaskalev tags: trunk | |
| 20:36 | Added a string matching parser. check-in: 893c36d683 user: spaskalev tags: trunk | |
Changes
Modified src/0dev.org/parse/parse_test.go
from [b6485539c4]
to [eebf67dde7].
1 2 3 4 5 6 7 8 9 10 |
package parse
import (
"testing"
)
func TestAccept(t *testing.T) {
// Accept(0) will always match :)
p0 := Accept(0)
if n, r := p0(""); !n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
| | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package parse
import (
"testing"
)
func TestAccept(t *testing.T) {
// Accept(0) will always match :)
p0 := Accept(0)
if n, r := p0(""); !n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Accept empty match test", n)
}
// Test with a non-zero amount of bytes
p := Accept(1)
if n, r := p(""); n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Accept no-match test", n)
}
if n, r := p("a"); !n.Matched || n.Content != "a" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Accept match test", n)
}
}
func TestK(t *testing.T) {
p := Accept(1)
k := K(p)
if n, r := k("aaa"); !n.Matched || n.Content != "aaa" || n.Nodes == nil || r != "" {
|
| ︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
if n, r := a(""); !n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Any match test", n)
}
if n, r := a("aa"); !n.Matched || n.Content != "a" || n.Nodes != nil || r != "a" {
t.Error("Invalid result for Any match test", n)
}
}
func TestString(t *testing.T) {
s := String("aa")
if n, r := s("aa"); !n.Matched || n.Content != "aa" || n.Nodes != nil || r != "" {
t.Error("Invalid result for String match test", n)
}
if n, r := s("ab"); n.Matched || n.Content != "" || n.Nodes == nil || r != "ab" {
t.Error("Invalid result for String no-match test", n, r, len(r))
}
}
| > > > > > > > > > > > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
if n, r := a(""); !n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Any match test", n)
}
if n, r := a("aa"); !n.Matched || n.Content != "a" || n.Nodes != nil || r != "a" {
t.Error("Invalid result for Any match test", n)
}
}
func TestDefer(t *testing.T) {
d, dp := Defer()
*dp = Accept(1)
if n, r := d(""); n.Matched || n.Content != "" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Defer no-match test", n)
}
if n, r := d("a"); !n.Matched || n.Content != "a" || n.Nodes != nil || r != "" {
t.Error("Invalid result for Defer match test", n)
}
}
func TestString(t *testing.T) {
s := String("aa")
if n, r := s("aa"); !n.Matched || n.Content != "aa" || n.Nodes != nil || r != "" {
t.Error("Invalid result for String match test", n)
}
if n, r := s("ab"); n.Matched || n.Content != "" || n.Nodes == nil || r != "ab" {
t.Error("Invalid result for String no-match test", n, r, len(r))
}
}
|