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");
  }
예제 #3
0
  /** @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();
   }
 }
예제 #12
0
  private void assertReportWrongNumberOfMatchers(TestInterface testObject) {
    Recorder<TestInterface> recorder = TestObject.createRecorder(testObject);

    recorder
        .record(testObject.methodWithArguments((String) recorder.matchObject(Any.ANY), 10))
        .andReturn("value");
  }
예제 #13
0
  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);
    }
  }
예제 #14
0
  private void assertThrowOnVoidMethod(TestInterface testObject) {
    Recorder<TestInterface> recorder = TestObject.createRecorder(testObject);

    testObject.returnNothing();
    recorder.recordForLastCall().andThrow(new RuntimeException());

    testObject.returnNothing();
  }
예제 #15
0
  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());
  }
예제 #16
0
  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);
  }
예제 #17
0
  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);
  }
예제 #18
0
  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());
  }
예제 #19
0
  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);
  }
예제 #20
0
  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());
  }
예제 #21
0
  /*
  @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());
  }
예제 #22
0
  // 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());
  }
예제 #23
0
 @Test(expected = RuntimeException.class)
 public void shouldNotAllowToThrowACheckedExceptionOfWrongTypeInterface() throws Exception {
   TestInterface testObject = TestObject.createTestObject(TestInterface.class);
   assertDoesNotAllowWrongTypeException(testObject);
 }
예제 #24
0
  // 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());
  }
예제 #25
0
  // 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());
  }
예제 #26
0
  // 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());
  }
예제 #27
0
  // 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());
  }
예제 #28
0
  // 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());
  }
예제 #29
0
  /*
  @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());
  }
예제 #30
0
  /*
  @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());
  }