[Title] Add Powermockito
authorBon-Yong Lee <bonyong.lee@samsung.com>
Tue, 11 Sep 2012 11:05:11 +0000 (20:05 +0900)
committerBon-Yong Lee <bonyong.lee@samsung.com>
Tue, 11 Sep 2012 11:05:11 +0000 (20:05 +0900)
[Type]      Enhancement
[Module]    Sub
[Priority]  Minor
[CQ#]       // CQ Issue Number
[Redmine#]  // Redmine Isuue Number
[Problem]   // Problem Description
[Cause]     // Cause Description
[Solution]  // Solution Description
[TestCase]  // Executed the test-target (How to)

org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/test.html [changed mode: 0644->0755]
org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/testTizenMulti.html [changed mode: 0644->0755]
org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/freemarker/testTizenSingle.html [changed mode: 0644->0755]
org.tizen.common.verrari/test/src/org/tizen/common/verrari/engine/jsoup/genTizenSingle.html [changed mode: 0644->0755]
org.tizen.common/.classpath
org.tizen.common/META-INF/MANIFEST.MF
org.tizen.common/test/lib/javassist-3.16.1-GA.jar [new file with mode: 0755]
org.tizen.common/test/lib/powermock-mockito-1.4.12-full.jar [new file with mode: 0755]
org.tizen.common/test/src/org/tizen/common/core/command/sdb/PullSdbCommandTest.java [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index bfce1b0..d99afa4
@@ -1,24 +1,47 @@
-<!------------------------------------------------------------------------------------------------
- Copyright 2012 changhyun1.lee@samsung.com All rights reserved.
-------------------------------------------------------------------------------------------------->
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, target-densityDpi=device-dpi"/>
-    <meta name="description" content="Tizen template generated by Tizen Web IDE"/>
-
-    <title>Tizen Empty</title>
-
-    <script type="text/javascript" src="./js/main.js"></script>
-    <link rel="stylesheet" type="text/css" href="./css/style.css"/>
-</head>
-
-<body>
-    <header>
-    </header>
-
-    <footer>
-    </footer>
-</body>
-</html>
+\r
+Error reading included file description.ftl\r
+The problematic instruction:\r
+----------\r
+==> include "description.ftl" [on line 1, column 1 in .\test\src\org\tizen\common\verrari\engine\freemarker\test_html.ftl]\r
+----------\r
+\r
+Java backtrace for programmers:\r
+----------\r
+freemarker.template.TemplateException: Error reading included file description.ftl\r
+       at freemarker.core.Include.accept(Include.java:167)\r
+       at freemarker.core.Environment.visit(Environment.java:221)\r
+       at freemarker.core.MixedContent.accept(MixedContent.java:92)\r
+       at freemarker.core.Environment.visit(Environment.java:221)\r
+       at freemarker.core.Environment.process(Environment.java:199)\r
+       at freemarker.template.Template.process(Template.java:237)\r
+       at org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngine.generate(FreemarkerTemplateEngine.java:76)\r
+       at org.tizen.common.verrari.engine.AbstractTemplateEngine.genearteGroup(AbstractTemplateEngine.java:103)\r
+       at org.tizen.common.verrari.engine.freemarker.FreemarkerTemplateEngineTest.test_generate(FreemarkerTemplateEngineTest.java:108)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r
+       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r
+       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r
+       at java.lang.reflect.Method.invoke(Unknown Source)\r
+       at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)\r
+       at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\r
+       at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)\r
+       at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\r
+       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)\r
+       at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)\r
+       at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)\r
+       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)\r
+       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)\r
+       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)\r
+       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)\r
+       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)\r
+       at org.junit.runners.ParentRunner.run(ParentRunner.java:300)\r
+       at org.junit.runner.JUnitCore.run(JUnitCore.java:157)\r
+       at org.junit.runner.JUnitCore.run(JUnitCore.java:136)\r
+       at org.infinitest.testrunner.JUnit4Runner.runTest(JUnit4Runner.java:66)\r
+       at org.infinitest.testrunner.TestRunnerProcess.runTest(TestRunnerProcess.java:64)\r
+       at org.infinitest.testrunner.TestRunnerProcess.writeTestResultToOutputStream(TestRunnerProcess.java:106)\r
+       at org.infinitest.testrunner.TestRunnerProcess.main(TestRunnerProcess.java:83)\r
+Caused by: java.io.FileNotFoundException: Template description.ftl not found.\r
+       at freemarker.template.Configuration.getTemplate(Configuration.java:495)\r
+       at freemarker.core.Environment.getTemplateForInclusion(Environment.java:1490)\r
+       at freemarker.core.Include.accept(Include.java:157)\r
+       ... 31 more\r
old mode 100644 (file)
new mode 100755 (executable)
index 7878669..e69de29
@@ -1,95 +0,0 @@
-<!------------------------------------------------------------------------------------------------
- Copyright 2012 changhyun1.lee@samsung.com All rights reserved.
-------------------------------------------------------------------------------------------------->
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, target-densityDpi=device-dpi"/>
-    <meta name="description" content="Tizen template generated by Tizen Web IDE"/>
-
-    <title>Tizen Web UI FW - Multi</title>
-
-<#if TizenWebUIFW_Default?exists>
-    <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
-    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
-    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js" data-framework-theme="tizen-gray" data-framework-viewport-scale="false"></script>
-<#elseif TizenWebUIFW_PATH?exists>
-    <script src="${TizenWebUIFW_JQuery?default("/usr/share/tizen-web-ui-fw/latest/js/jquery.js")}"></script>
-    <script src="${TizenWebUIFW_Libs?default("/usr/share/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js")}"></script>
-    <script src="${TizenWebUIFW_JS?default("/usr/share/tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js")}" data-framework-theme="${theme?default("tizen-gray")}" data-framework-viewport-scale="${scale?default("false")}"></script>
-</#if>
-
-        <!--NOTE:
-        Additional scripts and css files are to be placed here.
-        You can use jQuery namespace($) and all functionalities in jQuery
-        in your script.  For example:
-
-            <script src="main.js"></script>
-            <link rel="stylesheet" href="my.css">
-
-        When you want to manipulate elements in your code, you have to
-        use domReady for your code to work properly, like this;
-
-            domReady(function(){ ... });
-        -->
-    <script type="text/javascript" src="./js/main.js"></script>
-    <link rel="stylesheet" type="text/css" href="./css/style.css"/>
-</head>
-
-<body>
-        <!-- Start of first page: #one -->
-        <div data-role="page" id="one">
-            <div data-role="header" data-position="fixed">
-                <h1>Multi-Page Application</h1>
-            </div><!-- /header -->
-
-            <div data-role="content">
-                <h2>One</h2>
-                <p>
-                    This is a multi-page boilerplate template that you can copy to build
-                    your first Tizen Web UI Framework page. This template contains multiple "page"
-                    containers inside.
-                </p>
-                <p>
-                    You link to internal pages by referring to the ID of the page you
-                    want to show. For example, to <a href="#two">link</a> to the page
-                    with an ID of "two", my link would have a
-                    <code>href="#two"</code>
-                    in the code.
-                </p>
-                <h3>Show internal pages:</h3>
-                <p><a href="#two" data-role="button">Show page "two"</a></p>
-                <p><a href="#popup"  data-role="button" aria-haspopup="true" data-rel="popupwindow">Show page "popup" (as a dialog)</a></p>
-
-                <div id="popup" data-role="popupwindow" data-style="center_title_1btn">
-                    <p data-role="title">Popup</p>
-                    <p data-role="text">Pop-up dialog box, a child window that blocks user interact to the parent windows</p>
-                    <div data-role="button-bg"><a href="#" data-role="button" onclick="javascript:$('#popup').popupwindow('close');">Close</a></div>
-                </div>
-            </div><!-- /content -->
-
-            <div data-role="footer" data-position="fixed">
-                <h4>Page Footer</h4>
-            </div><!-- /footer -->
-        </div><!-- /page one -->
-
-        <!-- Start of second page: #two -->
-        <div data-role="page" id="two">
-            <div data-role="header" data-position="fixed">
-                <h1>Two</h1>
-            </div><!-- /header -->
-
-            <div data-role="content">
-                <h2>Two</h2>
-                <p>I have an id of "two" on my page container. I'm the second
-                    page container in this multi-page template.</p>
-                <p><a href="#one" data-direction="reverse" data-role="button">Back to page "one"</a></p>
-            </div><!-- /content -->
-
-            <div data-role="footer" data-position="fixed">
-                <h4>Page Footer</h4>
-            </div><!-- /footer -->
-        </div><!-- /page two -->
-</body>
-</html>
old mode 100644 (file)
new mode 100755 (executable)
index 8a6159f..e69de29
@@ -1,55 +0,0 @@
-<!------------------------------------------------------------------------------------------------
- Copyright 2012 changhyun1.lee@samsung.com All rights reserved.
-------------------------------------------------------------------------------------------------->
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, target-densityDpi=device-dpi"/>
-    <meta name="description" content="Tizen template generated by Tizen Web IDE"/>
-
-    <title>Tizen Web UI FW - Single</title>
-
-<#if TizenWebUIFW_Default?exists>
-    <script src="tizen-web-ui-fw/latest/js/jquery.js"></script>
-    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js"></script>
-    <script src="tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js" data-framework-theme="tizen-gray" data-framework-viewport-scale="false"></script>
-<#elseif TizenWebUIFW_PATH?exists>
-    <script src="${TizenWebUIFW_JQuery?default("/usr/share/tizen-web-ui-fw/latest/js/jquery.js")}"></script>
-    <script src="${TizenWebUIFW_Libs?default("/usr/share/tizen-web-ui-fw/latest/js/tizen-web-ui-fw-libs.js")}"></script>
-    <script src="${TizenWebUIFW_JS?default("/usr/share/tizen-web-ui-fw/latest/js/tizen-web-ui-fw.js")}" data-framework-theme="${theme?default("tizen-gray")}" data-framework-viewport-scale="${scale?default("false")}"></script>
-</#if>
-
-        <!--NOTE:
-        Additional scripts and css files are to be placed here.
-        You can use jQuery namespace($) and all functionalities in jQuery
-        in your script.  For example:
-
-            <script src="main.js"></script>
-            <link rel="stylesheet" href="my.css">
-
-        When you want to manipulate elements in your code, you have to
-        use domReady for your code to work properly, like this;
-
-            domReady(function(){ ... });
-        -->
-    <script type="text/javascript" src="./js/main.js"></script>
-    <link rel="stylesheet" type="text/css" href="./css/style.css"/>
-</head>
-
-<body>
-        <div data-role="page">
-            <div data-role="header" data-position="fixed">
-                <h1>Single-Page Application </h1>
-            </div><!-- /header -->
-
-            <div data-role="content">
-                <p>This is a single page boilerplate template that you can copy to build your first Tizen Web UI Framework page.</p>
-            </div><!-- /content -->
-
-            <div data-role="footer" data-position="fixed">
-                <h4>Footer content</h4>
-            </div><!-- /footer -->
-        </div><!-- /page -->
-</body>
-</html>
index 8e01f7b..c7f7582 100755 (executable)
@@ -14,6 +14,8 @@
        <classpathentry exported="true" kind="lib" path="test/lib/mockito-all-1.9.0.jar"/>\r
        <classpathentry kind="lib" path="test/lib/asm-4.0.jar"/>\r
        <classpathentry kind="lib" path="test/lib/asm-tree-4.0.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="test/lib/powermock-mockito-1.4.12-full.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="test/lib/javassist-3.16.1-GA.jar"/>\r
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
        <classpathentry kind="src" path="src"/>\r
