OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.content.browser; | 5 package org.chromium.content.browser; |
6 | 6 |
7 import android.support.test.filters.SmallTest; | 7 import android.support.test.filters.SmallTest; |
8 | 8 |
9 import org.junit.Assert; | |
10 import org.junit.Before; | |
11 import org.junit.Rule; | |
12 import org.junit.Test; | |
13 import org.junit.runner.RunWith; | |
14 | |
9 import org.chromium.base.annotations.SuppressFBWarnings; | 15 import org.chromium.base.annotations.SuppressFBWarnings; |
16 import org.chromium.base.test.BaseJUnit4ClassRunner; | |
10 import org.chromium.base.test.util.Feature; | 17 import org.chromium.base.test.util.Feature; |
11 import org.chromium.content.browser.JavaBridgeTestCommon.Controller; | 18 import org.chromium.content.browser.JavaBridgeTestCommon.Controller; |
12 | 19 |
13 /** | 20 /** |
14 * Part of the test suite for the Java Bridge. This class tests that we correctl y convert | 21 * Part of the test suite for the Java Bridge. This class tests that we correctl y convert |
15 * JavaScript arrays to Java arrays when passing them to the methods of injected Java objects. | 22 * JavaScript arrays to Java arrays when passing them to the methods of injected Java objects. |
16 * | 23 * |
17 * The conversions should follow | 24 * The conversions should follow |
18 * http://jdk6.java.net/plugin2/liveconnect/#JS_JAVA_CONVERSIONS. Places in | 25 * http://jdk6.java.net/plugin2/liveconnect/#JS_JAVA_CONVERSIONS. Places in |
19 * which the implementation differs from the spec are marked with | 26 * which the implementation differs from the spec are marked with |
20 * LIVECONNECT_COMPLIANCE. | 27 * LIVECONNECT_COMPLIANCE. |
21 * FIXME: Consider making our implementation more compliant, if it will not | 28 * FIXME: Consider making our implementation more compliant, if it will not |
22 * break backwards-compatibility. See b/4408210. | 29 * break backwards-compatibility. See b/4408210. |
23 */ | 30 */ |
24 public class JavaBridgeArrayCoercionTest extends JavaBridgeTestBase { | 31 @RunWith(BaseJUnit4ClassRunner.class) |
32 public class JavaBridgeArrayCoercionTest { | |
33 private static final double ASSERTION_DELTA = 0.00000001; | |
the real yoland
2017/03/08 23:39:03
Set ASSERTION_DELTA to be 0.00000001 for no partic
| |
34 | |
35 @Rule | |
36 public JavaBridgeActivityTestRule mActivityTestRule = new JavaBridgeActivity TestRule(); | |
37 | |
25 @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD") | 38 @SuppressFBWarnings("CHROMIUM_SYNCHRONIZED_METHOD") |
26 private static class TestObject extends Controller { | 39 private static class TestObject extends Controller { |
27 private final Object mObjectInstance; | 40 private final Object mObjectInstance; |
28 private final CustomType mCustomTypeInstance; | 41 private final CustomType mCustomTypeInstance; |
29 | 42 |
30 private boolean[] mBooleanArray; | 43 private boolean[] mBooleanArray; |
31 private byte[] mByteArray; | 44 private byte[] mByteArray; |
32 private char[] mCharArray; | 45 private char[] mCharArray; |
33 private short[] mShortArray; | 46 private short[] mShortArray; |
34 private int[] mIntArray; | 47 private int[] mIntArray; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
141 return mCustomTypeArray; | 154 return mCustomTypeArray; |
142 } | 155 } |
143 } | 156 } |
144 | 157 |
145 // Two custom types used when testing passing objects. | 158 // Two custom types used when testing passing objects. |
146 private static class CustomType { | 159 private static class CustomType { |
147 } | 160 } |
148 | 161 |
149 private TestObject mTestObject; | 162 private TestObject mTestObject; |
150 | 163 |
151 @Override | 164 @Before |
152 protected void setUp() throws Exception { | 165 public void setUp() throws Exception { |
153 super.setUp(); | |
154 mTestObject = new TestObject(); | 166 mTestObject = new TestObject(); |
155 injectObjectAndReload(mTestObject, "testObject"); | 167 mActivityTestRule.injectObjectAndReload(mTestObject, "testObject"); |
156 } | 168 } |
157 | 169 |
158 // Note that all tests use a single element array for simplicity. We test | 170 // Note that all tests use a single element array for simplicity. We test |
159 // multiple elements elsewhere. | 171 // multiple elements elsewhere. |
160 | 172 |
161 // Test passing an array of JavaScript numbers in the int32 range to a | 173 // Test passing an array of JavaScript numbers in the int32 range to a |
162 // method which takes a Java array. | 174 // method which takes a Java array. |
175 @Test | |
163 @SmallTest | 176 @SmallTest |
164 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 177 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
165 public void testPassNumberInt32() throws Throwable { | 178 public void testPassNumberInt32() throws Throwable { |
166 executeJavaScript("testObject.setBooleanArray([0]);"); | 179 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([0]);"); |
167 assertFalse(mTestObject.waitForBooleanArray()[0]); | 180 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
168 // LIVECONNECT_COMPLIANCE: Should convert to boolean. | 181 // LIVECONNECT_COMPLIANCE: Should convert to boolean. |
169 executeJavaScript("testObject.setBooleanArray([42]);"); | 182 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([42]);") ; |
170 assertFalse(mTestObject.waitForBooleanArray()[0]); | 183 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
171 | 184 |
172 executeJavaScript("testObject.setByteArray([42]);"); | 185 mActivityTestRule.executeJavaScript("testObject.setByteArray([42]);"); |
173 assertEquals(42, mTestObject.waitForByteArray()[0]); | 186 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
174 | 187 |
175 executeJavaScript("testObject.setCharArray([42]);"); | 188 mActivityTestRule.executeJavaScript("testObject.setCharArray([42]);"); |
176 assertEquals(42, mTestObject.waitForCharArray()[0]); | 189 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
177 | 190 |
178 executeJavaScript("testObject.setShortArray([42]);"); | 191 mActivityTestRule.executeJavaScript("testObject.setShortArray([42]);"); |
179 assertEquals(42, mTestObject.waitForShortArray()[0]); | 192 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
180 | 193 |
181 executeJavaScript("testObject.setIntArray([42]);"); | 194 mActivityTestRule.executeJavaScript("testObject.setIntArray([42]);"); |
182 assertEquals(42, mTestObject.waitForIntArray()[0]); | 195 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
183 | 196 |
184 executeJavaScript("testObject.setLongArray([42]);"); | 197 mActivityTestRule.executeJavaScript("testObject.setLongArray([42]);"); |
185 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 198 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
186 | 199 |
187 executeJavaScript("testObject.setFloatArray([42]);"); | 200 mActivityTestRule.executeJavaScript("testObject.setFloatArray([42]);"); |
188 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 201 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
189 | 202 |
190 executeJavaScript("testObject.setDoubleArray([42]);"); | 203 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([42]);"); |
191 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 204 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
192 | 205 |
193 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 206 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
194 executeJavaScript("testObject.setObjectArray([42]);"); | 207 mActivityTestRule.executeJavaScript("testObject.setObjectArray([42]);"); |
195 assertNull(mTestObject.waitForObjectArray()); | 208 Assert.assertNull(mTestObject.waitForObjectArray()); |
196 | 209 |
197 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. | 210 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. |
198 executeJavaScript("testObject.setStringArray([42]);"); | 211 mActivityTestRule.executeJavaScript("testObject.setStringArray([42]);"); |
199 assertNull(mTestObject.waitForStringArray()[0]); | 212 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
200 | 213 |
201 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 214 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
202 executeJavaScript("testObject.setCustomTypeArray([42]);"); | 215 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([42]) ;"); |
203 assertNull(mTestObject.waitForCustomTypeArray()); | 216 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
204 } | 217 } |
205 | 218 |
206 // Test passing an array of JavaScript numbers in the double range to a | 219 // Test passing an array of JavaScript numbers in the double range to a |
207 // method which takes a Java array. | 220 // method which takes a Java array. |
221 @Test | |
208 @SmallTest | 222 @SmallTest |
209 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 223 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
210 public void testPassNumberDouble() throws Throwable { | 224 public void testPassNumberDouble() throws Throwable { |
211 // LIVECONNECT_COMPLIANCE: Should convert to boolean. | 225 // LIVECONNECT_COMPLIANCE: Should convert to boolean. |
212 executeJavaScript("testObject.setBooleanArray([42.1]);"); | 226 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([42.1]); "); |
213 assertFalse(mTestObject.waitForBooleanArray()[0]); | 227 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
214 | 228 |
215 executeJavaScript("testObject.setByteArray([42.1]);"); | 229 mActivityTestRule.executeJavaScript("testObject.setByteArray([42.1]);"); |
216 assertEquals(42, mTestObject.waitForByteArray()[0]); | 230 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
217 | 231 |
218 // LIVECONNECT_COMPLIANCE: Should convert to numeric char value. | 232 // LIVECONNECT_COMPLIANCE: Should convert to numeric char value. |
219 executeJavaScript("testObject.setCharArray([42.1]);"); | 233 mActivityTestRule.executeJavaScript("testObject.setCharArray([42.1]);"); |
220 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 234 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
221 | 235 |
222 executeJavaScript("testObject.setShortArray([42.1]);"); | 236 mActivityTestRule.executeJavaScript("testObject.setShortArray([42.1]);") ; |
223 assertEquals(42, mTestObject.waitForShortArray()[0]); | 237 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
224 | 238 |
225 executeJavaScript("testObject.setIntArray([42.1]);"); | 239 mActivityTestRule.executeJavaScript("testObject.setIntArray([42.1]);"); |
226 assertEquals(42, mTestObject.waitForIntArray()[0]); | 240 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
227 | 241 |
228 executeJavaScript("testObject.setLongArray([42.1]);"); | 242 mActivityTestRule.executeJavaScript("testObject.setLongArray([42.1]);"); |
229 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 243 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
230 | 244 |
231 executeJavaScript("testObject.setFloatArray([42.1]);"); | 245 mActivityTestRule.executeJavaScript("testObject.setFloatArray([42.1]);") ; |
232 assertEquals(42.1f, mTestObject.waitForFloatArray()[0]); | 246 Assert.assertEquals(42.1f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
233 | 247 |
234 executeJavaScript("testObject.setDoubleArray([42.1]);"); | 248 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([42.1]);" ); |
235 assertEquals(42.1, mTestObject.waitForDoubleArray()[0]); | 249 Assert.assertEquals(42.1, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
236 | 250 |
237 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 251 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
238 executeJavaScript("testObject.setObjectArray([42.1]);"); | 252 mActivityTestRule.executeJavaScript("testObject.setObjectArray([42.1]);" ); |
239 assertNull(mTestObject.waitForObjectArray()); | 253 Assert.assertNull(mTestObject.waitForObjectArray()); |
240 | 254 |
241 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. | 255 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. |
242 executeJavaScript("testObject.setStringArray([42.1]);"); | 256 mActivityTestRule.executeJavaScript("testObject.setStringArray([42.1]);" ); |
243 assertNull(mTestObject.waitForStringArray()[0]); | 257 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
244 | 258 |
245 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 259 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
246 executeJavaScript("testObject.setCustomTypeArray([42.1]);"); | 260 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([42.1 ]);"); |
247 assertNull(mTestObject.waitForCustomTypeArray()); | 261 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
248 } | 262 } |
249 | 263 |
250 // Test passing an array of JavaScript NaN values to a method which takes a | 264 // Test passing an array of JavaScript NaN values to a method which takes a |
251 // Java array. | 265 // Java array. |
266 @Test | |
252 @SmallTest | 267 @SmallTest |
253 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 268 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
254 public void testPassNumberNaN() throws Throwable { | 269 public void testPassNumberNaN() throws Throwable { |
255 executeJavaScript("testObject.setBooleanArray([Number.NaN]);"); | 270 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([Number. NaN]);"); |
256 assertFalse(mTestObject.waitForBooleanArray()[0]); | 271 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
257 | 272 |
258 executeJavaScript("testObject.setByteArray([Number.NaN]);"); | 273 mActivityTestRule.executeJavaScript("testObject.setByteArray([Number.NaN ]);"); |
259 assertEquals(0, mTestObject.waitForByteArray()[0]); | 274 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
260 | 275 |
261 executeJavaScript("testObject.setCharArray([Number.NaN]);"); | 276 mActivityTestRule.executeJavaScript("testObject.setCharArray([Number.NaN ]);"); |
262 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 277 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
263 | 278 |
264 executeJavaScript("testObject.setShortArray([Number.NaN]);"); | 279 mActivityTestRule.executeJavaScript("testObject.setShortArray([Number.Na N]);"); |
265 assertEquals(0, mTestObject.waitForShortArray()[0]); | 280 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
266 | 281 |
267 executeJavaScript("testObject.setIntArray([Number.NaN]);"); | 282 mActivityTestRule.executeJavaScript("testObject.setIntArray([Number.NaN] );"); |
268 assertEquals(0, mTestObject.waitForIntArray()[0]); | 283 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
269 | 284 |
270 executeJavaScript("testObject.setLongArray([Number.NaN]);"); | 285 mActivityTestRule.executeJavaScript("testObject.setLongArray([Number.NaN ]);"); |
271 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 286 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
272 | 287 |
273 executeJavaScript("testObject.setFloatArray([Number.NaN]);"); | 288 mActivityTestRule.executeJavaScript("testObject.setFloatArray([Number.Na N]);"); |
274 assertEquals(Float.NaN, mTestObject.waitForFloatArray()[0]); | 289 Assert.assertEquals(Float.NaN, mTestObject.waitForFloatArray()[0], ASSER TION_DELTA); |
275 | 290 |
276 executeJavaScript("testObject.setDoubleArray([Number.NaN]);"); | 291 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([Number.N aN]);"); |
277 assertEquals(Double.NaN, mTestObject.waitForDoubleArray()[0]); | 292 Assert.assertEquals(Double.NaN, mTestObject.waitForDoubleArray()[0], ASS ERTION_DELTA); |
278 | 293 |
279 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 294 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
280 executeJavaScript("testObject.setObjectArray([Number.NaN]);"); | 295 mActivityTestRule.executeJavaScript("testObject.setObjectArray([Number.N aN]);"); |
281 assertNull(mTestObject.waitForObjectArray()); | 296 Assert.assertNull(mTestObject.waitForObjectArray()); |
282 | 297 |
283 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. | 298 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. |
284 executeJavaScript("testObject.setStringArray([Number.NaN]);"); | 299 mActivityTestRule.executeJavaScript("testObject.setStringArray([Number.N aN]);"); |
285 assertNull(mTestObject.waitForStringArray()[0]); | 300 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
286 | 301 |
287 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 302 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
288 executeJavaScript("testObject.setCustomTypeArray([Number.NaN]);"); | 303 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([Numb er.NaN]);"); |
289 assertNull(mTestObject.waitForCustomTypeArray()); | 304 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
290 } | 305 } |
291 | 306 |
292 // Test passing an array of JavaScript infinity values to a method which | 307 // Test passing an array of JavaScript infinity values to a method which |
293 // takes a Java array. | 308 // takes a Java array. |
309 @Test | |
294 @SmallTest | 310 @SmallTest |
295 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 311 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
296 public void testPassNumberInfinity() throws Throwable { | 312 public void testPassNumberInfinity() throws Throwable { |
297 executeJavaScript("testObject.setBooleanArray([Infinity]);"); | 313 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([Infinit y]);"); |
298 assertFalse(mTestObject.waitForBooleanArray()[0]); | 314 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
299 | 315 |
300 executeJavaScript("testObject.setByteArray([Infinity]);"); | 316 mActivityTestRule.executeJavaScript("testObject.setByteArray([Infinity]) ;"); |
301 assertEquals(-1, mTestObject.waitForByteArray()[0]); | 317 Assert.assertEquals(-1, mTestObject.waitForByteArray()[0]); |
302 | 318 |
303 // LIVECONNECT_COMPLIANCE: Should convert to maximum numeric char value. | 319 // LIVECONNECT_COMPLIANCE: Should convert to maximum numeric char value. |
304 executeJavaScript("testObject.setCharArray([Infinity]);"); | 320 mActivityTestRule.executeJavaScript("testObject.setCharArray([Infinity]) ;"); |
305 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 321 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
306 | 322 |
307 executeJavaScript("testObject.setShortArray([Infinity]);"); | 323 mActivityTestRule.executeJavaScript("testObject.setShortArray([Infinity] );"); |
308 assertEquals(-1, mTestObject.waitForShortArray()[0]); | 324 Assert.assertEquals(-1, mTestObject.waitForShortArray()[0]); |
309 | 325 |
310 executeJavaScript("testObject.setIntArray([Infinity]);"); | 326 mActivityTestRule.executeJavaScript("testObject.setIntArray([Infinity]); "); |
311 assertEquals(Integer.MAX_VALUE, mTestObject.waitForIntArray()[0]); | 327 Assert.assertEquals(Integer.MAX_VALUE, mTestObject.waitForIntArray()[0]) ; |
312 | 328 |
313 executeJavaScript("testObject.setLongArray([Infinity]);"); | 329 mActivityTestRule.executeJavaScript("testObject.setLongArray([Infinity]) ;"); |
314 assertEquals(Long.MAX_VALUE, mTestObject.waitForLongArray()[0]); | 330 Assert.assertEquals(Long.MAX_VALUE, mTestObject.waitForLongArray()[0]); |
315 | 331 |
316 executeJavaScript("testObject.setFloatArray([Infinity]);"); | 332 mActivityTestRule.executeJavaScript("testObject.setFloatArray([Infinity] );"); |
317 assertEquals(Float.POSITIVE_INFINITY, mTestObject.waitForFloatArray()[0] ); | 333 Assert.assertEquals( |
318 | 334 Float.POSITIVE_INFINITY, mTestObject.waitForFloatArray()[0], ASS ERTION_DELTA); |
319 executeJavaScript("testObject.setDoubleArray([Infinity]);"); | 335 |
320 assertEquals(Double.POSITIVE_INFINITY, mTestObject.waitForDoubleArray()[ 0]); | 336 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([Infinity ]);"); |
337 Assert.assertEquals( | |
338 Double.POSITIVE_INFINITY, mTestObject.waitForDoubleArray()[0], A SSERTION_DELTA); | |
321 | 339 |
322 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 340 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
323 executeJavaScript("testObject.setObjectArray([Infinity]);"); | 341 mActivityTestRule.executeJavaScript("testObject.setObjectArray([Infinity ]);"); |
324 assertNull(mTestObject.waitForObjectArray()); | 342 Assert.assertNull(mTestObject.waitForObjectArray()); |
325 | 343 |
326 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. | 344 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. |
327 executeJavaScript("testObject.setStringArray([Infinity]);"); | 345 mActivityTestRule.executeJavaScript("testObject.setStringArray([Infinity ]);"); |
328 assertNull(mTestObject.waitForStringArray()[0]); | 346 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
329 | 347 |
330 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 348 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
331 executeJavaScript("testObject.setCustomTypeArray([Infinity]);"); | 349 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([Infi nity]);"); |
332 assertNull(mTestObject.waitForCustomTypeArray()); | 350 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
333 } | 351 } |
334 | 352 |
335 // Test passing an array of JavaScript boolean values to a method which | 353 // Test passing an array of JavaScript boolean values to a method which |
336 // takes a Java array. | 354 // takes a Java array. |
355 @Test | |
337 @SmallTest | 356 @SmallTest |
338 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 357 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
339 public void testPassBoolean() throws Throwable { | 358 public void testPassBoolean() throws Throwable { |
340 executeJavaScript("testObject.setBooleanArray([true]);"); | 359 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([true]); "); |
341 assertTrue(mTestObject.waitForBooleanArray()[0]); | 360 Assert.assertTrue(mTestObject.waitForBooleanArray()[0]); |
342 executeJavaScript("testObject.setBooleanArray([false]);"); | 361 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([false]) ;"); |
343 assertFalse(mTestObject.waitForBooleanArray()[0]); | 362 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
344 | 363 |
345 // LIVECONNECT_COMPLIANCE: Should be 1. | 364 // LIVECONNECT_COMPLIANCE: Should be 1. |
346 executeJavaScript("testObject.setByteArray([true]);"); | 365 mActivityTestRule.executeJavaScript("testObject.setByteArray([true]);"); |
347 assertEquals(0, mTestObject.waitForByteArray()[0]); | 366 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
348 executeJavaScript("testObject.setByteArray([false]);"); | 367 mActivityTestRule.executeJavaScript("testObject.setByteArray([false]);") ; |
349 assertEquals(0, mTestObject.waitForByteArray()[0]); | 368 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
350 | 369 |
351 // LIVECONNECT_COMPLIANCE: Should convert to numeric char value 1. | 370 // LIVECONNECT_COMPLIANCE: Should convert to numeric char value 1. |
352 executeJavaScript("testObject.setCharArray([true]);"); | 371 mActivityTestRule.executeJavaScript("testObject.setCharArray([true]);"); |
353 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 372 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
354 executeJavaScript("testObject.setCharArray([false]);"); | 373 mActivityTestRule.executeJavaScript("testObject.setCharArray([false]);") ; |
355 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 374 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
356 | 375 |
357 // LIVECONNECT_COMPLIANCE: Should be 1. | 376 // LIVECONNECT_COMPLIANCE: Should be 1. |
358 executeJavaScript("testObject.setShortArray([true]);"); | 377 mActivityTestRule.executeJavaScript("testObject.setShortArray([true]);") ; |
359 assertEquals(0, mTestObject.waitForShortArray()[0]); | 378 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
360 executeJavaScript("testObject.setShortArray([false]);"); | 379 mActivityTestRule.executeJavaScript("testObject.setShortArray([false]);" ); |
361 assertEquals(0, mTestObject.waitForShortArray()[0]); | 380 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
362 | 381 |
363 // LIVECONNECT_COMPLIANCE: Should be 1. | 382 // LIVECONNECT_COMPLIANCE: Should be 1. |
364 executeJavaScript("testObject.setIntArray([true]);"); | 383 mActivityTestRule.executeJavaScript("testObject.setIntArray([true]);"); |
365 assertEquals(0, mTestObject.waitForIntArray()[0]); | 384 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
366 executeJavaScript("testObject.setIntArray([false]);"); | 385 mActivityTestRule.executeJavaScript("testObject.setIntArray([false]);"); |
367 assertEquals(0, mTestObject.waitForIntArray()[0]); | 386 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
368 | 387 |
369 // LIVECONNECT_COMPLIANCE: Should be 1. | 388 // LIVECONNECT_COMPLIANCE: Should be 1. |
370 executeJavaScript("testObject.setLongArray([true]);"); | 389 mActivityTestRule.executeJavaScript("testObject.setLongArray([true]);"); |
371 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 390 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
372 executeJavaScript("testObject.setLongArray([false]);"); | 391 mActivityTestRule.executeJavaScript("testObject.setLongArray([false]);") ; |
373 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 392 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
374 | 393 |
375 // LIVECONNECT_COMPLIANCE: Should be 1.0. | 394 // LIVECONNECT_COMPLIANCE: Should be 1.0. |
376 executeJavaScript("testObject.setFloatArray([true]);"); | 395 mActivityTestRule.executeJavaScript("testObject.setFloatArray([true]);") ; |
377 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 396 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
378 executeJavaScript("testObject.setFloatArray([false]);"); | 397 mActivityTestRule.executeJavaScript("testObject.setFloatArray([false]);" ); |
379 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 398 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
380 | 399 |
381 // LIVECONNECT_COMPLIANCE: Should be 1.0. | 400 // LIVECONNECT_COMPLIANCE: Should be 1.0. |
382 executeJavaScript("testObject.setDoubleArray([true]);"); | 401 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([true]);" ); |
383 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 402 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
384 executeJavaScript("testObject.setDoubleArray([false]);"); | 403 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([false]); "); |
385 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 404 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
386 | 405 |
387 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 406 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
388 executeJavaScript("testObject.setObjectArray([true]);"); | 407 mActivityTestRule.executeJavaScript("testObject.setObjectArray([true]);" ); |
389 assertNull(mTestObject.waitForObjectArray()); | 408 Assert.assertNull(mTestObject.waitForObjectArray()); |
390 | 409 |
391 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. | 410 // LIVECONNECT_COMPLIANCE: Should create instances of java.lang.String. |
392 executeJavaScript("testObject.setStringArray([true]);"); | 411 mActivityTestRule.executeJavaScript("testObject.setStringArray([true]);" ); |
393 assertNull(mTestObject.waitForStringArray()[0]); | 412 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
394 | 413 |
395 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 414 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
396 executeJavaScript("testObject.setCustomTypeArray([true]);"); | 415 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([true ]);"); |
397 assertNull(mTestObject.waitForCustomTypeArray()); | 416 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
398 } | 417 } |
399 | 418 |
400 // Test passing an array of JavaScript strings to a method which takes a | 419 // Test passing an array of JavaScript strings to a method which takes a |
401 // Java array. | 420 // Java array. |
421 @Test | |
402 @SmallTest | 422 @SmallTest |
403 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 423 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
404 public void testPassString() throws Throwable { | 424 public void testPassString() throws Throwable { |
405 // LIVECONNECT_COMPLIANCE: Non-empty string should convert to true. | 425 // LIVECONNECT_COMPLIANCE: Non-empty string should convert to true. |
406 executeJavaScript("testObject.setBooleanArray([\"+042.10\"]);"); | 426 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([\"+042. 10\"]);"); |
407 assertFalse(mTestObject.waitForBooleanArray()[0]); | 427 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
408 | 428 |
409 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 429 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
410 executeJavaScript("testObject.setByteArray([\"+042.10\"]);"); | 430 mActivityTestRule.executeJavaScript("testObject.setByteArray([\"+042.10\ "]);"); |
411 assertEquals(0, mTestObject.waitForByteArray()[0]); | 431 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
412 | 432 |
413 // LIVECONNECT_COMPLIANCE: Should decode and convert to numeric char val ue. | 433 // LIVECONNECT_COMPLIANCE: Should decode and convert to numeric char val ue. |
414 executeJavaScript("testObject.setCharArray([\"+042.10\"]);"); | 434 mActivityTestRule.executeJavaScript("testObject.setCharArray([\"+042.10\ "]);"); |
415 assertEquals(0, mTestObject.waitForCharArray()[0]); | 435 Assert.assertEquals(0, mTestObject.waitForCharArray()[0]); |
416 | 436 |
417 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 437 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
418 executeJavaScript("testObject.setShortArray([\"+042.10\"]);"); | 438 mActivityTestRule.executeJavaScript("testObject.setShortArray([\"+042.10 \"]);"); |
419 assertEquals(0, mTestObject.waitForShortArray()[0]); | 439 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
420 | 440 |
421 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 441 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
422 executeJavaScript("testObject.setIntArray([\"+042.10\"]);"); | 442 mActivityTestRule.executeJavaScript("testObject.setIntArray([\"+042.10\" ]);"); |
423 assertEquals(0, mTestObject.waitForIntArray()[0]); | 443 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
424 | 444 |
425 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 445 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
426 executeJavaScript("testObject.setLongArray([\"+042.10\"]);"); | 446 mActivityTestRule.executeJavaScript("testObject.setLongArray([\"+042.10\ "]);"); |
427 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 447 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
428 | 448 |
429 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 449 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
430 executeJavaScript("testObject.setFloatArray([\"+042.10\"]);"); | 450 mActivityTestRule.executeJavaScript("testObject.setFloatArray([\"+042.10 \"]);"); |
431 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 451 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
432 | 452 |
433 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. | 453 // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. |
434 executeJavaScript("testObject.setDoubleArray([\"+042.10\"]);"); | 454 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([\"+042.1 0\"]);"); |
435 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 455 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
436 | 456 |
437 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. | 457 // LIVECONNECT_COMPLIANCE: Should create array and create instances of j ava.lang.Number. |
438 executeJavaScript("testObject.setObjectArray([\"+042.10\"]);"); | 458 mActivityTestRule.executeJavaScript("testObject.setObjectArray([\"+042.1 0\"]);"); |
439 assertNull(mTestObject.waitForObjectArray()); | 459 Assert.assertNull(mTestObject.waitForObjectArray()); |
440 | 460 |
441 executeJavaScript("testObject.setStringArray([\"+042.10\"]);"); | 461 mActivityTestRule.executeJavaScript("testObject.setStringArray([\"+042.1 0\"]);"); |
442 assertEquals("+042.10", mTestObject.waitForStringArray()[0]); | 462 Assert.assertEquals("+042.10", mTestObject.waitForStringArray()[0]); |
443 | 463 |
444 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 464 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
445 executeJavaScript("testObject.setCustomTypeArray([\"+042.10\"]);"); | 465 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([\"+0 42.10\"]);"); |
446 assertNull(mTestObject.waitForCustomTypeArray()); | 466 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
447 } | 467 } |
448 | 468 |
449 // Test passing an array of JavaScript objects to a method which takes a | 469 // Test passing an array of JavaScript objects to a method which takes a |
450 // Java array. | 470 // Java array. |
471 @Test | |
451 @SmallTest | 472 @SmallTest |
452 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 473 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
453 public void testPassJavaScriptObject() throws Throwable { | 474 public void testPassJavaScriptObject() throws Throwable { |
454 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 475 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
455 executeJavaScript("testObject.setBooleanArray([{foo: 42}]);"); | 476 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([{foo: 4 2}]);"); |
456 assertFalse(mTestObject.waitForBooleanArray()[0]); | 477 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
457 | 478 |
458 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 479 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
459 executeJavaScript("testObject.setByteArray([{foo: 42}]);"); | 480 mActivityTestRule.executeJavaScript("testObject.setByteArray([{foo: 42}] );"); |
460 assertEquals(0, mTestObject.waitForByteArray()[0]); | 481 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
461 | 482 |
462 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 483 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
463 executeJavaScript("testObject.setCharArray([{foo: 42}]);"); | 484 mActivityTestRule.executeJavaScript("testObject.setCharArray([{foo: 42}] );"); |
464 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 485 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
465 | 486 |
466 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 487 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
467 executeJavaScript("testObject.setShortArray([{foo: 42}]);"); | 488 mActivityTestRule.executeJavaScript("testObject.setShortArray([{foo: 42} ]);"); |
468 assertEquals(0, mTestObject.waitForShortArray()[0]); | 489 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
469 | 490 |
470 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 491 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
471 executeJavaScript("testObject.setIntArray([{foo: 42}]);"); | 492 mActivityTestRule.executeJavaScript("testObject.setIntArray([{foo: 42}]) ;"); |
472 assertEquals(0, mTestObject.waitForIntArray()[0]); | 493 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
473 | 494 |
474 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 495 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
475 executeJavaScript("testObject.setLongArray([{foo: 42}]);"); | 496 mActivityTestRule.executeJavaScript("testObject.setLongArray([{foo: 42}] );"); |
476 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 497 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
477 | 498 |
478 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 499 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
479 executeJavaScript("testObject.setFloatArray([{foo: 42}]);"); | 500 mActivityTestRule.executeJavaScript("testObject.setFloatArray([{foo: 42} ]);"); |
480 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 501 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
481 | 502 |
482 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 503 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
483 executeJavaScript("testObject.setDoubleArray([{foo: 42}]);"); | 504 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([{foo: 42 }]);"); |
484 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 505 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
485 | 506 |
486 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 507 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
487 executeJavaScript("testObject.setObjectArray([{foo: 42}]);"); | 508 mActivityTestRule.executeJavaScript("testObject.setObjectArray([{foo: 42 }]);"); |
488 assertNull(mTestObject.waitForObjectArray()); | 509 Assert.assertNull(mTestObject.waitForObjectArray()); |
489 | 510 |
490 // LIVECONNECT_COMPLIANCE: Should call toString() on object. | 511 // LIVECONNECT_COMPLIANCE: Should call toString() on object. |
491 executeJavaScript("testObject.setStringArray([{foo: 42}]);"); | 512 mActivityTestRule.executeJavaScript("testObject.setStringArray([{foo: 42 }]);"); |
492 assertNull(mTestObject.waitForStringArray()[0]); | 513 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
493 | 514 |
494 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 515 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
495 executeJavaScript("testObject.setCustomTypeArray([{foo: 42}]);"); | 516 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([{foo : 42}]);"); |
496 assertNull(mTestObject.waitForCustomTypeArray()); | 517 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
497 } | 518 } |
498 | 519 |
499 // Test passing an array of Java objects to a method which takes a Java | 520 // Test passing an array of Java objects to a method which takes a Java |
500 // array. | 521 // array. |
522 @Test | |
501 @SmallTest | 523 @SmallTest |
502 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 524 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
503 public void testPassJavaObject() throws Throwable { | 525 public void testPassJavaObject() throws Throwable { |
504 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 526 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
505 executeJavaScript("testObject.setBooleanArray([testObject.getObjectInsta nce()]);"); | 527 mActivityTestRule.executeJavaScript( |
506 assertFalse(mTestObject.waitForBooleanArray()[0]); | 528 "testObject.setBooleanArray([testObject.getObjectInstance()]);") ; |
507 | 529 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
508 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 530 |
509 executeJavaScript("testObject.setByteArray([testObject.getObjectInstance ()]);"); | 531 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
510 assertEquals(0, mTestObject.waitForByteArray()[0]); | 532 mActivityTestRule.executeJavaScript( |
511 | 533 "testObject.setByteArray([testObject.getObjectInstance()]);"); |
512 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 534 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
513 executeJavaScript("testObject.setCharArray([testObject.getObjectInstance ()]);"); | 535 |
514 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 536 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
515 | 537 mActivityTestRule.executeJavaScript( |
516 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 538 "testObject.setCharArray([testObject.getObjectInstance()]);"); |
517 executeJavaScript("testObject.setShortArray([testObject.getObjectInstanc e()]);"); | 539 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
518 assertEquals(0, mTestObject.waitForShortArray()[0]); | 540 |
519 | 541 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
520 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 542 mActivityTestRule.executeJavaScript( |
521 executeJavaScript("testObject.setIntArray([testObject.getObjectInstance( )]);"); | 543 "testObject.setShortArray([testObject.getObjectInstance()]);"); |
522 assertEquals(0, mTestObject.waitForIntArray()[0]); | 544 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
523 | 545 |
524 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 546 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
525 executeJavaScript("testObject.setLongArray([testObject.getObjectInstance ()]);"); | 547 mActivityTestRule.executeJavaScript( |
526 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 548 "testObject.setIntArray([testObject.getObjectInstance()]);"); |
527 | 549 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
528 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 550 |
529 executeJavaScript("testObject.setFloatArray([testObject.getObjectInstanc e()]);"); | 551 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
530 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 552 mActivityTestRule.executeJavaScript( |
531 | 553 "testObject.setLongArray([testObject.getObjectInstance()]);"); |
532 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | 554 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
533 executeJavaScript("testObject.setDoubleArray([testObject.getObjectInstan ce()]);"); | 555 |
534 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 556 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. |
557 mActivityTestRule.executeJavaScript( | |
558 "testObject.setFloatArray([testObject.getObjectInstance()]);"); | |
559 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); | |
560 | |
561 // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. | |
562 mActivityTestRule.executeJavaScript( | |
563 "testObject.setDoubleArray([testObject.getObjectInstance()]);"); | |
564 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); | |
535 | 565 |
536 // LIVECONNECT_COMPLIANCE: Should create an array and pass Java object. | 566 // LIVECONNECT_COMPLIANCE: Should create an array and pass Java object. |
537 executeJavaScript("testObject.setObjectArray([testObject.getObjectInstan ce()]);"); | 567 mActivityTestRule.executeJavaScript( |
538 assertNull(mTestObject.waitForObjectArray()); | 568 "testObject.setObjectArray([testObject.getObjectInstance()]);"); |
569 Assert.assertNull(mTestObject.waitForObjectArray()); | |
539 | 570 |
540 // LIVECONNECT_COMPLIANCE: Should call toString() on object. | 571 // LIVECONNECT_COMPLIANCE: Should call toString() on object. |
541 executeJavaScript("testObject.setStringArray([testObject.getObjectInstan ce()]);"); | 572 mActivityTestRule.executeJavaScript( |
542 assertNull(mTestObject.waitForStringArray()[0]); | 573 "testObject.setStringArray([testObject.getObjectInstance()]);"); |
574 Assert.assertNull(mTestObject.waitForStringArray()[0]); | |
543 | 575 |
544 // LIVECONNECT_COMPLIANCE: Should create array and pass Java object. | 576 // LIVECONNECT_COMPLIANCE: Should create array and pass Java object. |
545 executeJavaScript("testObject.setCustomTypeArray([testObject.getObjectIn stance()]);"); | 577 mActivityTestRule.executeJavaScript( |
546 assertNull(mTestObject.waitForCustomTypeArray()); | 578 "testObject.setCustomTypeArray([testObject.getObjectInstance()]) ;"); |
547 executeJavaScript("testObject.setCustomTypeArray([testObject.getCustomTy peInstance()]);"); | 579 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
548 assertNull(mTestObject.waitForCustomTypeArray()); | 580 mActivityTestRule.executeJavaScript( |
581 "testObject.setCustomTypeArray([testObject.getCustomTypeInstance ()]);"); | |
582 Assert.assertNull(mTestObject.waitForCustomTypeArray()); | |
549 } | 583 } |
550 | 584 |
551 // Test passing an array of JavaScript null values to a method which takes | 585 // Test passing an array of JavaScript null values to a method which takes |
552 // a Java array. | 586 // a Java array. |
587 @Test | |
553 @SmallTest | 588 @SmallTest |
554 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 589 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
555 public void testPassNull() throws Throwable { | 590 public void testPassNull() throws Throwable { |
556 executeJavaScript("testObject.setByteArray([null]);"); | 591 mActivityTestRule.executeJavaScript("testObject.setByteArray([null]);"); |
557 assertEquals(0, mTestObject.waitForByteArray()[0]); | 592 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
558 | 593 |
559 executeJavaScript("testObject.setCharArray([null]);"); | 594 mActivityTestRule.executeJavaScript("testObject.setCharArray([null]);"); |
560 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 595 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
561 | 596 |
562 executeJavaScript("testObject.setShortArray([null]);"); | 597 mActivityTestRule.executeJavaScript("testObject.setShortArray([null]);") ; |
563 assertEquals(0, mTestObject.waitForShortArray()[0]); | 598 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
564 | 599 |
565 executeJavaScript("testObject.setIntArray([null]);"); | 600 mActivityTestRule.executeJavaScript("testObject.setIntArray([null]);"); |
566 assertEquals(0, mTestObject.waitForIntArray()[0]); | 601 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
567 | 602 |
568 executeJavaScript("testObject.setLongArray([null]);"); | 603 mActivityTestRule.executeJavaScript("testObject.setLongArray([null]);"); |
569 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 604 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
570 | 605 |
571 executeJavaScript("testObject.setFloatArray([null]);"); | 606 mActivityTestRule.executeJavaScript("testObject.setFloatArray([null]);") ; |
572 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 607 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
573 | 608 |
574 executeJavaScript("testObject.setDoubleArray([null]);"); | 609 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([null]);" ); |
575 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 610 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
576 | 611 |
577 executeJavaScript("testObject.setBooleanArray([null]);"); | 612 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([null]); "); |
578 assertFalse(mTestObject.waitForBooleanArray()[0]); | 613 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
579 | 614 |
580 // LIVECONNECT_COMPLIANCE: Should create array and pass null. | 615 // LIVECONNECT_COMPLIANCE: Should create array and pass null. |
581 executeJavaScript("testObject.setObjectArray([null]);"); | 616 mActivityTestRule.executeJavaScript("testObject.setObjectArray([null]);" ); |
582 assertNull(mTestObject.waitForObjectArray()); | 617 Assert.assertNull(mTestObject.waitForObjectArray()); |
583 | 618 |
584 executeJavaScript("testObject.setStringArray([null]);"); | 619 mActivityTestRule.executeJavaScript("testObject.setStringArray([null]);" ); |
585 assertNull(mTestObject.waitForStringArray()[0]); | 620 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
586 | 621 |
587 // LIVECONNECT_COMPLIANCE: Should create array and pass null. | 622 // LIVECONNECT_COMPLIANCE: Should create array and pass null. |
588 executeJavaScript("testObject.setCustomTypeArray([null]);"); | 623 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([null ]);"); |
589 assertNull(mTestObject.waitForCustomTypeArray()); | 624 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
590 } | 625 } |
591 | 626 |
592 // Test passing an array of JavaScript undefined values to a method which | 627 // Test passing an array of JavaScript undefined values to a method which |
593 // takes a Java array. | 628 // takes a Java array. |
629 @Test | |
594 @SmallTest | 630 @SmallTest |
595 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 631 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
596 public void testPassUndefined() throws Throwable { | 632 public void testPassUndefined() throws Throwable { |
597 executeJavaScript("testObject.setByteArray([undefined]);"); | 633 mActivityTestRule.executeJavaScript("testObject.setByteArray([undefined] );"); |
598 assertEquals(0, mTestObject.waitForByteArray()[0]); | 634 Assert.assertEquals(0, mTestObject.waitForByteArray()[0]); |
599 | 635 |
600 executeJavaScript("testObject.setCharArray([undefined]);"); | 636 mActivityTestRule.executeJavaScript("testObject.setCharArray([undefined] );"); |
601 assertEquals(0, mTestObject.waitForCharArray()[0]); | 637 Assert.assertEquals(0, mTestObject.waitForCharArray()[0]); |
602 | 638 |
603 executeJavaScript("testObject.setShortArray([undefined]);"); | 639 mActivityTestRule.executeJavaScript("testObject.setShortArray([undefined ]);"); |
604 assertEquals(0, mTestObject.waitForShortArray()[0]); | 640 Assert.assertEquals(0, mTestObject.waitForShortArray()[0]); |
605 | 641 |
606 executeJavaScript("testObject.setIntArray([undefined]);"); | 642 mActivityTestRule.executeJavaScript("testObject.setIntArray([undefined]) ;"); |
607 assertEquals(0, mTestObject.waitForIntArray()[0]); | 643 Assert.assertEquals(0, mTestObject.waitForIntArray()[0]); |
608 | 644 |
609 executeJavaScript("testObject.setLongArray([undefined]);"); | 645 mActivityTestRule.executeJavaScript("testObject.setLongArray([undefined] );"); |
610 assertEquals(0L, mTestObject.waitForLongArray()[0]); | 646 Assert.assertEquals(0L, mTestObject.waitForLongArray()[0]); |
611 | 647 |
612 executeJavaScript("testObject.setFloatArray([undefined]);"); | 648 mActivityTestRule.executeJavaScript("testObject.setFloatArray([undefined ]);"); |
613 assertEquals(0.0f, mTestObject.waitForFloatArray()[0]); | 649 Assert.assertEquals(0.0f, mTestObject.waitForFloatArray()[0], ASSERTION_ DELTA); |
614 | 650 |
615 executeJavaScript("testObject.setDoubleArray([undefined]);"); | 651 mActivityTestRule.executeJavaScript("testObject.setDoubleArray([undefine d]);"); |
616 assertEquals(0.0, mTestObject.waitForDoubleArray()[0]); | 652 Assert.assertEquals(0.0, mTestObject.waitForDoubleArray()[0], ASSERTION_ DELTA); |
617 | 653 |
618 executeJavaScript("testObject.setBooleanArray([undefined]);"); | 654 mActivityTestRule.executeJavaScript("testObject.setBooleanArray([undefin ed]);"); |
619 assertEquals(false, mTestObject.waitForBooleanArray()[0]); | 655 Assert.assertEquals(false, mTestObject.waitForBooleanArray()[0]); |
620 | 656 |
621 // LIVECONNECT_COMPLIANCE: Should create array and pass null. | 657 // LIVECONNECT_COMPLIANCE: Should create array and pass null. |
622 executeJavaScript("testObject.setObjectArray([undefined]);"); | 658 mActivityTestRule.executeJavaScript("testObject.setObjectArray([undefine d]);"); |
623 assertNull(mTestObject.waitForObjectArray()); | 659 Assert.assertNull(mTestObject.waitForObjectArray()); |
624 | 660 |
625 executeJavaScript("testObject.setStringArray([undefined]);"); | 661 mActivityTestRule.executeJavaScript("testObject.setStringArray([undefine d]);"); |
626 assertNull(mTestObject.waitForStringArray()[0]); | 662 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
627 | 663 |
628 // LIVECONNECT_COMPLIANCE: Should create array and pass null. | 664 // LIVECONNECT_COMPLIANCE: Should create array and pass null. |
629 executeJavaScript("testObject.setCustomTypeArray([undefined]);"); | 665 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray([unde fined]);"); |
630 assertNull(mTestObject.waitForCustomTypeArray()); | 666 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
631 } | 667 } |
632 | 668 |
633 // Test passing a typed Int8Array to a method which takes a Java array. | 669 // Test passing a typed Int8Array to a method which takes a Java array. |
670 @Test | |
634 @SmallTest | 671 @SmallTest |
635 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 672 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
636 public void testPassInt8Array() throws Throwable { | 673 public void testPassInt8Array() throws Throwable { |
637 executeJavaScript("buffer = new ArrayBuffer(1);"); | 674 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(1);"); |
638 executeJavaScript("int8_array = new Int8Array(buffer);"); | 675 mActivityTestRule.executeJavaScript("int8_array = new Int8Array(buffer); "); |
639 executeJavaScript("int8_array[0] = 42;"); | 676 mActivityTestRule.executeJavaScript("int8_array[0] = 42;"); |
640 | 677 |
641 executeJavaScript("testObject.setBooleanArray(int8_array);"); | 678 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(int8_arr ay);"); |
642 assertFalse(mTestObject.waitForBooleanArray()[0]); | 679 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
643 | 680 |
644 executeJavaScript("testObject.setByteArray(int8_array);"); | 681 mActivityTestRule.executeJavaScript("testObject.setByteArray(int8_array) ;"); |
645 assertEquals(42, mTestObject.waitForByteArray()[0]); | 682 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
646 | 683 |
647 executeJavaScript("testObject.setCharArray(int8_array);"); | 684 mActivityTestRule.executeJavaScript("testObject.setCharArray(int8_array) ;"); |
648 assertEquals(42, mTestObject.waitForCharArray()[0]); | 685 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
649 | 686 |
650 executeJavaScript("testObject.setShortArray(int8_array);"); | 687 mActivityTestRule.executeJavaScript("testObject.setShortArray(int8_array );"); |
651 assertEquals(42, mTestObject.waitForShortArray()[0]); | 688 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
652 | 689 |
653 executeJavaScript("testObject.setIntArray(int8_array);"); | 690 mActivityTestRule.executeJavaScript("testObject.setIntArray(int8_array); "); |
654 assertEquals(42, mTestObject.waitForIntArray()[0]); | 691 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
655 | 692 |
656 executeJavaScript("testObject.setLongArray(int8_array);"); | 693 mActivityTestRule.executeJavaScript("testObject.setLongArray(int8_array) ;"); |
657 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 694 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
658 | 695 |
659 executeJavaScript("testObject.setFloatArray(int8_array);"); | 696 mActivityTestRule.executeJavaScript("testObject.setFloatArray(int8_array );"); |
660 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 697 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
661 | 698 |
662 executeJavaScript("testObject.setDoubleArray(int8_array);"); | 699 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(int8_arra y);"); |
663 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 700 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
664 | 701 |
665 executeJavaScript("testObject.setObjectArray(int8_array);"); | 702 mActivityTestRule.executeJavaScript("testObject.setObjectArray(int8_arra y);"); |
666 assertNull(mTestObject.waitForObjectArray()); | 703 Assert.assertNull(mTestObject.waitForObjectArray()); |
667 | 704 |
668 executeJavaScript("testObject.setStringArray(int8_array);"); | 705 mActivityTestRule.executeJavaScript("testObject.setStringArray(int8_arra y);"); |
669 assertNull(mTestObject.waitForStringArray()[0]); | 706 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
670 | 707 |
671 executeJavaScript("testObject.setCustomTypeArray(int8_array);"); | 708 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(int8_ array);"); |
672 assertNull(mTestObject.waitForCustomTypeArray()); | 709 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
673 } | 710 } |
674 | 711 |
675 // Test passing a typed Uint8Array to a method which takes a Java array. | 712 // Test passing a typed Uint8Array to a method which takes a Java array. |
713 @Test | |
676 @SmallTest | 714 @SmallTest |
677 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 715 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
678 public void testPassUint8Array() throws Throwable { | 716 public void testPassUint8Array() throws Throwable { |
679 executeJavaScript("buffer = new ArrayBuffer(1);"); | 717 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(1);"); |
680 executeJavaScript("uint8_array = new Uint8Array(buffer);"); | 718 mActivityTestRule.executeJavaScript("uint8_array = new Uint8Array(buffer );"); |
681 executeJavaScript("uint8_array[0] = 42;"); | 719 mActivityTestRule.executeJavaScript("uint8_array[0] = 42;"); |
682 | 720 |
683 executeJavaScript("testObject.setBooleanArray(uint8_array);"); | 721 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(uint8_ar ray);"); |
684 assertFalse(mTestObject.waitForBooleanArray()[0]); | 722 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
685 | 723 |
686 executeJavaScript("testObject.setByteArray(uint8_array);"); | 724 mActivityTestRule.executeJavaScript("testObject.setByteArray(uint8_array );"); |
687 assertEquals(42, mTestObject.waitForByteArray()[0]); | 725 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
688 | 726 |
689 executeJavaScript("testObject.setCharArray(uint8_array);"); | 727 mActivityTestRule.executeJavaScript("testObject.setCharArray(uint8_array );"); |
690 assertEquals(42, mTestObject.waitForCharArray()[0]); | 728 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
691 | 729 |
692 executeJavaScript("testObject.setShortArray(uint8_array);"); | 730 mActivityTestRule.executeJavaScript("testObject.setShortArray(uint8_arra y);"); |
693 assertEquals(42, mTestObject.waitForShortArray()[0]); | 731 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
694 | 732 |
695 executeJavaScript("testObject.setIntArray(uint8_array);"); | 733 mActivityTestRule.executeJavaScript("testObject.setIntArray(uint8_array) ;"); |
696 assertEquals(42, mTestObject.waitForIntArray()[0]); | 734 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
697 | 735 |
698 executeJavaScript("testObject.setLongArray(uint8_array);"); | 736 mActivityTestRule.executeJavaScript("testObject.setLongArray(uint8_array );"); |
699 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 737 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
700 | 738 |
701 executeJavaScript("testObject.setFloatArray(uint8_array);"); | 739 mActivityTestRule.executeJavaScript("testObject.setFloatArray(uint8_arra y);"); |
702 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 740 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
703 | 741 |
704 executeJavaScript("testObject.setDoubleArray(uint8_array);"); | 742 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(uint8_arr ay);"); |
705 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 743 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
706 | 744 |
707 executeJavaScript("testObject.setObjectArray(uint8_array);"); | 745 mActivityTestRule.executeJavaScript("testObject.setObjectArray(uint8_arr ay);"); |
708 assertNull(mTestObject.waitForObjectArray()); | 746 Assert.assertNull(mTestObject.waitForObjectArray()); |
709 | 747 |
710 executeJavaScript("testObject.setStringArray(uint8_array);"); | 748 mActivityTestRule.executeJavaScript("testObject.setStringArray(uint8_arr ay);"); |
711 assertNull(mTestObject.waitForStringArray()[0]); | 749 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
712 | 750 |
713 executeJavaScript("testObject.setCustomTypeArray(uint8_array);"); | 751 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(uint8 _array);"); |
714 assertNull(mTestObject.waitForCustomTypeArray()); | 752 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
715 } | 753 } |
716 | 754 |
717 // Test passing a typed Int16Array to a method which takes a Java array. | 755 // Test passing a typed Int16Array to a method which takes a Java array. |
756 @Test | |
718 @SmallTest | 757 @SmallTest |
719 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 758 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
720 public void testPassInt16Array() throws Throwable { | 759 public void testPassInt16Array() throws Throwable { |
721 executeJavaScript("buffer = new ArrayBuffer(2);"); | 760 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(2);"); |
722 executeJavaScript("int16_array = new Int16Array(buffer);"); | 761 mActivityTestRule.executeJavaScript("int16_array = new Int16Array(buffer );"); |
723 executeJavaScript("int16_array[0] = 42;"); | 762 mActivityTestRule.executeJavaScript("int16_array[0] = 42;"); |
724 | 763 |
725 executeJavaScript("testObject.setBooleanArray(int16_array);"); | 764 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(int16_ar ray);"); |
726 assertFalse(mTestObject.waitForBooleanArray()[0]); | 765 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
727 | 766 |
728 executeJavaScript("testObject.setByteArray(int16_array);"); | 767 mActivityTestRule.executeJavaScript("testObject.setByteArray(int16_array );"); |
729 assertEquals(42, mTestObject.waitForByteArray()[0]); | 768 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
730 | 769 |
731 executeJavaScript("testObject.setCharArray(int16_array);"); | 770 mActivityTestRule.executeJavaScript("testObject.setCharArray(int16_array );"); |
732 assertEquals(42, mTestObject.waitForCharArray()[0]); | 771 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
733 | 772 |
734 executeJavaScript("testObject.setShortArray(int16_array);"); | 773 mActivityTestRule.executeJavaScript("testObject.setShortArray(int16_arra y);"); |
735 assertEquals(42, mTestObject.waitForShortArray()[0]); | 774 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
736 | 775 |
737 executeJavaScript("testObject.setIntArray(int16_array);"); | 776 mActivityTestRule.executeJavaScript("testObject.setIntArray(int16_array) ;"); |
738 assertEquals(42, mTestObject.waitForIntArray()[0]); | 777 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
739 | 778 |
740 executeJavaScript("testObject.setLongArray(int16_array);"); | 779 mActivityTestRule.executeJavaScript("testObject.setLongArray(int16_array );"); |
741 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 780 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
742 | 781 |
743 executeJavaScript("testObject.setFloatArray(int16_array);"); | 782 mActivityTestRule.executeJavaScript("testObject.setFloatArray(int16_arra y);"); |
744 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 783 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
745 | 784 |
746 executeJavaScript("testObject.setDoubleArray(int16_array);"); | 785 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(int16_arr ay);"); |
747 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 786 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
748 | 787 |
749 executeJavaScript("testObject.setObjectArray(int16_array);"); | 788 mActivityTestRule.executeJavaScript("testObject.setObjectArray(int16_arr ay);"); |
750 assertNull(mTestObject.waitForObjectArray()); | 789 Assert.assertNull(mTestObject.waitForObjectArray()); |
751 | 790 |
752 executeJavaScript("testObject.setStringArray(int16_array);"); | 791 mActivityTestRule.executeJavaScript("testObject.setStringArray(int16_arr ay);"); |
753 assertNull(mTestObject.waitForStringArray()[0]); | 792 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
754 | 793 |
755 executeJavaScript("testObject.setCustomTypeArray(int16_array);"); | 794 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(int16 _array);"); |
756 assertNull(mTestObject.waitForCustomTypeArray()); | 795 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
757 } | 796 } |
758 | 797 |
759 // Test passing a typed Uint16Array to a method which takes a Java array. | 798 // Test passing a typed Uint16Array to a method which takes a Java array. |
799 @Test | |
760 @SmallTest | 800 @SmallTest |
761 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 801 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
762 public void testPassUint16Array() throws Throwable { | 802 public void testPassUint16Array() throws Throwable { |
763 executeJavaScript("buffer = new ArrayBuffer(2);"); | 803 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(2);"); |
764 executeJavaScript("uint16_array = new Uint16Array(buffer);"); | 804 mActivityTestRule.executeJavaScript("uint16_array = new Uint16Array(buff er);"); |
765 executeJavaScript("uint16_array[0] = 42;"); | 805 mActivityTestRule.executeJavaScript("uint16_array[0] = 42;"); |
766 | 806 |
767 executeJavaScript("testObject.setBooleanArray(uint16_array);"); | 807 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(uint16_a rray);"); |
768 assertFalse(mTestObject.waitForBooleanArray()[0]); | 808 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
769 | 809 |
770 executeJavaScript("testObject.setByteArray(uint16_array);"); | 810 mActivityTestRule.executeJavaScript("testObject.setByteArray(uint16_arra y);"); |
771 assertEquals(42, mTestObject.waitForByteArray()[0]); | 811 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
772 | 812 |
773 executeJavaScript("testObject.setCharArray(uint16_array);"); | 813 mActivityTestRule.executeJavaScript("testObject.setCharArray(uint16_arra y);"); |
774 assertEquals(42, mTestObject.waitForCharArray()[0]); | 814 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
775 | 815 |
776 executeJavaScript("testObject.setShortArray(uint16_array);"); | 816 mActivityTestRule.executeJavaScript("testObject.setShortArray(uint16_arr ay);"); |
777 assertEquals(42, mTestObject.waitForShortArray()[0]); | 817 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
778 | 818 |
779 executeJavaScript("testObject.setIntArray(uint16_array);"); | 819 mActivityTestRule.executeJavaScript("testObject.setIntArray(uint16_array );"); |
780 assertEquals(42, mTestObject.waitForIntArray()[0]); | 820 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
781 | 821 |
782 executeJavaScript("testObject.setLongArray(uint16_array);"); | 822 mActivityTestRule.executeJavaScript("testObject.setLongArray(uint16_arra y);"); |
783 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 823 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
784 | 824 |
785 executeJavaScript("testObject.setFloatArray(uint16_array);"); | 825 mActivityTestRule.executeJavaScript("testObject.setFloatArray(uint16_arr ay);"); |
786 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 826 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
787 | 827 |
788 executeJavaScript("testObject.setDoubleArray(uint16_array);"); | 828 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(uint16_ar ray);"); |
789 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 829 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
790 | 830 |
791 executeJavaScript("testObject.setObjectArray(uint16_array);"); | 831 mActivityTestRule.executeJavaScript("testObject.setObjectArray(uint16_ar ray);"); |
792 assertNull(mTestObject.waitForObjectArray()); | 832 Assert.assertNull(mTestObject.waitForObjectArray()); |
793 | 833 |
794 executeJavaScript("testObject.setStringArray(uint16_array);"); | 834 mActivityTestRule.executeJavaScript("testObject.setStringArray(uint16_ar ray);"); |
795 assertNull(mTestObject.waitForStringArray()[0]); | 835 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
796 | 836 |
797 executeJavaScript("testObject.setCustomTypeArray(uint16_array);"); | 837 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(uint1 6_array);"); |
798 assertNull(mTestObject.waitForCustomTypeArray()); | 838 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
799 } | 839 } |
800 | 840 |
801 // Test passing a typed Int32Array to a method which takes a Java array. | 841 // Test passing a typed Int32Array to a method which takes a Java array. |
842 @Test | |
802 @SmallTest | 843 @SmallTest |
803 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 844 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
804 public void testPassInt32Array() throws Throwable { | 845 public void testPassInt32Array() throws Throwable { |
805 executeJavaScript("buffer = new ArrayBuffer(4);"); | 846 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(4);"); |
806 executeJavaScript("int32_array = new Int32Array(buffer);"); | 847 mActivityTestRule.executeJavaScript("int32_array = new Int32Array(buffer );"); |
807 executeJavaScript("int32_array[0] = 42;"); | 848 mActivityTestRule.executeJavaScript("int32_array[0] = 42;"); |
808 | 849 |
809 executeJavaScript("testObject.setBooleanArray(int32_array);"); | 850 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(int32_ar ray);"); |
810 assertFalse(mTestObject.waitForBooleanArray()[0]); | 851 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
811 | 852 |
812 executeJavaScript("testObject.setByteArray(int32_array);"); | 853 mActivityTestRule.executeJavaScript("testObject.setByteArray(int32_array );"); |
813 assertEquals(42, mTestObject.waitForByteArray()[0]); | 854 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
814 | 855 |
815 executeJavaScript("testObject.setCharArray(int32_array);"); | 856 mActivityTestRule.executeJavaScript("testObject.setCharArray(int32_array );"); |
816 assertEquals(42, mTestObject.waitForCharArray()[0]); | 857 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
817 | 858 |
818 executeJavaScript("testObject.setShortArray(int32_array);"); | 859 mActivityTestRule.executeJavaScript("testObject.setShortArray(int32_arra y);"); |
819 assertEquals(42, mTestObject.waitForShortArray()[0]); | 860 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
820 | 861 |
821 executeJavaScript("testObject.setIntArray(int32_array);"); | 862 mActivityTestRule.executeJavaScript("testObject.setIntArray(int32_array) ;"); |
822 assertEquals(42, mTestObject.waitForIntArray()[0]); | 863 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
823 | 864 |
824 executeJavaScript("testObject.setLongArray(int32_array);"); | 865 mActivityTestRule.executeJavaScript("testObject.setLongArray(int32_array );"); |
825 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 866 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
826 | 867 |
827 executeJavaScript("testObject.setFloatArray(int32_array);"); | 868 mActivityTestRule.executeJavaScript("testObject.setFloatArray(int32_arra y);"); |
828 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 869 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
829 | 870 |
830 executeJavaScript("testObject.setDoubleArray(int32_array);"); | 871 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(int32_arr ay);"); |
831 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 872 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
832 | 873 |
833 executeJavaScript("testObject.setObjectArray(int32_array);"); | 874 mActivityTestRule.executeJavaScript("testObject.setObjectArray(int32_arr ay);"); |
834 assertNull(mTestObject.waitForObjectArray()); | 875 Assert.assertNull(mTestObject.waitForObjectArray()); |
835 | 876 |
836 executeJavaScript("testObject.setStringArray(int32_array);"); | 877 mActivityTestRule.executeJavaScript("testObject.setStringArray(int32_arr ay);"); |
837 assertNull(mTestObject.waitForStringArray()[0]); | 878 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
838 | 879 |
839 executeJavaScript("testObject.setCustomTypeArray(int32_array);"); | 880 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(int32 _array);"); |
840 assertNull(mTestObject.waitForCustomTypeArray()); | 881 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
841 } | 882 } |
842 | 883 |
843 // Test passing a typed Uint32Array to a method which takes a Java array. | 884 // Test passing a typed Uint32Array to a method which takes a Java array. |
885 @Test | |
844 @SmallTest | 886 @SmallTest |
845 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 887 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
846 public void testPassUint32Array() throws Throwable { | 888 public void testPassUint32Array() throws Throwable { |
847 executeJavaScript("buffer = new ArrayBuffer(4);"); | 889 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(4);"); |
848 executeJavaScript("uint32_array = new Uint32Array(buffer);"); | 890 mActivityTestRule.executeJavaScript("uint32_array = new Uint32Array(buff er);"); |
849 executeJavaScript("uint32_array[0] = 42;"); | 891 mActivityTestRule.executeJavaScript("uint32_array[0] = 42;"); |
850 | 892 |
851 executeJavaScript("testObject.setBooleanArray(uint32_array);"); | 893 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(uint32_a rray);"); |
852 assertFalse(mTestObject.waitForBooleanArray()[0]); | 894 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
853 | 895 |
854 executeJavaScript("testObject.setByteArray(uint32_array);"); | 896 mActivityTestRule.executeJavaScript("testObject.setByteArray(uint32_arra y);"); |
855 assertEquals(42, mTestObject.waitForByteArray()[0]); | 897 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
856 | 898 |
857 executeJavaScript("testObject.setCharArray(uint32_array);"); | 899 mActivityTestRule.executeJavaScript("testObject.setCharArray(uint32_arra y);"); |
858 assertEquals(42, mTestObject.waitForCharArray()[0]); | 900 Assert.assertEquals(42, mTestObject.waitForCharArray()[0]); |
859 | 901 |
860 executeJavaScript("testObject.setShortArray(uint32_array);"); | 902 mActivityTestRule.executeJavaScript("testObject.setShortArray(uint32_arr ay);"); |
861 assertEquals(42, mTestObject.waitForShortArray()[0]); | 903 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
862 | 904 |
863 executeJavaScript("testObject.setIntArray(uint32_array);"); | 905 mActivityTestRule.executeJavaScript("testObject.setIntArray(uint32_array );"); |
864 assertEquals(42, mTestObject.waitForIntArray()[0]); | 906 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
865 | 907 |
866 executeJavaScript("testObject.setLongArray(uint32_array);"); | 908 mActivityTestRule.executeJavaScript("testObject.setLongArray(uint32_arra y);"); |
867 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 909 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
868 | 910 |
869 executeJavaScript("testObject.setFloatArray(uint32_array);"); | 911 mActivityTestRule.executeJavaScript("testObject.setFloatArray(uint32_arr ay);"); |
870 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 912 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
871 | 913 |
872 executeJavaScript("testObject.setDoubleArray(uint32_array);"); | 914 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(uint32_ar ray);"); |
873 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 915 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
874 | 916 |
875 executeJavaScript("testObject.setObjectArray(uint32_array);"); | 917 mActivityTestRule.executeJavaScript("testObject.setObjectArray(uint32_ar ray);"); |
876 assertNull(mTestObject.waitForObjectArray()); | 918 Assert.assertNull(mTestObject.waitForObjectArray()); |
877 | 919 |
878 executeJavaScript("testObject.setStringArray(uint32_array);"); | 920 mActivityTestRule.executeJavaScript("testObject.setStringArray(uint32_ar ray);"); |
879 assertNull(mTestObject.waitForStringArray()[0]); | 921 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
880 | 922 |
881 executeJavaScript("testObject.setCustomTypeArray(uint32_array);"); | 923 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(uint3 2_array);"); |
882 assertNull(mTestObject.waitForCustomTypeArray()); | 924 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
883 } | 925 } |
884 | 926 |
885 // Test passing a typed Float32Array to a method which takes a Java array. | 927 // Test passing a typed Float32Array to a method which takes a Java array. |
928 @Test | |
886 @SmallTest | 929 @SmallTest |
887 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 930 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
888 public void testPassFloat32Array() throws Throwable { | 931 public void testPassFloat32Array() throws Throwable { |
889 executeJavaScript("buffer = new ArrayBuffer(4);"); | 932 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(4);"); |
890 executeJavaScript("float32_array = new Float32Array(buffer);"); | 933 mActivityTestRule.executeJavaScript("float32_array = new Float32Array(bu ffer);"); |
891 executeJavaScript("float32_array[0] = 42.0;"); | 934 mActivityTestRule.executeJavaScript("float32_array[0] = 42.0;"); |
892 | 935 |
893 executeJavaScript("testObject.setBooleanArray(float32_array);"); | 936 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(float32_ array);"); |
894 assertFalse(mTestObject.waitForBooleanArray()[0]); | 937 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
895 | 938 |
896 executeJavaScript("testObject.setByteArray(float32_array);"); | 939 mActivityTestRule.executeJavaScript("testObject.setByteArray(float32_arr ay);"); |
897 assertEquals(42, mTestObject.waitForByteArray()[0]); | 940 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
898 | 941 |
899 executeJavaScript("testObject.setCharArray(float32_array);"); | 942 mActivityTestRule.executeJavaScript("testObject.setCharArray(float32_arr ay);"); |
900 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 943 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
901 | 944 |
902 executeJavaScript("testObject.setShortArray(float32_array);"); | 945 mActivityTestRule.executeJavaScript("testObject.setShortArray(float32_ar ray);"); |
903 assertEquals(42, mTestObject.waitForShortArray()[0]); | 946 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
904 | 947 |
905 executeJavaScript("testObject.setIntArray(float32_array);"); | 948 mActivityTestRule.executeJavaScript("testObject.setIntArray(float32_arra y);"); |
906 assertEquals(42, mTestObject.waitForIntArray()[0]); | 949 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
907 | 950 |
908 executeJavaScript("testObject.setLongArray(float32_array);"); | 951 mActivityTestRule.executeJavaScript("testObject.setLongArray(float32_arr ay);"); |
909 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 952 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
910 | 953 |
911 executeJavaScript("testObject.setFloatArray(float32_array);"); | 954 mActivityTestRule.executeJavaScript("testObject.setFloatArray(float32_ar ray);"); |
912 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 955 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
913 | 956 |
914 executeJavaScript("testObject.setDoubleArray(float32_array);"); | 957 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(float32_a rray);"); |
915 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 958 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
916 | 959 |
917 executeJavaScript("testObject.setObjectArray(float32_array);"); | 960 mActivityTestRule.executeJavaScript("testObject.setObjectArray(float32_a rray);"); |
918 assertNull(mTestObject.waitForObjectArray()); | 961 Assert.assertNull(mTestObject.waitForObjectArray()); |
919 | 962 |
920 executeJavaScript("testObject.setStringArray(float32_array);"); | 963 mActivityTestRule.executeJavaScript("testObject.setStringArray(float32_a rray);"); |
921 assertNull(mTestObject.waitForStringArray()[0]); | 964 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
922 | 965 |
923 executeJavaScript("testObject.setCustomTypeArray(float32_array);"); | 966 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(float 32_array);"); |
924 assertNull(mTestObject.waitForCustomTypeArray()); | 967 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
925 } | 968 } |
926 | 969 |
927 // Test passing a typed Float64Array to a method which takes a Java array. | 970 // Test passing a typed Float64Array to a method which takes a Java array. |
971 @Test | |
928 @SmallTest | 972 @SmallTest |
929 @Feature({"AndroidWebView", "Android-JavaBridge"}) | 973 @Feature({"AndroidWebView", "Android-JavaBridge"}) |
930 public void testPassFloat64Array() throws Throwable { | 974 public void testPassFloat64Array() throws Throwable { |
931 executeJavaScript("buffer = new ArrayBuffer(8);"); | 975 mActivityTestRule.executeJavaScript("buffer = new ArrayBuffer(8);"); |
932 executeJavaScript("float64_array = new Float64Array(buffer);"); | 976 mActivityTestRule.executeJavaScript("float64_array = new Float64Array(bu ffer);"); |
933 executeJavaScript("float64_array[0] = 42.0;"); | 977 mActivityTestRule.executeJavaScript("float64_array[0] = 42.0;"); |
934 | 978 |
935 executeJavaScript("testObject.setBooleanArray(float64_array);"); | 979 mActivityTestRule.executeJavaScript("testObject.setBooleanArray(float64_ array);"); |
936 assertFalse(mTestObject.waitForBooleanArray()[0]); | 980 Assert.assertFalse(mTestObject.waitForBooleanArray()[0]); |
937 | 981 |
938 executeJavaScript("testObject.setByteArray(float64_array);"); | 982 mActivityTestRule.executeJavaScript("testObject.setByteArray(float64_arr ay);"); |
939 assertEquals(42, mTestObject.waitForByteArray()[0]); | 983 Assert.assertEquals(42, mTestObject.waitForByteArray()[0]); |
940 | 984 |
941 executeJavaScript("testObject.setCharArray(float64_array);"); | 985 mActivityTestRule.executeJavaScript("testObject.setCharArray(float64_arr ay);"); |
942 assertEquals('\u0000', mTestObject.waitForCharArray()[0]); | 986 Assert.assertEquals('\u0000', mTestObject.waitForCharArray()[0]); |
943 | 987 |
944 executeJavaScript("testObject.setShortArray(float64_array);"); | 988 mActivityTestRule.executeJavaScript("testObject.setShortArray(float64_ar ray);"); |
945 assertEquals(42, mTestObject.waitForShortArray()[0]); | 989 Assert.assertEquals(42, mTestObject.waitForShortArray()[0]); |
946 | 990 |
947 executeJavaScript("testObject.setIntArray(float64_array);"); | 991 mActivityTestRule.executeJavaScript("testObject.setIntArray(float64_arra y);"); |
948 assertEquals(42, mTestObject.waitForIntArray()[0]); | 992 Assert.assertEquals(42, mTestObject.waitForIntArray()[0]); |
949 | 993 |
950 executeJavaScript("testObject.setLongArray(float64_array);"); | 994 mActivityTestRule.executeJavaScript("testObject.setLongArray(float64_arr ay);"); |
951 assertEquals(42L, mTestObject.waitForLongArray()[0]); | 995 Assert.assertEquals(42L, mTestObject.waitForLongArray()[0]); |
952 | 996 |
953 executeJavaScript("testObject.setFloatArray(float64_array);"); | 997 mActivityTestRule.executeJavaScript("testObject.setFloatArray(float64_ar ray);"); |
954 assertEquals(42.0f, mTestObject.waitForFloatArray()[0]); | 998 Assert.assertEquals(42.0f, mTestObject.waitForFloatArray()[0], ASSERTION _DELTA); |
955 | 999 |
956 executeJavaScript("testObject.setDoubleArray(float64_array);"); | 1000 mActivityTestRule.executeJavaScript("testObject.setDoubleArray(float64_a rray);"); |
957 assertEquals(42.0, mTestObject.waitForDoubleArray()[0]); | 1001 Assert.assertEquals(42.0, mTestObject.waitForDoubleArray()[0], ASSERTION _DELTA); |
958 | 1002 |
959 executeJavaScript("testObject.setObjectArray(float64_array);"); | 1003 mActivityTestRule.executeJavaScript("testObject.setObjectArray(float64_a rray);"); |
960 assertNull(mTestObject.waitForObjectArray()); | 1004 Assert.assertNull(mTestObject.waitForObjectArray()); |
961 | 1005 |
962 executeJavaScript("testObject.setStringArray(float64_array);"); | 1006 mActivityTestRule.executeJavaScript("testObject.setStringArray(float64_a rray);"); |
963 assertNull(mTestObject.waitForStringArray()[0]); | 1007 Assert.assertNull(mTestObject.waitForStringArray()[0]); |
964 | 1008 |
965 executeJavaScript("testObject.setCustomTypeArray(float64_array);"); | 1009 mActivityTestRule.executeJavaScript("testObject.setCustomTypeArray(float 64_array);"); |
966 assertNull(mTestObject.waitForCustomTypeArray()); | 1010 Assert.assertNull(mTestObject.waitForCustomTypeArray()); |
967 } | 1011 } |
968 } | 1012 } |
OLD | NEW |