aboutsummaryrefslogtreecommitdiff
path: root/lexer_test.go
diff options
context:
space:
mode:
authorFelix Hanley <felix@userspace.com.au>2018-11-20 13:33:48 +0000
committerFelix Hanley <felix@userspace.com.au>2018-11-20 13:36:23 +0000
commit2b437d409dd576061db1bb1f92dc5ee159568a7e (patch)
tree9f79c607b5e0d704df9be70e95a59abd95ae42aa /lexer_test.go
parent3116a9fa1d92fbf8fa1f9d7295d2bc2bf72ef9f3 (diff)
downloadlexer-2b437d409dd576061db1bb1f92dc5ee159568a7e.tar.gz
lexer-2b437d409dd576061db1bb1f92dc5ee159568a7e.tar.bz2
Clean up tests
Diffstat (limited to 'lexer_test.go')
-rw-r--r--lexer_test.go76
1 files changed, 29 insertions, 47 deletions
diff --git a/lexer_test.go b/lexer_test.go
index 25da17f..1795f7b 100644
--- a/lexer_test.go
+++ b/lexer_test.go
@@ -78,13 +78,11 @@ func TestMovingThroughString(t *testing.T) {
for _, test := range run {
r := l.Next()
if r != test.r {
- t.Errorf("Expected %q but got %q", test.r, r)
- return
+ t.Fatalf("Expected %q but got %q", test.r, r)
}
if l.Current() != test.s {
- t.Errorf("Expected %q but got %q", test.s, l.Current())
- return
+ t.Fatalf("Expected %q but got %q", test.s, l.Current())
}
}
}
@@ -94,29 +92,29 @@ func TestNumbers(t *testing.T) {
l.Start()
tok, done := l.NextToken()
if done {
- t.Error("Expected a token, but lexer was finished")
- return
+ t.Fatal("Expected a token but lexer finished")
}
if tok.Type != NumberToken {
- t.Errorf("Expected a %v but got %v", NumberToken, tok.Type)
- return
+ t.Fatalf("Expected a %v but got %v", NumberToken, tok.Type)
}
if tok.Value != "123" {
- t.Errorf("Expected %q but got %q", "123", tok.Value)
- return
+ t.Fatalf("Expected %q but got %q", "123", tok.Value)
+ }
+
+ s := "[0] 123"
+ if tok.String() != s {
+ t.Fatalf("Expected %q but got %q", s, tok.String())
}
tok, done = l.NextToken()
if !done {
- t.Error("Expected the lexer to be done, but it wasn't.")
- return
+ t.Fatal("Expected done but it wasn't.")
}
if tok != nil {
- t.Errorf("Expected a nil token, but got %v", *tok)
- return
+ t.Fatalf("Expected a nil token but got %v", *tok)
}
}
@@ -128,18 +126,15 @@ func TestNewlines(t *testing.T) {
l.Start()
tok, done := l.NextToken()
if done {
- t.Error("Expected the lexer to not be done, but it was.")
- return
+ t.Fatal("Expected done, but it wasn't.")
}
if tok.Type != NumberToken {
- t.Errorf("Expected a number token but got %v", *tok)
- return
+ t.Fatalf("Expected a number token but got %v", *tok)
}
if tok.Value != "123" {
- t.Errorf("Expected 123 but got %q", tok.Value)
- return
+ t.Fatalf("Expected 123 but got %q", tok.Value)
}
if tok.Line != 1 {
@@ -148,18 +143,15 @@ func TestNewlines(t *testing.T) {
tok, done = l.NextToken()
if done {
- t.Error("Expected the lexer to not be done, but it was.")
- return
+ t.Fatal("Expected not done, but it was.")
}
if tok.Type != NumberToken {
- t.Errorf("Expected a number token but got %v", *tok)
- return
+ t.Fatalf("Expected a number token but got %v", *tok)
}
if tok.Value != "456" {
- t.Errorf("Expected 456 but got %q", tok.Value)
- return
+ t.Fatalf("Expected 456 but got %q", tok.Value)
}
if tok.Line != 2 {
@@ -171,19 +163,16 @@ func TestBackup(t *testing.T) {
l := New("1", nil)
r := l.Next()
if r != '1' {
- t.Errorf("Expected %q but got %q", '1', r)
- return
+ t.Fatalf("Expected %q but got %q", '1', r)
}
if l.Current() != "1" {
- t.Errorf("Expected %q but got %q", "1", l.Current())
- return
+ t.Fatalf("Expected %q but got %q", "1", l.Current())
}
l.Backup()
if l.Current() != "" {
- t.Errorf("Expected empty string, but got %q", l.Current())
- return
+ t.Fatalf("Expected empty string but got %q", l.Current())
}
}
@@ -198,7 +187,7 @@ func TestWhitespace(t *testing.T) {
}
if tok.Type != NumberToken {
- t.Fatalf("Expected number token, but got %v", *tok)
+ t.Fatalf("Expected number token but got %v", *tok)
}
}
@@ -221,30 +210,25 @@ func TestMultipleTokens(t *testing.T) {
for _, c := range cases {
tok, done := l.NextToken()
if done {
- t.Error("Expected there to be more tokens, but there weren't")
- return
+ t.Fatal("Expected there to be more tokens but there weren't")
}
if c.tokType != tok.Type {
- t.Errorf("Expected token type %v but got %v", c.tokType, tok.Type)
- return
+ t.Fatalf("Expected token type %v but got %v", c.tokType, tok.Type)
}
if c.val != tok.Value {
- t.Errorf("Expected %q but got %q", c.val, tok.Value)
- return
+ t.Fatalf("Expected %q but got %q", c.val, tok.Value)
}
}
tok, done := l.NextToken()
if !done {
- t.Error("Expected the lexer to be done, but it wasn't.")
- return
+ t.Fatal("Expected the lexer to be done but it wasn't.")
}
if tok != nil {
- t.Errorf("Did not expect a token, but got %v", *tok)
- return
+ t.Fatalf("Did not expect a token, but got %v", *tok)
}
}
@@ -254,12 +238,10 @@ func TestError(t *testing.T) {
tok, done := l.NextToken()
if done {
- t.Error("Expected token to be !done, but it was.")
- return
+ t.Fatal("Expected token to be !done but it was.")
}
if tok.Type != ErrorToken {
- t.Errorf("Expected error token, but got %v", *tok)
- return
+ t.Fatalf("Expected error token but got %v", *tok)
}
}