public void putWithTry(int numOps) { try { setup(true); for (int i = 0; i < numOps; i++) { TestObject object = new TestObject(); String s = new Integer(i).toString(); object.setSid(s); object.setName("hero" + s); object.setCountry("China"); objectList.add(object); if (objectList.size() >= CACHE_LIMIT) { close(); boolean success = false; while (!success) { success = setup(false); } for (int j = 0; j < objectList.size(); j++) { objectBySid.putNoReturn(objectList.get(j)); } close(); setup(true); objectList = new ArrayList<TestObject>(); } } } catch (DatabaseException e) { e.printStackTrace(); } }
@Test public void shouldGetTheDefaultSpecName() { TestObject object = new TestObject(TestClassWithInterestingNameTest.class); assertThat(object.getDefaultSpecPath()) .isEqualTo("jasmine/junit/testClassWithInterestingNameSpec.js"); }
/** @throws Exception If failed. */ public void testObject() throws Exception { ResultSet rs = stmt.executeQuery(SQL); TestObjectField f1 = new TestObjectField(100, "AAAA"); TestObjectField f2 = new TestObjectField(500, "BBBB"); TestObject o = createObjectWithData(1); assertTrue(rs.next()); assertEquals(f1.toString(), rs.getObject("f1")); assertEquals(f1.toString(), rs.getObject(16)); assertEquals(f2.toString(), rs.getObject("f2")); assertEquals(f2.toString(), rs.getObject(17)); assertNull(rs.getObject("f3")); assertTrue(rs.wasNull()); assertNull(rs.getObject(18)); assertTrue(rs.wasNull()); assertEquals(o.toString(), rs.getObject("_val")); assertEquals(o.toString(), rs.getObject(19)); assertFalse(rs.next()); }
@Test public void putFailsWith404() { TestObject object = new TestObject(); object.setData("data"); template.put(baseUrl + "update", object); }
@Test public void testReflectionCompare() { final TestObject o1 = new TestObject(4); final TestObject o2 = new TestObject(4); assertTrue(CompareToBuilder.reflectionCompare(o1, o1) == 0); assertTrue(CompareToBuilder.reflectionCompare(o1, o2) == 0); o2.setA(5); assertTrue(CompareToBuilder.reflectionCompare(o1, o2) < 0); assertTrue(CompareToBuilder.reflectionCompare(o2, o1) > 0); }
public boolean equals(Object obj) { if (obj == null || !(obj instanceof TestObject)) { return false; } TestObject tObj = (TestObject) obj; if (tObj.getKey() == key && tObj.getName().equals(name)) { return true; } return false; }
@Test public void test_should_set_property_hello() { BeanPropertyExpressionEnricher propertyExpressionEnricher = new BeanPropertyExpressionEnricher(); Mock muleMessageMock = new Mock(MuleMessage.class); TestObject testObject = new TestObject(); muleMessageMock.expectAndReturn("getPayload", testObject); propertyExpressionEnricher.enrich("hello", (MuleMessage) muleMessageMock.proxy(), "Test me"); assertEquals(testObject.getHello(), "Test me"); }
@Test public void testObject() { final TestObject o1 = new TestObject(4); final TestObject o2 = new TestObject(4); assertTrue(new CompareToBuilder().append(o1, o1).toComparison() == 0); assertTrue(new CompareToBuilder().append(o1, o2).toComparison() == 0); o2.setA(5); assertTrue(new CompareToBuilder().append(o1, o2).toComparison() < 0); assertTrue(new CompareToBuilder().append(o2, o1).toComparison() > 0); assertTrue(new CompareToBuilder().append(o1, null).toComparison() > 0); assertTrue(new CompareToBuilder().append((Object) null, (Object) null).toComparison() == 0); assertTrue(new CompareToBuilder().append(null, o1).toComparison() < 0); }
@Test public void testObjectBuild() { final TestObject o1 = new TestObject(4); final TestObject o2 = new TestObject(4); assertEquals(Integer.valueOf(0), new CompareToBuilder().append(o1, o1).build()); assertEquals(Integer.valueOf(0), new CompareToBuilder().append(o1, o2).build()); o2.setA(5); assertTrue(new CompareToBuilder().append(o1, o2).build().intValue() < 0); assertTrue(new CompareToBuilder().append(o2, o1).build().intValue() > 0); assertTrue(new CompareToBuilder().append(o1, null).build().intValue() > 0); assertEquals( Integer.valueOf(0), new CompareToBuilder().append((Object) null, (Object) null).build()); assertTrue(new CompareToBuilder().append(null, o1).build().intValue() < 0); }
@Test public void test_should_set_property_third() { BeanPropertyExpressionEnricher propertyExpressionEnricher = new BeanPropertyExpressionEnricher(); Mock muleMessageMock = new Mock(MuleMessage.class); TestObject testObject = new TestObject(); muleMessageMock.expectAndReturn("getPayload", testObject); propertyExpressionEnricher.enrich( "first.second.third", (MuleMessage) muleMessageMock.proxy(), "This is a test"); assertEquals(testObject.getFirst().getSecond().getThird(), "This is a test"); }
public void putNoTry(int numOps) { setup(false); try { for (int i = 0; i < numOps; i++) { TestObject object = new TestObject(); String sId = new Integer(i).toString(); object.setSid(sId); object.setName("hero" + sId); object.setCountry("China"); objectBySid.putNoReturn(object); } } catch (DatabaseException e) { e.printStackTrace(); } }
private void assertReportWrongNumberOfMatchers(TestInterface testObject) { Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); recorder .record(testObject.methodWithArguments((String) recorder.matchObject(Any.ANY), 10)) .andReturn("value"); }
public void runTest() throws PersistenceException, SQLException { OQLQuery oql; TestObject object; QueryResults enumeration; _db.begin(); // Determine if test object exists, if not create it. // If it exists, set the name to some predefined value // that this test will later override. oql = _db.getOQLQuery("SELECT object FROM jdo.TestObject object WHERE id = $1"); oql.bind(50); enumeration = oql.execute(); if (enumeration.hasMore()) { object = (TestObject) enumeration.next(); stream.println("Retrieved object: " + object); object.setValue1(TestObject.DefaultValue1); object.setValue2(TestObject.DefaultValue2); } else { object = new TestObject(); object.setId(50); stream.println("Creating new object: " + object); _db.create(object); } oql.close(); _db.commit(); try { stream.println("CALL SQL query"); _db.begin(); oql = _db.getOQLQuery( "CALL SQL SELECT ID,VALUE1,VALUE2 FROM TEST_TABLE WHERE (ID = $1) AS jdo.TestObject"); oql.bind(50); enumeration = oql.execute(); if (enumeration.hasMore()) { object = (TestObject) enumeration.next(); stream.println("Retrieved object: " + object); } else { fail("test object not found"); } oql.close(); _db.commit(); } catch (Exception e) { fail("Exception thrown " + e); } }
private void assertThrowOnVoidMethod(TestInterface testObject) { Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); testObject.returnNothing(); recorder.recordForLastCall().andThrow(new RuntimeException()); testObject.returnNothing(); }
public void sendMessage(String pathToFile, String key) throws IOException { /*POST <name> HTTP 1.1 User-Agent: <client name> Host: 127.0.0.1 <blank line> <bytes for object>*/ /*HTTP 1.1 200 OK <name>:<class name> <blank line>*/ PrintStream PS; PS = new PrintStream(sock.getOutputStream()); PS.println("POST <" + key + "> HTTP 1.1"); PS.println("User-Agent: " + key); PS.println("Host: 127.0.0.1"); PS.println("\n"); TestObject object = loadFromFile(pathToFile, key); PS.println(Marshaller.serializeObject(object).toString()); System.out.println(object.getValue()); }
private void assertRecordingUseArgumentMatching(TestInterface testObject) { String stringArg = "arg"; int intArg = 11; String returnedValue = "returnedValue"; Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); recorder.record(testObject.methodWithArguments(stringArg, intArg)).andReturn(returnedValue); String actual = testObject.methodWithArguments("otherArg", -1); assertNull(actual); actual = testObject.methodWithArguments(stringArg, intArg); assertEquals(actual, returnedValue); }
private void assertUseLooseArgumentMatching(TestInterface testObject) { String returnedValue = "returnedValue"; Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); recorder .record( testObject.methodWithArguments( (String) recorder.matchObject(Any.ANY), recorder.matchInt(Any.ANY))) .andReturn(returnedValue); String actual = testObject.methodWithArguments("otherArg", -1); ; assertEquals(actual, returnedValue); }
private void assertReturnRecordedValue(TestInterface testObject) { String returnValue = "returnValue"; Integer returnInteger = 10; Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); recorder .record(testObject.returnObject()) .andReturn(returnValue) .record(testObject.returnInteger()) .andReturn(returnInteger); assertEquals(returnValue, testObject.returnObject()); assertEquals(returnInteger, testObject.returnInteger()); }
private void assertEqMatcher(TestInterface testObject) { String returnedValue = "returnedValue"; String stringArg = "stringarg"; int intArg = -1; Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); recorder .record( testObject.methodWithArguments( (String) recorder.matchObject(new Eq(stringArg)), recorder.matchInt(new Eq(intArg)))) .andReturn(returnedValue); String actual = testObject.methodWithArguments(stringArg, intArg); assertEquals(actual, returnedValue); }
private void assertCanModifyReturnValueForPrimitiveType(TestInterface testObject) { Recorder<TestInterface> recorder = TestObject.createRecorder(testObject); boolean expectedBoolean = true; byte expectedByte = 9; char expectedChar = 10; short expectedShort = 11; int expectedInt = 12; long expectedLong = 13; float expectedFloat = 14.2f; double expectedDouble = 15.5d; recorder .record(testObject.returnBoolean()) .andReturn(expectedBoolean) .record(testObject.returnByte()) .andReturn(expectedByte) .record(testObject.returnChar()) .andReturn(expectedChar) .record(testObject.returnShort()) .andReturn(expectedShort) .record(testObject.returnInt()) .andReturn(expectedInt) .record(testObject.returnLong()) .andReturn(expectedLong) .record(testObject.returnFloat()) .andReturn(expectedFloat) .record(testObject.returnDouble()) .andReturn(expectedDouble); assertEquals(expectedBoolean, testObject.returnBoolean()); assertEquals(expectedByte, testObject.returnByte()); assertEquals(expectedChar, testObject.returnChar()); assertEquals(expectedShort, testObject.returnShort()); assertEquals(expectedInt, testObject.returnInt()); assertEquals(expectedLong, testObject.returnLong()); assertTrue(expectedFloat == testObject.returnFloat()); assertTrue(expectedDouble == testObject.returnDouble()); }
/* @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) Bug: http://code.google.com/p/chromium/issues/detail?id=145881 */ @DisabledTest public void testPassNumberDouble() throws Throwable { executeJavaScript("testObject.setByteValue(42.1);"); assertEquals(42, mTestObject.waitForByteValue()); executeJavaScript("testObject.setByteValue(" + Byte.MAX_VALUE + " + 42.1);"); assertEquals(Byte.MIN_VALUE + 42 - 1, mTestObject.waitForByteValue()); executeJavaScript("testObject.setByteValue(" + Integer.MAX_VALUE + " + 42.1);"); assertEquals(-1, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should convert to numeric char value. executeJavaScript("testObject.setCharValue(42.1);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(42.1);"); assertEquals(42, mTestObject.waitForShortValue()); executeJavaScript("testObject.setShortValue(" + Short.MAX_VALUE + " + 42.1);"); assertEquals(Short.MIN_VALUE + 42 - 1, mTestObject.waitForShortValue()); executeJavaScript("testObject.setShortValue(" + Integer.MAX_VALUE + " + 42.1);"); assertEquals(-1, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(42.1);"); assertEquals(42, mTestObject.waitForIntValue()); executeJavaScript("testObject.setIntValue(" + Integer.MAX_VALUE + " + 42.1);"); assertEquals(Integer.MAX_VALUE, mTestObject.waitForIntValue()); executeJavaScript("testObject.setLongValue(42.1);"); assertEquals(42L, mTestObject.waitForLongValue()); // LIVECONNECT_COMPLIANCE: Should be Long.MAX_VALUE. executeJavaScript("testObject.setLongValue(" + Long.MAX_VALUE + " + 42.1);"); assertEquals(Long.MIN_VALUE, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(42.1);"); assertEquals(42.1f, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(42.1);"); assertEquals(42.1, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.Number. executeJavaScript("testObject.setObjectValue(42.1);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setStringValue(42.1);"); assertEquals("42.1", mTestObject.waitForStringValue()); executeJavaScript("testObject.setBooleanValue(0.0);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should be true. executeJavaScript("testObject.setBooleanValue(42.1);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(42.1);"); assertNull(mTestObject.waitForCustomTypeValue()); }
// Test passing a JavaScript number in the int32 range to a method of an // injected object. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassNumberInt32() throws Throwable { executeJavaScript("testObject.setByteValue(42);"); assertEquals(42, mTestObject.waitForByteValue()); executeJavaScript("testObject.setByteValue(" + Byte.MAX_VALUE + " + 42);"); assertEquals(Byte.MIN_VALUE + 42 - 1, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should convert to numeric char value. executeJavaScript("testObject.setCharValue(42);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(42);"); assertEquals(42, mTestObject.waitForShortValue()); executeJavaScript("testObject.setShortValue(" + Short.MAX_VALUE + " + 42);"); assertEquals(Short.MIN_VALUE + 42 - 1, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(42);"); assertEquals(42, mTestObject.waitForIntValue()); executeJavaScript("testObject.setLongValue(42);"); assertEquals(42L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(42);"); assertEquals(42.0f, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(42);"); assertEquals(42.0, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.Number. executeJavaScript("testObject.setObjectValue(42);"); assertNull(mTestObject.waitForObjectValue()); // The spec allows the JS engine flexibility in how to format the number. executeJavaScript("testObject.setStringValue(42);"); String str = mTestObject.waitForStringValue(); assertTrue("42".equals(str) || "42.0".equals(str)); executeJavaScript("testObject.setBooleanValue(0);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should be true; executeJavaScript("testObject.setBooleanValue(42);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(42);"); assertNull(mTestObject.waitForCustomTypeValue()); }
@Test(expected = RuntimeException.class) public void shouldNotAllowToThrowACheckedExceptionOfWrongTypeInterface() throws Exception { TestInterface testObject = TestObject.createTestObject(TestInterface.class); assertDoesNotAllowWrongTypeException(testObject); }
// Test passing JavaScript null to a method of an injected object. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassNull() throws Throwable { executeJavaScript("testObject.setObjectValue(null);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setCustomTypeValue(null);"); assertNull(mTestObject.waitForCustomTypeValue()); executeJavaScript("testObject.setStringValue(null);"); assertNull(mTestObject.waitForStringValue()); executeJavaScript("testObject.setByteValue(null);"); assertEquals(0, mTestObject.waitForByteValue()); executeJavaScript("testObject.setCharValue(null);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(null);"); assertEquals(0, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(null);"); assertEquals(0, mTestObject.waitForIntValue()); executeJavaScript("testObject.setLongValue(null);"); assertEquals(0L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(null);"); assertEquals(0.0f, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(null);"); assertEquals(0.0, mTestObject.waitForDoubleValue()); executeJavaScript("testObject.setBooleanValue(null);"); assertFalse(mTestObject.waitForBooleanValue()); }
// Test passing JavaScript undefined to a method of an injected object. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassUndefined() throws Throwable { executeJavaScript("testObject.setObjectValue(undefined);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setCustomTypeValue(undefined);"); assertNull(mTestObject.waitForCustomTypeValue()); // LIVECONNECT_COMPLIANCE: Should be NULL. executeJavaScript("testObject.setStringValue(undefined);"); assertEquals("undefined", mTestObject.waitForStringValue()); executeJavaScript("testObject.setByteValue(undefined);"); assertEquals(0, mTestObject.waitForByteValue()); executeJavaScript("testObject.setCharValue(undefined);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(undefined);"); assertEquals(0, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(undefined);"); assertEquals(0, mTestObject.waitForIntValue()); executeJavaScript("testObject.setLongValue(undefined);"); assertEquals(0L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(undefined);"); assertEquals(0.0f, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(undefined);"); assertEquals(0.0, mTestObject.waitForDoubleValue()); executeJavaScript("testObject.setBooleanValue(undefined);"); assertFalse(mTestObject.waitForBooleanValue()); }
// Test passing a Java object to a method of an injected object. Note that // this test requires being able to return objects from the methods of // injected objects. This is tested elsewhere. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassJavaObject() throws Throwable { executeJavaScript("testObject.setObjectValue(testObject.getObjectInstance());"); assertTrue(mTestObject.getObjectInstance() == mTestObject.waitForObjectValue()); executeJavaScript("testObject.setObjectValue(testObject.getCustomTypeInstance());"); assertTrue(mTestObject.getCustomTypeInstance() == mTestObject.waitForObjectValue()); executeJavaScript("testObject.setCustomTypeValue(testObject.getObjectInstance());"); assertTrue(mTestObject.getObjectInstance() == mTestObject.waitForCustomTypeValue()); executeJavaScript("testObject.setCustomTypeValue(testObject.getCustomTypeInstance());"); assertTrue(mTestObject.getCustomTypeInstance() == mTestObject.waitForCustomTypeValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception, as the types are unrelated. executeJavaScript("testObject.setCustomTypeValue(testObject.getCustomType2Instance());"); assertTrue( mTestObject.getCustomType2Instance() == (Object) mTestObject.waitForCustomTypeValue()); // LIVECONNECT_COMPLIANCE: Should call toString() on object. executeJavaScript("testObject.setStringValue(testObject.getObjectInstance());"); assertEquals("undefined", mTestObject.waitForStringValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setByteValue(testObject.getObjectInstance());"); assertEquals(0, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCharValue(testObject.getObjectInstance());"); assertEquals('\u0000', mTestObject.waitForCharValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setShortValue(testObject.getObjectInstance());"); assertEquals(0, mTestObject.waitForShortValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setIntValue(testObject.getObjectInstance());"); assertEquals(0, mTestObject.waitForIntValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setLongValue(testObject.getObjectInstance());"); assertEquals(0L, mTestObject.waitForLongValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setFloatValue(testObject.getObjectInstance());"); assertEquals(0.0f, mTestObject.waitForFloatValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setDoubleValue(testObject.getObjectInstance());"); assertEquals(0.0, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setBooleanValue(testObject.getObjectInstance());"); assertFalse(mTestObject.waitForBooleanValue()); }
// Test passing a JavaScript string to a method of an injected object. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassString() throws Throwable { executeJavaScript("testObject.setStringValue(\"+042.10\");"); assertEquals("+042.10", mTestObject.waitForStringValue()); // Make sure that we distinguish between the empty string and NULL. executeJavaScript("testObject.setStringValue(\"\");"); assertEquals("", mTestObject.waitForStringValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.String. executeJavaScript("testObject.setObjectValue(\"+042.10\");"); assertNull(mTestObject.waitForObjectValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setByteValue(\"+042.10\");"); assertEquals(0, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setShortValue(\"+042.10\");"); assertEquals(0, mTestObject.waitForShortValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setIntValue(\"+042.10\");"); assertEquals(0, mTestObject.waitForIntValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setLongValue(\"+042.10\");"); assertEquals(0L, mTestObject.waitForLongValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setFloatValue(\"+042.10\");"); assertEquals(0.0f, mTestObject.waitForFloatValue()); // LIVECONNECT_COMPLIANCE: Should use valueOf() of appropriate type. executeJavaScript("testObject.setDoubleValue(\"+042.10\");"); assertEquals(0.0, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should decode and convert to numeric char value. executeJavaScript("testObject.setCharValue(\"+042.10\");"); assertEquals('\u0000', mTestObject.waitForCharValue()); // LIVECONNECT_COMPLIANCE: Non-empty string should convert to true. executeJavaScript("testObject.setBooleanValue(\"+042.10\");"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(\"+042.10\");"); assertNull(mTestObject.waitForCustomTypeValue()); }
// Test passing a JavaScript boolean to a method of an injected object. @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) public void testPassBoolean() throws Throwable { executeJavaScript("testObject.setBooleanValue(true);"); assertTrue(mTestObject.waitForBooleanValue()); executeJavaScript("testObject.setBooleanValue(false);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.Boolean. executeJavaScript("testObject.setObjectValue(true);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setStringValue(false);"); assertEquals("false", mTestObject.waitForStringValue()); executeJavaScript("testObject.setStringValue(true);"); assertEquals("true", mTestObject.waitForStringValue()); // LIVECONNECT_COMPLIANCE: Should be 1. executeJavaScript("testObject.setByteValue(true);"); assertEquals(0, mTestObject.waitForByteValue()); executeJavaScript("testObject.setByteValue(false);"); assertEquals(0, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should convert to numeric char value 1. executeJavaScript("testObject.setCharValue(true);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setCharValue(false);"); assertEquals('\u0000', mTestObject.waitForCharValue()); // LIVECONNECT_COMPLIANCE: Should be 1. executeJavaScript("testObject.setShortValue(true);"); assertEquals(0, mTestObject.waitForShortValue()); executeJavaScript("testObject.setShortValue(false);"); assertEquals(0, mTestObject.waitForShortValue()); // LIVECONNECT_COMPLIANCE: Should be 1. executeJavaScript("testObject.setIntValue(true);"); assertEquals(0, mTestObject.waitForIntValue()); executeJavaScript("testObject.setIntValue(false);"); assertEquals(0, mTestObject.waitForIntValue()); // LIVECONNECT_COMPLIANCE: Should be 1. executeJavaScript("testObject.setLongValue(true);"); assertEquals(0L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setLongValue(false);"); assertEquals(0L, mTestObject.waitForLongValue()); // LIVECONNECT_COMPLIANCE: Should be 1.0. executeJavaScript("testObject.setFloatValue(true);"); assertEquals(0.0f, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setFloatValue(false);"); assertEquals(0.0f, mTestObject.waitForFloatValue()); // LIVECONNECT_COMPLIANCE: Should be 1.0. executeJavaScript("testObject.setDoubleValue(true);"); assertEquals(0.0, mTestObject.waitForDoubleValue()); executeJavaScript("testObject.setDoubleValue(false);"); assertEquals(0.0, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(true);"); assertNull(mTestObject.waitForCustomTypeValue()); }
/* @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) Bug: http://code.google.com/p/chromium/issues/detail?id=145881 */ @DisabledTest public void testPassNumberInfinity() throws Throwable { executeJavaScript("testObject.setByteValue(Infinity);"); assertEquals(-1, mTestObject.waitForByteValue()); // LIVECONNECT_COMPLIANCE: Should convert to maximum numeric char value. executeJavaScript("testObject.setCharValue(Infinity);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(Infinity);"); assertEquals(-1, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(Infinity);"); assertEquals(Integer.MAX_VALUE, mTestObject.waitForIntValue()); // LIVECONNECT_COMPLIANCE: Should be Long.MAX_VALUE. executeJavaScript("testObject.setLongValue(Infinity);"); assertEquals(-1L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(Infinity);"); assertEquals(Float.POSITIVE_INFINITY, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(Infinity);"); assertEquals(Double.POSITIVE_INFINITY, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.Number. executeJavaScript("testObject.setObjectValue(Infinity);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setStringValue(Infinity);"); assertEquals("Inf", mTestObject.waitForStringValue()); executeJavaScript("testObject.setBooleanValue(Infinity);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(Infinity);"); assertNull(mTestObject.waitForCustomTypeValue()); }
/* @SmallTest @Feature({"Android-WebView", "Android-JavaBridge"}) Bug: http://code.google.com/p/chromium/issues/detail?id=145881 */ @DisabledTest public void testPassNumberNaN() throws Throwable { executeJavaScript("testObject.setByteValue(Number.NaN);"); assertEquals(0, mTestObject.waitForByteValue()); executeJavaScript("testObject.setCharValue(Number.NaN);"); assertEquals('\u0000', mTestObject.waitForCharValue()); executeJavaScript("testObject.setShortValue(Number.NaN);"); assertEquals(0, mTestObject.waitForShortValue()); executeJavaScript("testObject.setIntValue(Number.NaN);"); assertEquals(0, mTestObject.waitForIntValue()); executeJavaScript("testObject.setLongValue(Number.NaN);"); assertEquals(0L, mTestObject.waitForLongValue()); executeJavaScript("testObject.setFloatValue(Number.NaN);"); assertEquals(Float.NaN, mTestObject.waitForFloatValue()); executeJavaScript("testObject.setDoubleValue(Number.NaN);"); assertEquals(Double.NaN, mTestObject.waitForDoubleValue()); // LIVECONNECT_COMPLIANCE: Should create an instance of java.lang.Number. executeJavaScript("testObject.setObjectValue(Number.NaN);"); assertNull(mTestObject.waitForObjectValue()); executeJavaScript("testObject.setStringValue(Number.NaN);"); assertEquals("NaN", mTestObject.waitForStringValue()); executeJavaScript("testObject.setBooleanValue(Number.NaN);"); assertFalse(mTestObject.waitForBooleanValue()); // LIVECONNECT_COMPLIANCE: Should raise a JavaScript exception. executeJavaScript("testObject.setCustomTypeValue(Number.NaN);"); assertNull(mTestObject.waitForCustomTypeValue()); }