index 39657a9..c88a4fe 100755 (executable)
@@ -105,6 +105,62 @@ Export-Package:
  org.mockito.stubbing,
  org.mockito.stubbing.answers,
  org.mockito.verification,
+ org.powermock.api.extension.listener,
+ org.powermock.api.extension.proxyframework,
+ org.powermock.api.mockito,
+ org.powermock.api.mockito.expectation,
+ org.powermock.api.mockito.internal,
+ org.powermock.api.mockito.internal.configuration,
+ org.powermock.api.mockito.internal.expectation,
+ org.powermock.api.mockito.internal.invocationcontrol,
+ org.powermock.api.mockito.internal.mockcreation,
+ org.powermock.api.mockito.internal.verification,
+ org.powermock.api.mockito.mockpolicies,
+ org.powermock.api.mockito.powermocklistener,
+ org.powermock.api.mockito.verification,
+ org.powermock.api.support,
+ org.powermock.api.support.membermodification,
+ org.powermock.api.support.membermodification.strategy,
+ org.powermock.api.support.membermodification.strategy.impl,
+ org.powermock.classloading,
+ org.powermock.classloading.spi,
+ org.powermock.core,
+ org.powermock.core.classloader,
+ org.powermock.core.classloader.annotations,
+ org.powermock.core.spi,
+ org.powermock.core.spi.listener,
+ org.powermock.core.spi.support,
+ org.powermock.core.spi.testresult,
+ org.powermock.core.spi.testresult.impl,
+ org.powermock.core.testlisteners,
+ org.powermock.core.transformers,
+ org.powermock.core.transformers.impl,
+ org.powermock.mockpolicies,
+ org.powermock.mockpolicies.impl,
+ org.powermock.mockpolicies.support,
+ org.powermock.modules.junit3,
+ org.powermock.modules.junit3.internal,
+ org.powermock.modules.junit3.internal.impl,
+ org.powermock.modules.junit4,
+ org.powermock.modules.junit4.common.internal,
+ org.powermock.modules.junit4.common.internal.impl,
+ org.powermock.modules.junit4.internal.impl,
+ org.powermock.modules.junit4.internal.impl.testcaseworkaround,
+ org.powermock.modules.junit4.legacy,
+ org.powermock.modules.junit4.legacy.internal.impl,
+ org.powermock.modules.junit4.legacy.internal.impl.testcaseworkaround,
+ org.powermock.modules.testng,
+ org.powermock.modules.testng.internal,
+ org.powermock.reflect,
+ org.powermock.reflect.exceptions,
+ org.powermock.reflect.internal,
+ org.powermock.reflect.internal.matcherstrategies,
+ org.powermock.reflect.internal.primitivesupport,
+ org.powermock.reflect.matching,
+ org.powermock.reflect.proxyframework,
+ org.powermock.reflect.spi,
+ org.powermock.tests.utils,
+ org.powermock.tests.utils.impl,
  org.slf4j,
  org.tizen.common,
  org.tizen.common.core.application,
