public void testCommaSeparatedList() throws Exception { CSSValue value = engine.parsePropertyValue("34, 34, 34"); assertTrue(value instanceof CSSValueList); CSSValueList list = (CSSValueList) value; assertEquals(list.getCssValueType(), CSSValue.CSS_VALUE_LIST); assertEquals(5, list.getLength()); // FIXME: see comments in bug 278139 for (int i = 0; i < list.getLength(); i++) { assertTrue(list.item(i) instanceof Measure); } assertEquals(CSSPrimitiveValue.CSS_NUMBER, ((Measure) list.item(0)).getPrimitiveType()); assertEquals(CSSPrimitiveValue.CSS_CUSTOM, ((Measure) list.item(1)).getPrimitiveType()); assertEquals(CSSPrimitiveValue.CSS_NUMBER, ((Measure) list.item(2)).getPrimitiveType()); assertEquals(CSSPrimitiveValue.CSS_CUSTOM, ((Measure) list.item(3)).getPrimitiveType()); assertEquals(CSSPrimitiveValue.CSS_NUMBER, ((Measure) list.item(4)).getPrimitiveType()); // use String#matches() as there may be white-space differences assertTrue(value.getCssText().matches("34\\s*,\\s*34\\s*,\\s*34")); }
public void _testInsertText1() throws IOException { ICSSModel model = getModel(); IStructuredDocument structuredDocument = model.getStructuredDocument(); structuredDocument.set( FileUtil.createString( "src/org/eclipse/wst/css/core/tests/testfiles", "CSSFontFaceRuleTest.css")); CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument(); CSSRuleList ruleList = sheet.getCssRules(); assertEquals(3, ruleList.getLength()); CSSRule rule; CSSStyleDeclaration declaration; CSSValue value; CSSValueList valueList; // rule 1 rule = ruleList.item(0); assertEquals(CSSRule.FONT_FACE_RULE, rule.getType()); assertTrue(rule instanceof CSSFontFaceRule); declaration = ((CSSFontFaceRule) rule).getStyle(); assertEquals(4, declaration.getLength()); value = declaration.getPropertyCSSValue("font-family"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_STRING, "Swiss 721")); value = declaration.getPropertyCSSValue("src"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_URI, "swiss721blk.pfr")); value = declaration.getPropertyCSSValue("font-style"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(3, valueList.getLength()); checkPrimitiveString( valueList.item(0), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "normal")); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(2), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "italic")); value = declaration.getPropertyCSSValue("font-weight"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(3, valueList.getLength()); checkPrimitiveNumber( valueList.item(0), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 800)); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(2), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 900)); }
public void _testInsertText3() throws IOException { ICSSModel model = getModel(); IStructuredDocument structuredDocument = model.getStructuredDocument(); structuredDocument.set( FileUtil.createString( "src/org/eclipse/wst/css/core/tests/testfiles", "CSSFontFaceRuleTest.css")); CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument(); CSSRuleList ruleList = sheet.getCssRules(); assertEquals(3, ruleList.getLength()); CSSRule rule; CSSStyleDeclaration declaration; CSSValue value; CSSValueList valueList; // rule 3 rule = ruleList.item(2); assertEquals(CSSRule.FONT_FACE_RULE, rule.getType()); assertTrue(rule instanceof CSSFontFaceRule); declaration = ((CSSFontFaceRule) rule).getStyle(); assertEquals(5, declaration.getLength()); value = declaration.getPropertyCSSValue("src"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(4, valueList.getLength()); checkPrimitiveString( valueList.item(0), new PrimitiveString(ICSSPrimitiveValue.CSS_LOCAL, "Alabama Italic")); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(2), new PrimitiveString(CSSPrimitiveValue.CSS_URI, "http://www.fonts.org/A/alabama-italic")); checkPrimitiveString( valueList.item(3), new PrimitiveString(ICSSPrimitiveValue.CSS_FORMAT, "truetype")); value = declaration.getPropertyCSSValue("panose-1"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(10, valueList.getLength()); checkPrimitiveNumber(valueList.item(0), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 2)); checkPrimitiveNumber(valueList.item(1), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 4)); checkPrimitiveNumber(valueList.item(2), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 5)); checkPrimitiveNumber(valueList.item(3), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 2)); checkPrimitiveNumber(valueList.item(4), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 5)); checkPrimitiveNumber(valueList.item(5), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 4)); checkPrimitiveNumber(valueList.item(6), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 5)); checkPrimitiveNumber(valueList.item(7), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 9)); checkPrimitiveNumber(valueList.item(8), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 3)); checkPrimitiveNumber(valueList.item(9), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 3)); value = declaration.getPropertyCSSValue("font-family"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(3, valueList.getLength()); checkPrimitiveString( valueList.item(0), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "Alabama")); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(2), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "serif")); value = declaration.getPropertyCSSValue("font-weight"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(5, valueList.getLength()); checkPrimitiveNumber( valueList.item(0), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 300)); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(2), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 400)); checkPrimitiveString(valueList.item(3), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(4), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 500)); value = declaration.getPropertyCSSValue("font-style"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(3, valueList.getLength()); checkPrimitiveString( valueList.item(0), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "italic")); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(2), new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "oblique")); }
public void _testInsertText2() throws IOException { ICSSModel model = getModel(); IStructuredDocument structuredDocument = model.getStructuredDocument(); structuredDocument.set( FileUtil.createString( "src/org/eclipse/wst/css/core/tests/testfiles", "CSSFontFaceRuleTest.css")); CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument(); CSSRuleList ruleList = sheet.getCssRules(); assertEquals(3, ruleList.getLength()); CSSRule rule; CSSStyleDeclaration declaration; CSSValue value; CSSValueList valueList; // rule 2 rule = ruleList.item(1); assertEquals(CSSRule.FONT_FACE_RULE, rule.getType()); assertTrue(rule instanceof CSSFontFaceRule); declaration = ((CSSFontFaceRule) rule).getStyle(); assertEquals(6, declaration.getLength()); value = declaration.getPropertyCSSValue("src"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(9, valueList.getLength()); checkPrimitiveString( valueList.item(0), new PrimitiveString(ICSSPrimitiveValue.CSS_LOCAL, "Palatino")); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(2), new PrimitiveString(ICSSPrimitiveValue.CSS_LOCAL, "Times New Roman")); checkPrimitiveString(valueList.item(3), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(4), new PrimitiveString(ICSSPrimitiveValue.CSS_LOCAL, "New York")); checkPrimitiveString(valueList.item(5), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(6), new PrimitiveString(ICSSPrimitiveValue.CSS_LOCAL, "Utopia")); checkPrimitiveString(valueList.item(7), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveString( valueList.item(8), new PrimitiveString(CSSPrimitiveValue.CSS_URI, "http://somewhere/free/font")); value = declaration.getPropertyCSSValue("font-family"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "serif")); value = declaration.getPropertyCSSValue("font-weight"); assertTrue(value instanceof CSSValueList); valueList = (CSSValueList) value; assertEquals(9, valueList.getLength()); checkPrimitiveNumber( valueList.item(0), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 100)); checkPrimitiveString(valueList.item(1), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(2), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 200)); checkPrimitiveString(valueList.item(3), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(4), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 300)); checkPrimitiveString(valueList.item(5), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(6), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 400)); checkPrimitiveString(valueList.item(7), new PrimitiveString(ICSSPrimitiveValue.CSS_COMMA, ",")); checkPrimitiveNumber( valueList.item(8), new PrimitiveNumber(ICSSPrimitiveValue.CSS_INTEGER, 500)); value = declaration.getPropertyCSSValue("font-style"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "normal")); value = declaration.getPropertyCSSValue("font-variant"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "normal")); value = declaration.getPropertyCSSValue("font-size"); checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "all")); }