/******************************************************************************* * Copyright (c) 2011 BestSolution.at 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: * Tom Schindl<tom.schindl@bestsolution.at> - initial API and implementation *******************************************************************************/ package at.bestsolution.efxclipse.tooling.css.jfx.test.validators; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import at.bestsolution.efxclipse.tooling.css.CssDialectExtension.ValidationResult; import at.bestsolution.efxclipse.tooling.css.cssDsl.CssDslFactory; import at.bestsolution.efxclipse.tooling.css.cssDsl.CssDslPackage; import at.bestsolution.efxclipse.tooling.css.cssDsl.term; import at.bestsolution.efxclipse.tooling.css.cssDsl.termGroup; import at.bestsolution.efxclipse.tooling.css.jfx.JFXDialectExtension; import at.bestsolution.efxclipse.tooling.css.jfx.validators.GradientValidator; import junit.framework.TestCase; /** * @author Tom Schindl * */ public class GradientValidatorTestCase extends TestCase { public void test_validateColorStop() { { termGroup group = CssDslFactory.eINSTANCE.createtermGroup(); term t1 = CssDslFactory.eINSTANCE.createterm(); t1.setHexColor("#000"); group.getTerms().addAll(Arrays.asList(t1)); List<ValidationResult> results = new ArrayList<ValidationResult>(); GradientValidator.validateColorStop(group, results); assertEquals(0, results.size()); } for( String l : JFXDialectExtension.sizeUnits() ) { termGroup group = CssDslFactory.eINSTANCE.createtermGroup(); term t1 = CssDslFactory.eINSTANCE.createterm(); t1.setHexColor("#000"); term t2 = CssDslFactory.eINSTANCE.createterm(); t2.setNumber("10"+l); group.getTerms().addAll(Arrays.asList(t1,t2)); List<ValidationResult> results = new ArrayList<ValidationResult>(); GradientValidator.validateColorStop(group, results); assertEquals(0, results.size()); } { termGroup group = CssDslFactory.eINSTANCE.createtermGroup(); term t1 = CssDslFactory.eINSTANCE.createterm(); t1.setHexColor("#000"); term t2 = CssDslFactory.eINSTANCE.createterm(); t2.setNumber("10%"); group.getTerms().addAll(Arrays.asList(t1,t2)); List<ValidationResult> results = new ArrayList<ValidationResult>(); GradientValidator.validateColorStop(group, results); assertEquals(0, results.size()); } { termGroup group = CssDslFactory.eINSTANCE.createtermGroup(); term t1 = CssDslFactory.eINSTANCE.createterm(); t1.setHexColor("#000"); term t2 = CssDslFactory.eINSTANCE.createterm(); t2.setNumber("101%"); group.getTerms().addAll(Arrays.asList(t1,t2)); List<ValidationResult> results = new ArrayList<ValidationResult>(); GradientValidator.validateColorStop(group, results); assertEquals(1, results.size()); assertEquals(t2, results.get(0).object); assertEquals(CssDslPackage.Literals.TERM__NUMBER, results.get(0).feature); } } }