You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2011/02/14 11:59:50 UTC

svn commit: r1070437 - /incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java

Author: scottbw
Date: Mon Feb 14 10:59:50 2011
New Revision: 1070437

URL: http://svn.apache.org/viewvc?rev=1070437&view=rev
Log:
Extended range of tests for widget outputter to cover more cases.

Modified:
    incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java

Modified: incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java?rev=1070437&r1=1070436&r2=1070437&view=diff
==============================================================================
--- incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java (original)
+++ incubator/wookie/trunk/parser/java/src-test/org/apache/wookie/w3c/test/WidgetOutputterTest.java Mon Feb 14 10:59:50 2011
@@ -18,11 +18,14 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.net.URL;
 
 import org.apache.wookie.w3c.INameEntity;
 import org.apache.wookie.w3c.W3CWidget;
 import org.apache.wookie.w3c.W3CWidgetFactory;
+import org.apache.wookie.w3c.exceptions.BadManifestException;
+import org.apache.wookie.w3c.exceptions.BadWidgetZipFileException;
 import org.apache.wookie.w3c.util.WidgetOutputter;
 import org.apache.wookie.w3c.util.WidgetPackageUtils;
 import org.junit.Test;
@@ -34,17 +37,64 @@ public class WidgetOutputterTest extends
 	
 	@Test
 	public void outputString() throws Exception{
-		W3CWidget widget = load("http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-RRZxvvTFHx/001/b6.wgt");
+		File testWidget = new File("build/widgets/bubbles.wgt");
+		W3CWidget widget = load(testWidget);
 		WidgetOutputter outputter = new WidgetOutputter();
 		outputter.setWidgetFolder("/widgets");
 		String manifest = outputter.outputXMLString(widget);
-		assertTrue(manifest.contains("id=\"b6:\""));
+		assertTrue(manifest.contains("id=\"http://www.opera.com/widgets/bubbles\""));
 		assertTrue(manifest.contains("<content src=\"index.html\""));
 	}
+	@Test
+	public void outputString2() throws Exception{
+		File testWidget = new File("build/widgets/natter.wgt");
+		W3CWidget widget = load(testWidget);
+		WidgetOutputter outputter = new WidgetOutputter();
+		outputter.setWidgetFolder("/widgets");
+		String manifest = outputter.outputXMLString(widget);
+		assertTrue(manifest.contains("id=\"http://www.getwookie.org/widgets/natter\""));
+		assertTrue(manifest.contains("<content src=\"index.htm\""));
+		assertTrue(manifest.contains("name=\"moderator\" value=\"false\""));
+	}
+	@Test
+	public void outputString3() throws Exception{
+		File testWidget = new File("build/widgets/weather.wgt");
+		W3CWidget widget = load(testWidget);
+		WidgetOutputter outputter = new WidgetOutputter();
+		outputter.setWidgetFolder("/widgets");
+		String manifest = outputter.outputXMLString(widget);
+		assertTrue(manifest.contains("id=\"http://www.getwookie.org/widgets/weather\""));
+		assertTrue(manifest.contains("origin=\"http://feeds.bbc.co.uk"));
+	}
+	@Test
+	public void outputString4() throws Exception{
+		File testWidget = new File("build/widgets/localetest.wgt");
+		W3CWidget widget = load(testWidget);
+		WidgetOutputter outputter = new WidgetOutputter();
+		outputter.setWidgetFolder("/widgets");
+		String manifest = outputter.outputXMLString(widget);
+		assertTrue(manifest.contains("id=\"http://www.getwookie.org/widgets/localetest\""));
+		assertTrue(manifest.contains("xml:lang=\"fr\">tester les paramètres régionaux</name>"));
+	}
+	
+	@Test
+	public void outputStream() throws Exception{
+		File testWidget = new File("build/widgets/geo.wgt");
+		W3CWidget widget = load(testWidget);
+		WidgetOutputter outputter = new WidgetOutputter();
+		outputter.setWidgetFolder("/widgets");
+		
+		File widgetFolder = new File(output.getPath());
+		File configXml = new File(widgetFolder, "config.xml");
+		FileOutputStream out = new FileOutputStream(configXml);
+		outputter.outputXML(widget, out);
+		assertTrue(configXml.exists());
+	}
 	
 	@Test 
 	public void loadModifySave() throws Exception{
-		W3CWidget widget = load("http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-RRZxvvTFHx/001/b6.wgt");
+		File testWidget = new File("build/widgets/bubbles.wgt");
+		W3CWidget widget = load(testWidget);
 		INameEntity name = widget.getNames().get(0);
 		name.setName("Modified Widget");
 		WidgetOutputter outputter = new WidgetOutputter();
@@ -89,20 +139,28 @@ public class WidgetOutputterTest extends
 		// Check the content is now pointing to the new location
 		assertEquals("/zaphod.bee.ble/brox/b6/index.html", widget.getContentList().get(0).getSrc());
 	}
-	
+	private W3CWidget load(File file) throws BadWidgetZipFileException, BadManifestException, Exception{
+		W3CWidgetFactory fac = getFactory();
+		W3CWidget widget = fac.parse(file);
+		return widget;		
+	}
 	private W3CWidget load(String url) throws Exception{
+		W3CWidgetFactory fac = getFactory();
+		W3CWidget widget = fac.parse(new URL(url));
+		return widget;
+	}
+	
+	private W3CWidgetFactory getFactory() throws Exception{
 		String outputPath = "/widgets";
-		
 		// Load the widget
 		W3CWidgetFactory fac = new W3CWidgetFactory();
 		fac.setLocalPath(outputPath);
-		fac.setFeatures(new String[]{"feature:a9bb79c1"});
+		fac.setFeatures(new String[]{"feature:a9bb79c1","http://wave.google.com"});
 		fac.setEncodings(new String[]{"UTF-8", "ISO-8859-1","Windows-1252"});
 		if (download.exists()) download.delete();
 		if (output.exists()) output.delete();
 		output.mkdir();
 		fac.setOutputDirectory(output.getAbsolutePath());
-		W3CWidget widget = fac.parse(new URL(url));
-		return widget;
+		return fac;
 	}
 }