Skip to content

Commit 2688163

Browse files
puredangerstuarthalloway
authored andcommitted
CLJ-1609 reflector test
Signed-off-by: Stuart Halloway <[email protected]>
1 parent c5f0521 commit 2688163

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

test/clojure/test_clojure/reflect.clj

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
(ns clojure.test-clojure.reflect
22
(:use clojure.data [clojure.reflect :as reflect] clojure.test clojure.pprint)
3-
(:import [clojure.reflect AsmReflector JavaReflector]))
3+
(:import [clojure.reflect AsmReflector JavaReflector]
4+
[reflector IBar$Factory]))
45

56
(defn nodiff
67
[x y]
@@ -32,3 +33,7 @@
3233
(deftest internal-name->class-symbol-test
3334
(are [s n] (= s (@#'reflect/internal-name->class-symbol n))
3435
'java.lang.Exception "java/lang/Exception"))
36+
37+
(def inst (IBar$Factory/get))
38+
(deftest invoking-nonpublic-super
39+
(is (= "stuff" (.stuff inst))))

test/java/reflector/IBar.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package reflector;
2+
3+
public interface IBar {
4+
String stuff();
5+
6+
class Factory {
7+
public static IBar get() {
8+
return new SubBar();
9+
}
10+
}
11+
}
12+
13+
class Bar {
14+
public String stuff() {
15+
return "stuff";
16+
}
17+
}
18+
19+
class SubBar extends Bar implements IBar {
20+
}

0 commit comments

Comments
 (0)