aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java')
-rw-r--r--trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java b/trunk/infrastructure/rhino1_7R1/testsrc/org/mozilla/javascript/tests/Bug409702Test.java
new file mode 100644
index 0000000..e9793cb
--- /dev/null
+++ b/trunk/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();
+ }
+ }
+}