Merge pull request #4 from chris-ramon/malformed-syntax-improvement
malformed syntax improvement
diff --git a/parser/parser.go b/parser/parser.go
index a0132ea..b679210 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -286,9 +286,8 @@
// finished
break
} else if parser.tokenChar(";") {
- parser.shiftToken()
- // finished
- break
+ errMsg := fmt.Sprintf("Unexpected ; character: %s", parser.nextToken().String())
+ return result, errors.New(errMsg)
} else {
// parse prelude
prelude, err, tokens := parser.parsePrelude()
diff --git a/parser/parser_test.go b/parser/parser_test.go
index 89d0ecc..e54a1c7 100644
--- a/parser/parser_test.go
+++ b/parser/parser_test.go
@@ -861,22 +861,8 @@
func TestInfiniteLoop(t *testing.T) {
input := "{;}"
-
- expectedRule := &css.Rule{
- Kind: css.QualifiedRule,
- Prelude: "",
- Selectors: []*css.Selector{
- {
- Value: "",
- Line: 0,
- Column: 0,
- },
- },
- Declarations: []*css.Declaration{},
+ _, err := Parse(input)
+ if err == nil {
+ t.Fatal("Expected an error got nil")
}
-
- stylesheet := MustParse(t, input, 1)
- rule := stylesheet.Rules[0]
-
- MustEqualRule(t, rule, expectedRule)
}