blob: 0b5811cb8baa5efb175c6aea4eeb16d4afb5f96c [file] [log] [blame]
/*******************************************************************************
* 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());
}
}
}