Parse complex rules
diff --git a/parser_test.go b/parser_test.go
index 140ae1e..bdc94fb 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -47,8 +47,7 @@
 		}
 		if got, want := args, tc.args; !reflect.DeepEqual(got, want) {
 			t.Errorf(`parseExpr(%q)=%q, _, _; want %q, _, _`, tc.in, got, want)
-		}
-		if got, want := tc.in[rest:], tc.rest; got != want {
+		} else if got, want := tc.in[rest:], tc.rest; got != want {
 			t.Errorf(`parseExpr(%q)=_, %q, _; want _, %q, _`, tc.in, got, want)
 		}
 	}