| /***************************************************************************** |
| * Copyright (c) 2004 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 org.w3c.dom.DOMException; |
| import org.w3c.dom.css.CSSRule; |
| import org.w3c.dom.css.CSSRuleList; |
| import org.w3c.dom.css.CSSStyleSheet; |
| |
| |
| public class CSSStyleSheetTest extends AbstractModelTest { |
| private final static String RULE_H1 = "H1 { color : red; }"; |
| private final static String RULE_H2 = "H2 { color : red; }"; |
| private final static String RULE_H3 = "H3 { color : red; }"; |
| |
| public void testInsertRule() { |
| CSSStyleSheet sheet = getStyleSheet(); |
| |
| assertEquals(0, sheet.insertRule(RULE_H3, 0)); |
| assertEquals(0, sheet.insertRule(RULE_H1, 0)); |
| assertEquals(1, sheet.insertRule(RULE_H2, 1)); |
| |
| CSSRuleList ruleList = sheet.getCssRules(); |
| CSSRule rule; |
| |
| rule = ruleList.item(0); |
| assertEquals(RULE_H1, rule.getCssText()); |
| rule = ruleList.item(1); |
| assertEquals(RULE_H2, rule.getCssText()); |
| rule = ruleList.item(2); |
| assertEquals(RULE_H3, rule.getCssText()); |
| |
| } |
| |
| public void testDeleteRule() { |
| CSSStyleSheet sheet = getStyleSheet(); |
| |
| assertEquals(0, sheet.insertRule(RULE_H3, 0)); |
| assertEquals(0, sheet.insertRule(RULE_H1, 0)); |
| assertEquals(1, sheet.insertRule(RULE_H2, 1)); |
| |
| CSSRuleList ruleList; |
| CSSRule rule; |
| |
| sheet.deleteRule(1); |
| ruleList = sheet.getCssRules(); |
| |
| rule = ruleList.item(0); |
| assertEquals(RULE_H1, rule.getCssText()); |
| rule = ruleList.item(1); |
| assertEquals(RULE_H3, rule.getCssText()); |
| |
| sheet.deleteRule(1); |
| ruleList = sheet.getCssRules(); |
| |
| rule = ruleList.item(0); |
| assertEquals(RULE_H1, rule.getCssText()); |
| |
| sheet.deleteRule(0); |
| |
| try { |
| sheet.deleteRule(0); |
| } |
| catch (DOMException e) { |
| assertEquals(DOMException.INDEX_SIZE_ERR, e.code); |
| } |
| } |
| } |