From 6d1f8a2e90f1b125fcd8839a0f9f5811c97fb8c9 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Thu, 26 Jun 2008 12:05:14 +0000 Subject: Correctly process unterminated strings. svn path=/trunk/libcss/; revision=4455 --- test/data/lex/tests2.dat | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ test/lex-auto.c | 4 ++- 2 files changed, 89 insertions(+), 1 deletion(-) (limited to 'test') 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) -- cgit v1.2.3