diff options
Diffstat (limited to 'infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java')
-rw-r--r-- | infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java b/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java new file mode 100644 index 0000000..e9793cb --- /dev/null +++ b/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java @@ -0,0 +1,49 @@ +/** + * + */ +package org.mozilla.javascript.tests; + +import junit.framework.TestCase; + +import org.mozilla.javascript.*; + +/** + * See https://bugzilla.mozilla.org/show_bug.cgi?id=409702 + * @author Norris Boyd + */ +public class Bug409702Test extends TestCase { + + public static abstract class Test { + public Test() { + } + + public abstract void a(); + + public abstract int b(); + + public static abstract class Subclass extends Test { + + @Override + public final void a() { + } + } + } + + public void testAdapter() { + final int value = 12; + String source = + "var instance = " + + " new JavaAdapter(" + getClass().getName() + ".Test.Subclass," + + "{ b: function () { return " + value + "; } });" + + "instance.b();"; + + Context cx = ContextFactory.getGlobal().enterContext(); + try { + Scriptable scope = cx.initStandardObjects(); + Object result = cx.evaluateString(scope, source, "source", 1, null); + assertEquals(new Integer(value), result); + } finally { + Context.exit(); + } + } +} |