Package org.mozilla.javascript.tests

Source Code of org.mozilla.javascript.tests.ContextFactoryTest$MyFactory

/**
*
*/
package org.mozilla.javascript.tests;

import junit.framework.TestCase;

import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.RhinoException;

/**
* @author Norris Boyd
*/
public class ContextFactoryTest extends TestCase {
    static class MyFactory extends ContextFactory {
        @Override
        public boolean hasFeature(Context cx, int featureIndex)
        {
            switch (featureIndex) {
                case Context.FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME:
                    return true;
            }
            return super.hasFeature(cx, featureIndex);
        }
    }

    public void testCustomContextFactory() {
        ContextFactory factory = new MyFactory();
        Context cx = factory.enterContext();
        try {
            Scriptable globalScope = cx.initStandardObjects();
            // Test that FEATURE_MEMBER_EXPR_AS_FUNCTION_NAME is enabled
            Object result = cx.evaluateString(globalScope,
                    "var obj = {};" +
                    "function obj.foo() { return 'bar'; }" +
                    "obj.foo();",
                    "test source", 1, null);
            assertEquals("bar", result);
        } catch (RhinoException e) {
            fail(e.toString());
        } finally {
            Context.exit();
        }
    }
}
TOP

Related Classes of org.mozilla.javascript.tests.ContextFactoryTest$MyFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.