diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-06-26 12:05:14 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-06-26 12:05:14 +0000 |
commit | 6d1f8a2e90f1b125fcd8839a0f9f5811c97fb8c9 (patch) | |
tree | 74d77677d8115ff6071b0d5621702dd8ab0fc3d1 /test | |
parent | 76b814183691e731a6d6e564fcc0e98ddac4adf3 (diff) | |
download | libcss-6d1f8a2e90f1b125fcd8839a0f9f5811c97fb8c9.tar.gz libcss-6d1f8a2e90f1b125fcd8839a0f9f5811c97fb8c9.tar.bz2 |
Correctly process unterminated strings.
svn path=/trunk/libcss/; revision=4455
Diffstat (limited to 'test')
-rw-r--r-- | test/data/lex/tests2.dat | 86 | ||||
-rw-r--r-- | test/lex-auto.c | 4 |
2 files changed, 89 insertions, 1 deletions
diff --git a/test/data/lex/tests2.dat b/test/data/lex/tests2.dat index 5548327..f13c25b 100644 --- a/test/data/lex/tests2.dat +++ b/test/data/lex/tests2.dat @@ -27,3 +27,89 @@ CHAR:} S EOF #reset + +#data +@import url("abcde +); +#expected +ATKEYWORD:import +S +FUNCTION:url +INVALID:abcde +S +CHAR:) +CHAR:; +S +EOF +#reset + +#data +body { + font-family: "Bitstream Vera Sans; +} +.one { width: 10em; } +#expected +IDENT:body +S +CHAR:{ +S +IDENT:font-family +CHAR:: +S +INVALID:Bitstream Vera Sans; +S +CHAR:} +S +CHAR:. +IDENT:one +S +CHAR:{ +S +IDENT:width +CHAR:: +S +DIMENSION:10em +CHAR:; +S +CHAR:} +S +EOF +#reset + +#data +body { font-family: "Bitstream Vera Sans; } +.two { width: 10em; } +#expected +IDENT:body +S +CHAR:{ +S +IDENT:font-family +CHAR:: +S +INVALID:Bitstream Vera Sans; } +S +CHAR:. +IDENT:two +S +CHAR:{ +S +IDENT:width +CHAR:: +S +DIMENSION:10em +CHAR:; +S +CHAR:} +S +EOF +#reset + +#data +"abcde +#expected +INVALID:abcde +S +EOF +#reset + diff --git a/test/lex-auto.c b/test/lex-auto.c index 82533d1..b75fbb0 100644 --- a/test/lex-auto.c +++ b/test/lex-auto.c @@ -204,7 +204,7 @@ const char *string_from_type(css_token_type type) { const char *names[] = { - "IDENT", "ATKEYWORD", "STRING", "HASH", "NUMBER", + "IDENT", "ATKEYWORD", "STRING", "INVALID", "HASH", "NUMBER", "PERCENTAGE", "DIMENSION", "URI", "UNICODE-RANGE", "CDO", "CDC", "S", "COMMENT", "FUNCTION", "INCLUDES", "DASHMATCH", "PREFIXMATCH", "SUFFIXMATCH", "SUBSTRINGMATCH", @@ -222,6 +222,8 @@ css_token_type string_to_type(const char *data, size_t len) return CSS_TOKEN_ATKEYWORD; else if (len == 6 && strncasecmp(data, "STRING", len) == 0) return CSS_TOKEN_STRING; + else if (len == 7 && strncasecmp(data, "INVALID", len) == 0) + return CSS_TOKEN_INVALID_STRING; else if (len == 4 && strncasecmp(data, "HASH", len) == 0) return CSS_TOKEN_HASH; else if (len == 6 && strncasecmp(data, "NUMBER", len) == 0) |