Sfoglia il codice sorgente

assira.ui: CSS: support for 'strings'

Ranides Atterwim 1 anno fa
parent
commit
cbab4fa687

+ 6 - 2
assira.ui/src/main/antlr4/imports/BasePrimitives.g4

@@ -30,7 +30,8 @@ fragment DIGIT_NZ : [1-9] ;
 fragment DIGIT_Z : '0' ;
 fragment DIGIT_HEX: [0-9a-fA-F] ;
 
-fragment CHAR_QUOTE: '"';
+fragment CHAR_DQUOTE: '"';
+fragment CHAR_SQUOTE: '\'';
 fragment CHAR_WS: [ \t\r\n,?!.;]+;
 
 
@@ -45,7 +46,10 @@ GT   : CHAR_WS* '>';
 HP   : '-';
 FSLASH   : '/';
 BSLASH   : '\\';
-TEXT: CHAR_QUOTE .*? CHAR_QUOTE;
+TEXT
+    : CHAR_SQUOTE .*? CHAR_SQUOTE
+    | CHAR_DQUOTE .*? CHAR_DQUOTE
+    ;
 
 CS    : CHAR_WS* ',' CHAR_WS*;
 DOT   : CHAR_WS* '.' CHAR_WS*;

+ 1 - 0
assira.ui/src/test/java/net/ranides/assira/ui/parsers/ParseCssFontTest.java

@@ -55,6 +55,7 @@ public class ParseCssFontTest {
         assertEquals(new Font("Verdana", Font.ITALIC, 16), ParseCssFont.font("oblique 12pt Verdana"));
         assertEquals(new Font("Verdana", Font.PLAIN, 16), ParseCssFont.font("12pt Verdana"));
         assertEquals(new Font("Arial Black", Font.PLAIN, 16), ParseCssFont.font("12pt \"Arial Black\""));
+        assertEquals(new Font("Arial Black", Font.PLAIN, 16), ParseCssFont.font("12pt 'Arial Black'"));
 
         assertEquals(new Font("Arial Black", Font.PLAIN, 32), ParseCssFont.font("24pt \"Arial Black\", sans-serif"));