use of org.w3c.dom.css.CSSStyleSheet in project webtools.sourceediting by eclipse.
the class CSSPageRuleTest method testInsertText2.
public void testInsertText2() throws IOException {
ICSSModel model = getModel();
IStructuredDocument structuredDocument = model.getStructuredDocument();
structuredDocument.set(FileUtil.createString("src/org/eclipse/wst/css/core/tests/testfiles", "CSSPageRuleTest.css"));
CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument();
CSSRuleList ruleList = sheet.getCssRules();
assertEquals(6, ruleList.getLength());
CSSRule rule;
CSSStyleDeclaration declaration;
CSSValue value;
// rule 2
rule = ruleList.item(1);
assertEquals(CSSRule.PAGE_RULE, rule.getType());
assertTrue(rule instanceof CSSPageRule);
declaration = ((CSSPageRule) rule).getStyle();
assertEquals(2, declaration.getLength());
value = declaration.getPropertyCSSValue("size");
checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "auto"));
value = declaration.getPropertyCSSValue("margin");
checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_PERCENTAGE, 10));
}
use of org.w3c.dom.css.CSSStyleSheet in project webtools.sourceediting by eclipse.
the class CSSPageRuleTest method testInsertText3.
public void testInsertText3() throws IOException {
ICSSModel model = getModel();
IStructuredDocument structuredDocument = model.getStructuredDocument();
structuredDocument.set(FileUtil.createString("src/org/eclipse/wst/css/core/tests/testfiles", "CSSPageRuleTest.css"));
CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument();
CSSRuleList ruleList = sheet.getCssRules();
assertEquals(6, ruleList.getLength());
CSSRule rule;
CSSStyleDeclaration declaration;
CSSValue value;
// rule 3
rule = ruleList.item(2);
assertEquals(CSSRule.PAGE_RULE, rule.getType());
assertTrue(rule instanceof CSSPageRule);
assertEquals(":left", ((CSSPageRule) rule).getSelectorText());
declaration = ((CSSPageRule) rule).getStyle();
assertEquals(2, declaration.getLength());
value = declaration.getPropertyCSSValue("margin-left");
checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_CM, 4));
value = declaration.getPropertyCSSValue("margin-right");
checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_CM, 3));
}
use of org.w3c.dom.css.CSSStyleSheet in project webtools.sourceediting by eclipse.
the class StyleTest method testModel.
public void testModel() {
// new HTMLModelImpl();
IDOMModel model = createHTMLModel();
Document document = model.getDocument();
Element style = document.createElement("STYLE");
Text text = document.createTextNode("BODY { color : red; } P { color : green; } B { color : blue; }");
style.appendChild(text);
document.appendChild(style);
printSource(model);
printTree(model);
DocumentStyle ds = (DocumentStyle) document;
StyleSheetList ssl = ds.getStyleSheets();
if (ssl.getLength() > 0) {
CSSStyleSheet ss = (CSSStyleSheet) ssl.item(0);
ss.deleteRule(1);
}
printSource(model);
printTree(model);
LinkStyle ls = (LinkStyle) style;
CSSStyleSheet ss2 = (CSSStyleSheet) ls.getSheet();
if (ss2 != null) {
ss2.deleteRule(0);
}
printSource(model);
printTree(model);
saveAndCompareTestResults();
}
use of org.w3c.dom.css.CSSStyleSheet in project webtools.sourceediting by eclipse.
the class CSSStyleSheetImpl method getRules.
private void getRules(CSSRuleListImpl list, ICSSStyleSheet sheet, Stack refs) {
String href = sheet.getHref();
if (href != null) {
// Avoid circular @imports
if (refs.contains(href))
return;
refs.push(href);
}
boolean acceptImports = true;
for (ICSSNode node = sheet.getFirstChild(); node != null; node = node.getNextSibling()) {
// @import rules must precede all other rules, according to the spec
if (node.getNodeType() == ICSSNode.IMPORTRULE_NODE && acceptImports) {
CSSStyleSheet importSheet = ((ICSSImportRule) node).getStyleSheet();
if (importSheet instanceof ICSSStyleSheet)
getRules(list, (ICSSStyleSheet) importSheet, refs);
else
list.appendNode(node);
} else // Add the rule to the list
if (node instanceof CSSRule) {
list.appendNode(node);
if (node.getNodeType() != ICSSNode.CHARSETRULE_NODE)
acceptImports = false;
}
}
if (href != null)
refs.pop();
}
use of org.w3c.dom.css.CSSStyleSheet in project webtools.sourceediting by eclipse.
the class CSSFontFaceRuleTest method _testInsertText2.
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"));
}
Aggregations