| /******************************************************************************* |
| * Copyright (c) 2009 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.css.core.tests.model; |
| |
| import java.io.IOException; |
| |
| import org.eclipse.wst.css.core.internal.provisional.document.ICSSModel; |
| import org.eclipse.wst.css.core.tests.util.FileUtil; |
| import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; |
| import org.w3c.dom.css.CSSPrimitiveValue; |
| import org.w3c.dom.css.CSSRule; |
| import org.w3c.dom.css.CSSRuleList; |
| import org.w3c.dom.css.CSSStyleDeclaration; |
| import org.w3c.dom.css.CSSStyleRule; |
| import org.w3c.dom.css.CSSStyleSheet; |
| import org.w3c.dom.css.CSSValue; |
| |
| |
| public class CSSFontFamilyTest extends AbstractModelTest { |
| |
| private static final String FONT_FAMILY = "font-family"; |
| |
| public void testFontFamilies() throws IOException { |
| ICSSModel model = getModel(); |
| IStructuredDocument structuredDocument = model.getStructuredDocument(); |
| structuredDocument.set(FileUtil.createString("src/org/eclipse/wst/css/core/tests/testfiles", "CSSFontFamilyTest.css")); |
| |
| CSSStyleSheet sheet = (CSSStyleSheet) model.getDocument(); |
| CSSRuleList rules = sheet.getCssRules(); |
| assertEquals(4, rules.getLength()); |
| |
| // Rule 1: No whitespace |
| CSSRule rule; |
| CSSStyleDeclaration declaration; |
| CSSValue value; |
| |
| // Rule 1: No whitespace |
| rule = rules.item(0); |
| assertEquals(CSSRule.STYLE_RULE, rule.getType()); |
| assertTrue(rule instanceof CSSStyleRule); |
| |
| declaration = ((CSSStyleRule) rule).getStyle(); |
| value = declaration.getPropertyCSSValue(FONT_FAMILY); |
| checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "Courier")); |
| |
| // Rule 2: Single whitespace |
| rule = rules.item(1); |
| assertEquals(CSSRule.STYLE_RULE, rule.getType()); |
| assertTrue(rule instanceof CSSStyleRule); |
| |
| declaration = ((CSSStyleRule) rule).getStyle(); |
| value = declaration.getPropertyCSSValue(FONT_FAMILY); |
| checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "Courier New")); |
| |
| // Rule 3: In quotes |
| rule = rules.item(2); |
| assertEquals(CSSRule.STYLE_RULE, rule.getType()); |
| assertTrue(rule instanceof CSSStyleRule); |
| |
| declaration = ((CSSStyleRule) rule).getStyle(); |
| value = declaration.getPropertyCSSValue(FONT_FAMILY); |
| checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_STRING, "Courier New")); |
| |
| // Rule 4: Tabs and spaces all over |
| rule = rules.item(3); |
| assertEquals(CSSRule.STYLE_RULE, rule.getType()); |
| assertTrue(rule instanceof CSSStyleRule); |
| |
| declaration = ((CSSStyleRule) rule).getStyle(); |
| value = declaration.getPropertyCSSValue(FONT_FAMILY); |
| checkPrimitiveString(value, new PrimitiveString(CSSPrimitiveValue.CSS_IDENT, "Comic Sans")); |
| } |
| } |