changeset 1202 | 5f04bdbc6ee1 |
parent 1201 | b6fd8b9ccc7a |
child 1203 | eaa7c421a09e |
1.1 --- a/ko-archetype/src/test/java/org/apidesign/html/archetype/ArchetypeVersionTest.java Mon May 13 11:39:33 2013 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,98 +0,0 @@ 1.4 -/** 1.5 - * HTML via Java(tm) Language Bindings 1.6 - * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org> 1.7 - * 1.8 - * This program is free software: you can redistribute it and/or modify 1.9 - * it under the terms of the GNU General Public License as published by 1.10 - * the Free Software Foundation, version 2 of the License. 1.11 - * 1.12 - * This program is distributed in the hope that it will be useful, 1.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 1.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1.15 - * GNU General Public License for more details. apidesign.org 1.16 - * designates this particular file as subject to the 1.17 - * "Classpath" exception as provided by apidesign.org 1.18 - * in the License file that accompanied this code. 1.19 - * 1.20 - * You should have received a copy of the GNU General Public License 1.21 - * along with this program. Look for COPYING file in the top folder. 1.22 - * If not, see http://wiki.apidesign.org/wiki/GPLwithClassPathException 1.23 - */ 1.24 -package org.apidesign.html.archetype; 1.25 - 1.26 -import java.net.URL; 1.27 -import javax.xml.XMLConstants; 1.28 -import javax.xml.parsers.DocumentBuilderFactory; 1.29 -import javax.xml.xpath.XPathConstants; 1.30 -import javax.xml.xpath.XPathExpression; 1.31 -import javax.xml.xpath.XPathFactory; 1.32 -import org.testng.annotations.Test; 1.33 -import static org.testng.Assert.*; 1.34 -import org.testng.annotations.BeforeClass; 1.35 -import org.w3c.dom.Document; 1.36 -import org.w3c.dom.NodeList; 1.37 - 1.38 -/** 1.39 - * 1.40 - * @author Jaroslav Tulach <jtulach@netbeans.org> 1.41 - */ 1.42 -public class ArchetypeVersionTest { 1.43 - private String version; 1.44 - 1.45 - public ArchetypeVersionTest() { 1.46 - } 1.47 - 1.48 - @BeforeClass public void readCurrentVersion() throws Exception { 1.49 - final ClassLoader l = ArchetypeVersionTest.class.getClassLoader(); 1.50 - URL u = l.getResource("META-INF/maven/org.apidesign.html/knockout4j-archetype/pom.xml"); 1.51 - assertNotNull(u, "Own pom found: " + System.getProperty("java.class.path")); 1.52 - 1.53 - final XPathFactory fact = XPathFactory.newInstance(); 1.54 - fact.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); 1.55 - 1.56 - XPathExpression xp = fact.newXPath().compile("project/version/text()"); 1.57 - 1.58 - Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(u.openStream()); 1.59 - version = xp.evaluate(dom); 1.60 - 1.61 - assertFalse(version.isEmpty(), "There should be some version string"); 1.62 - } 1.63 - 1.64 - 1.65 - @Test public void testComparePomDepsVersions() throws Exception { 1.66 - final ClassLoader l = ArchetypeVersionTest.class.getClassLoader(); 1.67 - URL r = l.getResource("archetype-resources/pom.xml"); 1.68 - assertNotNull(r, "Archetype pom found"); 1.69 - 1.70 - final XPathFactory fact = XPathFactory.newInstance(); 1.71 - XPathExpression xp2 = fact.newXPath().compile( 1.72 - "//properties/net.java.html.version/text()" 1.73 - ); 1.74 - 1.75 - Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(r.openStream()); 1.76 - String arch = (String) xp2.evaluate(dom, XPathConstants.STRING); 1.77 - 1.78 - assertEquals(arch, version, "net.java.html.json dependency needs to be on latest version"); 1.79 - } 1.80 - 1.81 - @Test public void testNbActions() throws Exception { 1.82 - final ClassLoader l = ArchetypeVersionTest.class.getClassLoader(); 1.83 - URL r = l.getResource("archetype-resources/nbactions.xml"); 1.84 - assertNotNull(r, "Archetype nb file found"); 1.85 - 1.86 - final XPathFactory fact = XPathFactory.newInstance(); 1.87 - XPathExpression xp2 = fact.newXPath().compile( 1.88 - "//goal/text()" 1.89 - ); 1.90 - 1.91 - Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(r.openStream()); 1.92 - NodeList goals = (NodeList) xp2.evaluate(dom, XPathConstants.NODESET); 1.93 - 1.94 - for (int i = 0; i < goals.getLength(); i++) { 1.95 - String s = goals.item(i).getTextContent(); 1.96 - if (s.contains("apidesign")) { 1.97 - assertFalse(s.matches(".*apidesign.*[0-9].*"), "No numbers: " + s); 1.98 - } 1.99 - } 1.100 - } 1.101 -}