Author: yradtsevich
Date: 2011-11-21 11:25:07 -0500 (Mon, 21 Nov 2011)
New Revision: 36499
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.classpath
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.project
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.jdt.core.prefs
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.pde.core.prefs
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/META-INF/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/META-INF/MANIFEST.MF
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/build.properties
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/BrowserAllTests.java
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/WebKitTests.java
Log:
https://issues.jboss.org/browse/JBIDE-9539 : Browsersim app for testing mobile/desktop web
apps
- added JUnits for User-Agent setters in WebKit
Property changes on:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test
___________________________________________________________________
Added: svn:ignore
+ bin
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.classpath
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.classpath
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.classpath 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.project
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.project
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.project 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.browsersim.browser.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.jdt.core.prefs 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,8 @@
+#Mon Nov 21 16:31:27 AST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.pde.core.prefs
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.pde.core.prefs
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/.settings/org.eclipse.pde.core.prefs 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,4 @@
+#Mon Nov 21 16:31:28 AST 2011
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/META-INF/MANIFEST.MF
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/META-INF/MANIFEST.MF
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/META-INF/MANIFEST.MF 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: BrowserSim WebKit Test
+Bundle-SymbolicName: org.jboss.tools.browsersim.browser.test
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit,
+ org.eclipse.swt,
+ org.jboss.tools.browsersim.browser;bundle-version="1.0.0"
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/build.properties
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/build.properties
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/build.properties 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/BrowserAllTests.java
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/BrowserAllTests.java
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/BrowserAllTests.java 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,18 @@
+package org.jboss.tools.browsersim.browser.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author Yahor Radtsevich
+ */
+public class BrowserAllTests extends TestSuite {
+ public static Test suite() {
+
+ TestSuite suite = new TestSuite("Tests for Vpe HTML components");
//$NON-NLS-1$
+ // $JUnit-BEGIN$
+ suite.addTestSuite(WebKitTests.class);
+ //$JUnit-END$
+ return suite;
+ }
+}
Added:
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/WebKitTests.java
===================================================================
---
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/WebKitTests.java
(rev 0)
+++
workspace/yradtsevich/browsersim/swt-webkit-browsersim/org.jboss.tools.browsersim.browser.test/src/org/jboss/tools/browsersim/browser/test/WebKitTests.java 2011-11-21
16:25:07 UTC (rev 36499)
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.browsersim.browser.test;
+
+import junit.framework.TestCase;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.browser.BrowserFunction;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.jboss.tools.browsersim.browser.AbstractWebKitBrowser;
+import org.jboss.tools.browsersim.browser.WebKitBrowserFactory;
+
+/**
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+public class WebKitTests extends TestCase {
+ private static final String CUSTOM_USER_AGENT = "A Custom User-Agent";
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testWebKitSetDefaultUserAgent() {
+ Display display = new Display();
+ Shell shell = new Shell(display);
+ shell.setLayout(new FillLayout());
+ final AbstractWebKitBrowser webKitBrowser =
WebKitBrowserFactory.createWebKitBrowser(shell, SWT.NONE);
+ assertNotNull(webKitBrowser);
+ ExpressionExecutor expressionEvaluator = new ExpressionExecutor(webKitBrowser);
+
+ String initialUserAgent = (String)
expressionEvaluator.evaluate("navigator.userAgent");
+
+ webKitBrowser.setDefaultUserAgent(CUSTOM_USER_AGENT);
+ String customUserAgent = (String)
expressionEvaluator.evaluate("navigator.userAgent");
+ assertEquals(CUSTOM_USER_AGENT, customUserAgent);
+
+ webKitBrowser.setDefaultUserAgent(null);
+ String finalUserAgent = (String)
expressionEvaluator.evaluate("navigator.userAgent");
+ assertEquals(initialUserAgent, finalUserAgent);
+
+ expressionEvaluator.dispose();
+ display.dispose();
+ }
+}
+
+/**
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+class ExpressionExecutor {
+ private static final String EXPRESSION_EXECUTOR_RESULT_EXTRACTOR_FUNCTION_NAME =
"expressionExecutorResultExtractor";
+ private Browser browser;
+ private ResultExtractorFunction resultExtractorFunction;
+
+ public ExpressionExecutor(Browser browser) {
+ this.browser = browser;
+ resultExtractorFunction = new ResultExtractorFunction(browser,
EXPRESSION_EXECUTOR_RESULT_EXTRACTOR_FUNCTION_NAME);
+ }
+
+ public void dispose() {
+ resultExtractorFunction.dispose();
+ }
+
+ public Object evaluate(String expression) {
+ resultExtractorFunction.reset();
+ browser.execute(EXPRESSION_EXECUTOR_RESULT_EXTRACTOR_FUNCTION_NAME +
"(eval('" + expression.replace("'", "\\'") +
"'))");
+ return resultExtractorFunction.getResult().length > 0 ?
resultExtractorFunction.getResult()[0] : null;
+ }
+
+ /**
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+ private class ResultExtractorFunction extends BrowserFunction {
+ private Object[] result;
+
+ public ResultExtractorFunction(Browser browser, String name) {
+ super(browser, name);
+ }
+
+ public Object function(Object[] arguments) {
+ result = arguments;
+ return null;
+ }
+
+ public Object[] getResult() {
+ return result;
+ }
+
+ public void reset() {
+ result = null;
+ }
+ }
+}