diff --git a/org.tizen.common/test/lib/javassist-3.16.1-GA.jar b/org.tizen.common/test/lib/javassist-3.16.1-GA.jar
new file mode 100755 (executable)
index 0000000..c29da0f
Binary files /dev/null and b/org.tizen.common/test/lib/javassist-3.16.1-GA.jar differ
diff --git a/org.tizen.common/test/lib/powermock-mockito-1.4.12-full.jar b/org.tizen.common/test/lib/powermock-mockito-1.4.12-full.jar
new file mode 100755 (executable)
index 0000000..b70358d
Binary files /dev/null and b/org.tizen.common/test/lib/powermock-mockito-1.4.12-full.jar differ
old mode 100644 (file)
new mode 100755 (executable)
index 7da5260..c434fcb
 */
 package org.tizen.common.core.command.sdb;
 
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.powermock.api.mockito.PowerMockito.mock;
+import static org.powermock.api.mockito.PowerMockito.when;
 
 import java.io.IOException;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.tizen.common.Location;
-import org.tizen.common.UnsafeRunner;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 import org.tizen.common.core.command.CommandTest;
 import org.tizen.sdblib.IDevice;
 import org.tizen.sdblib.SdbCommandRejectedException;
@@ -50,13 +50,13 @@ import org.tizen.sdblib.TimeoutException;
  * 
  * @see PullSdbCommand
  */
-@RunWith( UnsafeRunner.class )
-@Location( { "lib/sdblib.jar", "bin/" } )
+@RunWith( PowerMockRunner.class )
 public class
 PullSdbCommandTest
 extends CommandTest
 {
     @Test
+    @PrepareForTest( { SyncService.class } )
     public void test_execute() throws Exception {
         final IDevice mockDevice = mock( IDevice.class );
         final SyncService mockService = mock( SyncService.class );