use of org.mozilla.javascript.Context in project hackpad by dropbox.
the class TypeOfTest method test0.
/**
* ECMA 11.4.3 says that typeof on host object is Implementation-dependent
*/
public void test0() throws Exception {
final Function f = new BaseFunction() {
@Override
public Object call(Context _cx, Scriptable _scope, Scriptable _thisObj, Object[] _args) {
return _args[0].getClass().getName();
}
};
final ContextAction action = new ContextAction() {
public Object run(final Context context) {
final Scriptable scope = context.initStandardObjects();
scope.put("myObj", scope, f);
return context.evaluateString(scope, "typeof myObj", "test script", 1, null);
}
};
doTest("function", action);
}
use of org.mozilla.javascript.Context in project hackpad by dropbox.
the class TypeOfTest method testCustomizeTypeOf.
private void testCustomizeTypeOf(final String expected, final Scriptable obj) {
final ContextAction action = new ContextAction() {
public Object run(final Context context) {
final Scriptable scope = context.initStandardObjects();
scope.put("myObj", scope, obj);
return context.evaluateString(scope, "typeof myObj", "test script", 1, null);
}
};
doTest(expected, action);
}
use of org.mozilla.javascript.Context in project hackpad by dropbox.
the class TypeOfTest method doTest.
private void doTest(String expected, final String script) {
final ContextAction action = new ContextAction() {
public Object run(final Context context) {
final Scriptable scope = context.initStandardObjects();
return context.evaluateString(scope, script, "test script", 1, null);
}
};
doTest(expected, action);
}
use of org.mozilla.javascript.Context in project hackpad by dropbox.
the class TypeOfTest method doTest.
private void doTest(final int optimizationLevel, final String expected, final ContextAction action) {
Object o = new ContextFactory().call(new ContextAction() {
public Object run(final Context context) {
context.setOptimizationLevel(optimizationLevel);
return Context.toString(action.run(context));
}
});
assertEquals(expected, o);
}
use of org.mozilla.javascript.Context in project hackpad by dropbox.
the class Utils method executeScript.
/**
* Execute the provided script in a fresh context as "myScript.js".
* @param script the script code
*/
static void executeScript(final String script, final int optimizationLevel) {
final ContextAction action = new ContextAction() {
public Object run(Context cx) {
final Scriptable scope = cx.initStandardObjects();
return cx.evaluateString(scope, script, "myScript.js", 1, null);
}
};
Utils.runWithOptimizationLevel(action, optimizationLevel);
}
Aggregations