/******************************************************************************* * Copyright (c) 2010 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.util.HashSet; import java.util.Iterator; import java.util.Set; import junit.framework.TestCase; import org.eclipse.wst.css.core.internal.contentmodel.IValID; import org.eclipse.wst.css.core.internal.contentmodel.PropCMProperty; import org.eclipse.wst.css.core.internal.metamodel.CSSMMNode; import org.eclipse.wst.css.core.internal.metamodel.CSSMMProperty; import org.eclipse.wst.css.core.internal.metamodel.CSSMetaModel; import org.eclipse.wst.css.core.internal.metamodel.CSSProfileRegistry; import org.eclipse.wst.css.core.internal.metamodel.util.CSSMetaModelUtil; public class CSSMetaModelTest extends TestCase { public void testContentPropertyValues2r1() { CSSMetaModel model = CSSProfileRegistry.getInstance().getDefaultProfile().getMetaModel(); if (model != null) { CSSMetaModelUtil util = new CSSMetaModelUtil(model); CSSMMProperty property = util.getProperty(PropCMProperty.P_CONTENT); Iterator it = property.getValues(); Set set = new HashSet(2); set.add(IValID.V_NORMAL); set.add(IValID.V_NONE); while (it.hasNext()) { CSSMMNode node = (CSSMMNode) it.next(); if (set.contains(node.getName())) { assertEquals("Property should be a keyword", CSSMMNode.TYPE_KEYWORD, node.getType()); set.remove(node.getName()); } } assertTrue("The content property is missing values added for CSS 2 revision 1.", set.isEmpty()); } } public void testCursorPropertyValues2r1() { CSSMetaModel model = CSSProfileRegistry.getInstance().getDefaultProfile().getMetaModel(); if (model != null) { CSSMetaModelUtil util = new CSSMetaModelUtil(model); CSSMMProperty property = util.getProperty(PropCMProperty.P_CURSOR); Iterator it = property.getValues(); Set set = new HashSet(1); set.add(IValID.V_PROGRESS); while (it.hasNext()) { CSSMMNode node = (CSSMMNode) it.next(); if (set.contains(node.getName())) { assertEquals("Property should be a keyword", CSSMMNode.TYPE_KEYWORD, node.getType()); set.remove(node.getName()); } } assertTrue("The content property is missing values added for CSS 2 revision 1.", set.isEmpty()); } } public void testDisplayPropertyValues2r1() { CSSMetaModel model = CSSProfileRegistry.getInstance().getDefaultProfile().getMetaModel(); if (model != null) { CSSMetaModelUtil util = new CSSMetaModelUtil(model); CSSMMProperty property = util.getProperty(PropCMProperty.P_DISPLAY); Iterator it = property.getValues(); Set set = new HashSet(1); set.add(IValID.V_INLINE_BLOCK); while (it.hasNext()) { CSSMMNode node = (CSSMMNode) it.next(); if (set.contains(node.getName())) { assertEquals("Property should be a keyword", CSSMMNode.TYPE_KEYWORD, node.getType()); set.remove(node.getName()); } } assertTrue("The content property is missing values added for CSS 2 revision 1.", set.isEmpty()); } } public void testWhitespacePropertyValues2r1() { CSSMetaModel model = CSSProfileRegistry.getInstance().getDefaultProfile().getMetaModel(); if (model != null) { CSSMetaModelUtil util = new CSSMetaModelUtil(model); CSSMMProperty property = util.getProperty(PropCMProperty.P_WHITE_SPACE); Iterator it = property.getValues(); Set set = new HashSet(1); set.add(IValID.V_PRE_LINE); set.add(IValID.V_PRE_WRAP); while (it.hasNext()) { CSSMMNode node = (CSSMMNode) it.next(); if (set.contains(node.getName())) { assertEquals("Property should be a keyword", CSSMMNode.TYPE_KEYWORD, node.getType()); set.remove(node.getName()); } } assertTrue("The content property is missing values added for CSS 2 revision 1.", set.isEmpty()); } } public void testColorPropertyValues2r1() { CSSMetaModel model = CSSProfileRegistry.getInstance().getDefaultProfile().getMetaModel(); if (model != null) { CSSMetaModelUtil util = new CSSMetaModelUtil(model); CSSMMProperty property = util.getProperty(PropCMProperty.P_COLOR); Iterator it = property.getValues(); Set set = new HashSet(1); set.add(IValID.V_ORANGE); while (it.hasNext()) { CSSMMNode node = (CSSMMNode) it.next(); if (set.contains(node.getName())) { assertEquals("Property should be a keyword", CSSMMNode.TYPE_KEYWORD, node.getType()); set.remove(node.getName()); } } assertTrue("The content property is missing values added for CSS 2 revision 1.", set.isEmpty()); } } }