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 88fe33f..5263580 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
@@ -10,7 +10,6 @@
  ******************************************************************************/
 package jasmine;
 
-import org.eclipse.rap.addons.dropdown.DropDown;
 import org.eclipse.rap.clientscripting.ClientListener;
 import org.eclipse.rap.jstestrunner.jasmine.JasmineTestRunner;
 import org.junit.Before;
@@ -23,7 +22,6 @@
   private static final String AUTO_SUGGEST_JS
     = "org/eclipse/rap/addons/autosuggest/internal/resources/AutoSuggest.js";
   private static final ClassLoader LOCAL_LOADER = AutoSuggest_JsTest.class.getClassLoader();
-  private static final ClassLoader DROPDOWN_LOADER = DropDown.class.getClassLoader();
   private static final ClassLoader SCRIPTING_LOADER = ClientListener.class.getClassLoader();
 
   @Rule
@@ -33,7 +31,7 @@
   public void setUp() {
     jasmine.parseScript( LOCAL_LOADER, "jasmine/fixture/rap-mock.js" );
     jasmine.parseScript( LOCAL_LOADER, "jasmine/fixture/rwt-mock.js" );
-    jasmine.parseScript( DROPDOWN_LOADER, "rwt/remote/Model.js" );
+    jasmine.parseScript( LOCAL_LOADER, "rwt/remote/Model.js" );
   }
 
   @Test
@@ -47,7 +45,7 @@
     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", DROPDOWN_LOADER, AUTO_SUGGEST_JS );
+    jasmine.addResource( "AutoSuggest", LOCAL_LOADER, AUTO_SUGGEST_JS );
     jasmine.execute();
   }
 
diff --git a/tests/org.eclipse.rap.addons.autosuggest.test/src/org/eclipse/rap/addons/autosuggest/AutoSuggest_Test.java b/tests/org.eclipse.rap.addons.autosuggest.test/src/org/eclipse/rap/addons/autosuggest/AutoSuggest_Test.java
index 113f573..4ec1d48 100644
--- a/tests/org.eclipse.rap.addons.autosuggest.test/src/org/eclipse/rap/addons/autosuggest/AutoSuggest_Test.java
+++ b/tests/org.eclipse.rap.addons.autosuggest.test/src/org/eclipse/rap/addons/autosuggest/AutoSuggest_Test.java
@@ -317,10 +317,10 @@
   }
 
   @Test
-  public void testSetDataSource_setsColumnWithOnDropDown() {
+  public void testSetDataSource_setsColumnWidthOnDropDown() {
     AutoSuggest autoSuggest = new AutoSuggest( text );
-    DataSource dataSource = mock( DataSource.class );
-    when( dataSource.getTemplate() ).thenReturn( new ColumnTemplate( 23, 42 ) );
+    DataSource dataSource = new DataSource();
+    dataSource.setTemplate( new ColumnTemplate( 23, 42 ) );
 
     autoSuggest.setDataSource( dataSource );
 
