use of org.mozilla.javascript.Scriptable in project jslint4java by happygiraffe.
the class UtilTest method testListValueOfObject.
@Test
public void testListValueOfObject() throws Exception {
cx.evaluateString(scope, "var l = [{'a':1}, {'a':2}];", "-", 1, null);
Util.Converter<Foo> c = new Converter<Foo>() {
public Foo convert(Object obj) {
Scriptable scope = (Scriptable) obj;
return new Foo((int) Context.toNumber(scope.get("a", scope)));
}
};
List<Foo> l = Util.listValue("l", scope, c);
assertThat(l, contains(new Foo(1), new Foo(2)));
}
use of org.mozilla.javascript.Scriptable in project cxf by apache.
the class DocLitBareClientTest method portObjectCaller.
private Void portObjectCaller(Context context) {
LOG.info("About to call portObjectTest " + getAddress());
Notifier notifier = testUtilities.rhinoCallConvert("portObjectTest", Notifier.class);
boolean notified = notifier.waitForJavascript(1000 * 10);
assertTrue(notified);
Integer errorStatus = testUtilities.rhinoEvaluateConvert("globalErrorStatus", Integer.class);
assertNull(errorStatus);
String errorText = testUtilities.rhinoEvaluateConvert("globalErrorStatusText", String.class);
assertNull(errorText);
// This method returns a String
Scriptable response = (Scriptable) testUtilities.rhinoEvaluate("globalResponseObject");
String item = testUtilities.rhinoCallMethodConvert(String.class, response, "getStringItem");
assertEquals("horsefeathers", item);
return null;
}
use of org.mozilla.javascript.Scriptable in project cxf by apache.
the class DocLitBareClientTest method beanFunctionCaller.
private Void beanFunctionCaller(Context context) {
TestBean1 b1 = new TestBean1();
b1.stringItem = "strung";
TestBean1[] beans = new TestBean1[3];
beans[0] = new TestBean1();
beans[0].stringItem = "zerobean";
beans[0].beanTwoNotRequiredItem = new TestBean2("bean2");
beans[1] = null;
beans[2] = new TestBean1();
beans[2].stringItem = "twobean";
beans[2].optionalIntArrayItem = new int[2];
beans[2].optionalIntArrayItem[0] = 4;
beans[2].optionalIntArrayItem[1] = 6;
Object[] jsBeans = new Object[3];
jsBeans[0] = testBean1ToJS(testUtilities, context, beans[0]);
jsBeans[1] = null;
jsBeans[2] = testBean1ToJS(testUtilities, context, beans[2]);
Scriptable jsBean1 = testBean1ToJS(testUtilities, context, b1);
Scriptable jsBeanArray = context.newArray(testUtilities.getRhinoScope(), jsBeans);
LOG.info("About to call beanFunctionTest " + getAddress());
Notifier notifier = testUtilities.rhinoCallConvert("beanFunctionTest", Notifier.class, testUtilities.javaToJS(getAddress()), jsBean1, jsBeanArray);
boolean notified = notifier.waitForJavascript(1000 * 10);
assertTrue(notified);
Integer errorStatus = testUtilities.rhinoEvaluateConvert("globalErrorStatus", Integer.class);
assertNull(errorStatus);
String errorText = testUtilities.rhinoEvaluateConvert("globalErrorStatusText", String.class);
assertNull(errorText);
// this method returns void.
Scriptable responseObject = (Scriptable) testUtilities.rhinoEvaluate("globalResponseObject");
// there is no response, this thing returns 'void'
assertNull(responseObject);
SimpleDocLitBareImpl impl = (SimpleDocLitBareImpl) rawImplementor;
TestBean1 b1returned = impl.getLastBean1();
assertEquals(b1, b1returned);
// assertArrayEquals(beans, beansReturned);
return null;
}
use of org.mozilla.javascript.Scriptable in project cxf by apache.
the class DocLitBareClientTest method testBean1ToJS.
public static Scriptable testBean1ToJS(JavascriptTestUtilities testUtilities, Context context, TestBean1 b1) {
if (b1 == null) {
// black is always in fashion. (Really, we can be called with a null).
return null;
}
Scriptable rv = context.newObject(testUtilities.getRhinoScope(), "org_apache_cxf_javascript_testns_testBean1");
testUtilities.rhinoCallMethod(rv, "setStringItem", testUtilities.javaToJS(b1.stringItem));
testUtilities.rhinoCallMethod(rv, "setIntItem", testUtilities.javaToJS(b1.intItem));
testUtilities.rhinoCallMethod(rv, "setLongItem", testUtilities.javaToJS(b1.longItem));
testUtilities.rhinoCallMethod(rv, "setBase64Item", testUtilities.javaToJS(b1.base64Item));
testUtilities.rhinoCallMethod(rv, "setOptionalIntItem", testUtilities.javaToJS(b1.optionalIntItem));
testUtilities.rhinoCallMethod(rv, "setOptionalIntArrayItem", testUtilities.javaToJS(b1.optionalIntArrayItem));
testUtilities.rhinoCallMethod(rv, "setDoubleItem", testUtilities.javaToJS(b1.doubleItem));
testUtilities.rhinoCallMethod(rv, "setBeanTwoItem", testBean2ToJS(testUtilities, context, b1.beanTwoItem));
testUtilities.rhinoCallMethod(rv, "setBeanTwoNotRequiredItem", testBean2ToJS(testUtilities, context, b1.beanTwoNotRequiredItem));
return rv;
}
use of org.mozilla.javascript.Scriptable in project cxf by apache.
the class DocLitWrappedClientTest method beanFunctionCaller.
private Void beanFunctionCaller(Context context, boolean useWrapper) {
TestBean1 b1 = new TestBean1();
b1.stringItem = "strung";
TestBean1[] beans = new TestBean1[3];
beans[0] = new TestBean1();
beans[0].beanTwoNotRequiredItem = new TestBean2("bean2");
if (useWrapper) {
beans[1] = null;
} else {
// without a wrapper, it can't be null, so put something in there.
beans[1] = new TestBean1();
}
beans[2] = new TestBean1();
beans[2].optionalIntArrayItem = new int[2];
beans[2].optionalIntArrayItem[0] = 4;
beans[2].optionalIntArrayItem[1] = 6;
Object[] jsBeans = new Object[3];
jsBeans[0] = testBean1ToJS(testUtilities, context, beans[0]);
jsBeans[1] = testBean1ToJS(testUtilities, context, beans[1]);
jsBeans[2] = testBean1ToJS(testUtilities, context, beans[2]);
Scriptable jsBean1 = testBean1ToJS(testUtilities, context, b1);
Scriptable jsBeanArray = context.newArray(testUtilities.getRhinoScope(), jsBeans);
LOG.info("About to call test4 " + getAddress());
Notifier notifier = testUtilities.rhinoCallConvert("test4", Notifier.class, testUtilities.javaToJS(getAddress()), testUtilities.javaToJS(Boolean.valueOf(useWrapper)), jsBean1, jsBeanArray);
boolean notified = notifier.waitForJavascript(1000 * 10);
assertTrue(notified);
Integer errorStatus = testUtilities.rhinoEvaluateConvert("globalErrorStatus", Integer.class);
assertNull(errorStatus);
String errorText = testUtilities.rhinoEvaluateConvert("globalErrorStatusText", String.class);
assertNull(errorText);
// This method returns void, which translated into a Javascript object with no properties.
// really. Void.
Object responseObject = testUtilities.rhinoEvaluate("globalResponseObject");
assertNotNull(responseObject);
assertEquals(Context.getUndefinedValue(), responseObject);
SimpleDocLitWrappedImpl impl = (SimpleDocLitWrappedImpl) rawImplementor;
TestBean1 b1returned = impl.getLastBean1();
assertEquals(b1, b1returned);
TestBean1[] beansReturned = impl.getLastBean1Array();
assertArrayEquals(beans, beansReturned);
return null;
}
Aggregations