diff options
Diffstat (limited to 'tests')
5 files changed, 57 insertions, 72 deletions
diff --git a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/AutoSuggest_JsTest.java b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/AutoSuggest_JsTest.java index 5263580..c87b341 100644 --- a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/AutoSuggest_JsTest.java +++ b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/AutoSuggest_JsTest.java @@ -45,7 +45,7 @@ public class AutoSuggest_JsTest { jasmine.parseScript( LOCAL_LOADER, "jasmine/specs/AutoSuggestSpec.js" ); jasmine.parseScript( SCRIPTING_LOADER, "org/eclipse/rap/clientscripting/SWT.js" ); jasmine.parseScript( SCRIPTING_LOADER, "org/eclipse/rap/clientscripting/Function.js" ); - jasmine.addResource( "AutoSuggest", LOCAL_LOADER, AUTO_SUGGEST_JS ); + jasmine.addResource( "AutoSuggest.js", LOCAL_LOADER, AUTO_SUGGEST_JS ); jasmine.execute(); } diff --git a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/index.html b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/index.html index 596b8de..77075be 100644 --- a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/index.html +++ b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/index.html @@ -12,7 +12,7 @@ <script type="text/javascript" src="specs/AutoSuggestSpec.js"></script> <script type="text/javascript"> var listenerPrefix = "../../../../bundles/org.eclipse.rap.addons.autosuggest/src/org/eclipse/rap/addons/autosuggest/internal/resources/"; - TestUtil.loadResourceFromURL( "AutoSuggest", listenerPrefix + "AutoSuggest.js" ); + TestUtil.loadResource( "AutoSuggest.js", listenerPrefix + "AutoSuggest.js" ); </script> </head> diff --git a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/specs/AutoSuggestSpec.js b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/specs/AutoSuggestSpec.js index 109e545..bd66b94 100644 --- a/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/specs/AutoSuggestSpec.js +++ b/tests/org.eclipse.rap.addons.autosuggest.test/jasmine/jasmine/specs/AutoSuggestSpec.js @@ -37,7 +37,7 @@ beforeEach( function() { if( !secureEval ) { - secureEval = getVarFromScript( "AutoSuggest", "secureEval" ); + secureEval = getVarFromScript( "AutoSuggest.js", "secureEval" ); } } ); @@ -58,7 +58,7 @@ beforeEach( function() { if( !commonText ) { - commonText = getVarFromScript( "AutoSuggest", "commonText" ); + commonText = getVarFromScript( "AutoSuggest.js", "commonText" ); } } ); @@ -115,7 +115,7 @@ beforeEach( function() { if( !filterArray ) { - filterArray = getVarFromScript( "AutoSuggest", "filterArray" ); + filterArray = getVarFromScript( "AutoSuggest.js", "filterArray" ); } } ); @@ -162,7 +162,7 @@ describe( "change:dataSourceId", function() { it( "sets suggestions to null", function() { - model.addListener( "change:dataSourceId", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:dataSourceId", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", [] ); model.set( "dataSourceId", "fooId" ); @@ -175,7 +175,7 @@ describe( "change:userText", function() { it( "clears replacementText", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "replacementText", "banana" ); model.set( "userText", "ba" ); @@ -184,7 +184,7 @@ } ); it( "shows suggestions", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "ba" ); @@ -192,7 +192,7 @@ } ); it( "hides results if text length is zero", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestionsVisible", true ); model.set( "userText", "" ); @@ -201,7 +201,7 @@ } ); it( "updates currentSuggestions", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "ba" ); @@ -209,7 +209,7 @@ } ); it( "updates currentSuggestions of type array", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", [ [ "foo" ], [ "bar" ] ] ); model.set( "userText", "ba" ); @@ -218,7 +218,7 @@ } ); it( "gets suggestions from data source if suggestions are not set", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", null ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); dataSource.set( "data", [ "foo", "bar", "foobar", "banana", "apple", "cherry" ] ); @@ -231,7 +231,7 @@ } ); it( "sets empty currentSuggestions array if no data source is set", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", null ); model.set( "userText", "ba" ); @@ -240,7 +240,7 @@ } ); it( "forwards action option", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.addListener( "change:currentSuggestions", logger ); model.set( "userText", "ba", { "action" : "foo" } ); @@ -249,7 +249,7 @@ } ); it( "uses custom filter from dataSource if present", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", null ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); dataSource.set( "data", [ "foo", "bar" ] ); @@ -267,7 +267,7 @@ } ); it( "caches evaluated filter function", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", null ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); dataSource.set( "data", [ "foo" ] ); @@ -283,7 +283,7 @@ } ); it( "throws custom exception when filterScript not parse", function() { - model.addListener( "change:userText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:userText", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestions", null ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); dataSource.set( "data", [ "foo", "bar" ] ); @@ -306,7 +306,7 @@ describe( "change:suggestions", function() { it( "clears suggestion", function() { - model.addListener( "change:suggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:suggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "replacementText", "banana" ); model.set( "suggestionsVisible", true ); model.addListener( "change:replacementText", logger ); @@ -317,7 +317,7 @@ } ); it( "updates suggestions", function() { - model.addListener( "change:suggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:suggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "ba" ); model.set( "suggestionsVisible", true ); @@ -327,7 +327,7 @@ } ); it( "does not update suggestions if not visible", function() { - model.addListener( "change:suggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:suggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "suggestionsVisible", false ); model.addListener( "change:currentSuggestions", logger ); @@ -337,7 +337,7 @@ } ); it( "sets suggestions with refresh option", function() { - model.addListener( "change:suggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:suggestions", createClientListener( "AutoSuggest.js" ) ); model.addListener( "change:currentSuggestions", logger ); model.set( "suggestionsVisible", true ); model.set( "userText", "ba" ); @@ -352,7 +352,7 @@ describe( "change:selectedSuggestionIndex", function() { it( "sets replacementText to selected suggestion", function() { - model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "bar", "banana" ] ); model.set( "selectedSuggestionIndex", 1 ); @@ -361,7 +361,7 @@ } ); it( "sets replacementText for array suggestion", function() { - model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ [ "a", "b", "c" ], [ "x", "y", "z" ] ] ); model.set( "selectedSuggestionIndex", 1 ); @@ -370,7 +370,7 @@ } ); it( "resets suggestion when selection index is -1", function() { - model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "bar", "banana" ] ); model.set( "replacementText", "banana" ); @@ -380,7 +380,7 @@ } ); it( "sets action option", function() { - model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:selectedSuggestionIndex", createClientListener( "AutoSuggest.js" ) ); model.addListener( "change:replacementText", logger ); model.set( "currentSuggestions", [ "bar", "banana" ] ); @@ -394,7 +394,7 @@ describe( "change:replacementText", function() { it( "ignores events from change:userText", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "text", "bar" ); model.set( "textSelection", [ 0, 0 ] ); @@ -405,7 +405,7 @@ } ); it( "sets text to suggestion", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "replacementText", "foo" ); @@ -413,7 +413,7 @@ } ); it( "sets textSelection for replacementText", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "replacementText", "foo", { "action" : "selection" } ); @@ -421,7 +421,7 @@ } ); it( "sets textSelection for auto complete", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "foo" ); model.set( "replacementText", "foobar" ); @@ -430,7 +430,7 @@ } ); it( "resets text to userText", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "bar" ); model.set( "replacementText", null, { "action" : "selection" } ); @@ -439,7 +439,7 @@ } ); it( "resets selection to userText end", function() { - model.addListener( "change:replacementText", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:replacementText", createClientListener( "AutoSuggest.js" ) ); model.set( "userText", "bar" ); model.set( "replacementText", null, { "action" : "selection" } ); @@ -453,7 +453,7 @@ it( "does not change replacementText without autocomplete", function() { model.set( "replacementText", "ban" ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "banana" ] ); @@ -462,7 +462,7 @@ it( "does change replacementText if not typing", function() { model.set( "replacementText", "ban" ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "autoComplete", true ); model.set( "currentSuggestions", [ "banana" ] ); @@ -474,7 +474,7 @@ model.set( "replacementText", "ban" ); model.set( "userText", "b" ); model.set( "autoComplete", true ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "banana" ], { "action" : "typing" } ); @@ -485,7 +485,7 @@ model.set( "replacementText", "ban" ); model.set( "userText", "b" ); model.set( "autoComplete", true ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ [ "banana" ] ], { "action" : "typing" } ); @@ -496,7 +496,7 @@ model.set( "replacementText", "ban" ); model.set( "userText", "b" ); model.set( "autoComplete", true ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "banana" ], { "action" : "refresh" } ); @@ -506,7 +506,7 @@ it( "partially autocompletes suggestion for common text", function() { model.set( "autoComplete", true ); model.set( "userText", "b" ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); var items = [ "banana foo", "banana bar" ]; model.set( "currentSuggestions", items, { "action" : "typing" } ); @@ -518,7 +518,7 @@ model.set( "replacementText", null ); model.set( "autoComplete", true ); model.set( "userText", "banana xxx" ); - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); var items = [ "banana foo", "banana bar" ]; model.set( "currentSuggestions", items, { "action" : "typing" } ); @@ -527,7 +527,7 @@ } ); it( "sets suggestionTexts unchanged if no custom template is set", function() { - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "a", "b" ] ); @@ -535,7 +535,7 @@ } ); it( "sets suggestionTexts for columns", function() { - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ [ "a", "b", "c" ], [ "x", "y", "z" ] ] ); @@ -543,7 +543,7 @@ } ); it( "applies template to suggestionTexts", function() { - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); model.set( "template", function( suggestion ) { return "x" + suggestion; } ); model.set( "currentSuggestions", [ "a", "b" ] ); @@ -552,7 +552,7 @@ } ); it( "evaluates templateScript from dataSource", function() { - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); spyOn( rap, "getObject" ).andReturn( dataSource ); dataSource.set( "templateScript", "function( suggestion ) { return \"x\" + suggestion; }" ); @@ -564,7 +564,7 @@ } ); it( "throws custom exception when templateScript can not be parsed", function() { - model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest" ) ); + model.addListener( "change:currentSuggestions", createClientListener( "AutoSuggest.js" ) ); var dataSource = rap.typeHandler[ "rwt.remote.Model" ].factory(); spyOn( rap, "getObject" ).andReturn( dataSource ); dataSource.set( "templateScript", "funasdfction( suggestion ) { return true; }" ); @@ -585,7 +585,7 @@ describe( "accept", function() { it( "fires suggestionSelected for selectedSuggestionIndex", function() { - model.addListener( "accept", createClientListener( "AutoSuggest" ) ); + model.addListener( "accept", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "bar", "banana" ] ); model.set( "selectedSuggestionIndex", 1 ); model.addListener( "suggestionSelected", logger ); @@ -597,7 +597,7 @@ } ); it( "fires suggestionSelected when full auto complete is accepted", function() { - model.addListener( "accept", createClientListener( "AutoSuggest" ) ); + model.addListener( "accept", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "banana" ] ); model.set( "selectedSuggestionIndex", -1 ); model.set( "autoComplete", true ); @@ -610,7 +610,7 @@ } ); it( "does nothing when attempting accepting without selected suggestion or auto complete", function() { - model.addListener( "accept", createClientListener( "AutoSuggest" ) ); + model.addListener( "accept", createClientListener( "AutoSuggest.js" ) ); model.set( "currentSuggestions", [ "banana" ] ); model.set( "selectedSuggestionIndex", -1 ); model.set( "suggestionsVisible", true ); @@ -623,7 +623,7 @@ } ); it( "clears text selection", function() { - model.addListener( "accept", createClientListener( "AutoSuggest" ) ); + model.addListener( "accept", createClientListener( "AutoSuggest.js" ) ); model.set( "text", "foobar" ); model.notify( "accept", { source : model, type : "accept" } ); diff --git a/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/JasmineRunner.java b/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/JasmineRunner.java index 7394b66..d83807e 100644 --- a/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/JasmineRunner.java +++ b/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/JasmineRunner.java @@ -24,25 +24,18 @@ class JasmineRunner { private static final String CHARSET = "UTF-8"; private final ScriptableObject scope; private final ScriptableObject jasmineEnv; + private final Map<String, Object> resources = new HashMap<String, Object>(); private JasmineReporter publicReporter; - private TestUtil testUtil; public JasmineRunner() { scope = Context.enter().initStandardObjects(); - createTestUtil(); - scope.put( "window", scope, scope ); - createStubs( "setTimeout", "clearTimeout", "setInterval", "clearInterval" ); + initializeScope(); parseScript( getClass().getClassLoader(), "org/eclipse/rap/jstestrunner/jasmine/jasmine.js" ); jasmineEnv = getJasmineEnv(); createReporter(); Context.exit(); } - private void createTestUtil() { - testUtil = new TestUtil(); - scope.put( "TestUtil", scope, testUtil ); - } - public void setReporter( JasmineReporter publicReporter ) { this.publicReporter = publicReporter; } @@ -70,7 +63,7 @@ class JasmineRunner { } public void addResource( String name, ClassLoader loader, String path ) { - testUtil.loadResourceFromClassLoader( name, loader, path ); + resources.put( name, readContent( loader, path ) ); } public void execute() { @@ -83,6 +76,12 @@ class JasmineRunner { //////////// // Internals + private void initializeScope() { + scope.put( "TestUtil", scope, new TestUtil() ); + scope.put( "window", scope, scope ); + createStubs( "setTimeout", "clearTimeout", "setInterval", "clearInterval" ); + } + private void createReporter() { ScriptableObject.callMethod( jasmineEnv, "addReporter", new Object[]{ new InternalReporter() } ); } @@ -205,16 +204,6 @@ class JasmineRunner { public class TestUtil { - Map<String, Object> resources = new HashMap< String, Object>(); - - public void loadResourceFromURL( String name, String url ) { - throw new UnsupportedOperationException( "Not supported in Rhino environment" ); - } - - public void loadResourceFromClassLoader( String name, ClassLoader loader, String path ) { - resources.put( name, readContent( loader, path ) ); - } - public Object getResource( String name ) { return resources.get( name ); } diff --git a/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/TestUtil.js b/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/TestUtil.js index 58263ef..8991b57 100644 --- a/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/TestUtil.js +++ b/tests/org.eclipse.rap.jstestrunner/src/org/eclipse/rap/jstestrunner/jasmine/TestUtil.js @@ -22,11 +22,7 @@ TestUtil = { - loadResourceFromClassLoader : function( name, loader, path ) { - throw new Error( "Not supported in browser environment" ); - }, - - loadResourceFromURL : function( name, url ) { + loadResource : function( name, url ) { resources[ name ] = xhrGet( url ); }, |