File tree 3 files changed +16
-10
lines changed 3 files changed +16
-10
lines changed Original file line number Diff line number Diff line change @@ -99,7 +99,9 @@ def jsource(data) -> str:
99
99
cls_path = str (jcls .getName ()).replace ("." , "/" )
100
100
101
101
# Discern the Java version.
102
- java_version = jvm_version ()[0 ]
102
+ jv_digits = jvm_version ()
103
+ assert jv_digits is not None and len (jv_digits ) > 1
104
+ java_version = jv_digits [1 ] if jv_digits [0 ] == 1 else jv_digits [0 ]
103
105
104
106
# Note: some classes (e.g. corba and jaxp) will not be located correctly before
105
107
# Java 10, because they fall under a different subtree than `jdk`. But Java 11+
Original file line number Diff line number Diff line change 2
2
Tests for functions in inspect submodule.
3
3
"""
4
4
5
+ import re
6
+
5
7
from scyjava import inspect
6
8
from scyjava .config import mode , Mode
7
9
@@ -18,14 +20,16 @@ def test_inspect_members(self):
18
20
members = []
19
21
inspect .members ("java.lang.Iterable" , writer = members .append )
20
22
expected = [
21
- "Source code URL: "
22
- "https://github.com/openjdk/jdk/blob/jdk-11-ga/"
23
- "src/java.base/share/classes/java/lang/Iterable.java" ,
23
+ "Source code URL: https://github.com/openjdk/jdk/blob/"
24
+ ".../share/classes/java/lang/Iterable.java" ,
24
25
" * indicates static modifier" ,
25
26
"java.util.Iterator = iterator()" ,
26
27
"java.util.Spliterator = spliterator()" ,
27
28
"void = forEach(java.util.function.Consumer)" ,
28
29
"" ,
29
30
"" ,
30
31
]
31
- assert "" .join (members ).split ("\n " ) == expected
32
+ pattern = r"(https://github.com/openjdk/jdk/blob/)" \
33
+ "[^ ]*(/share/classes/java/lang/Iterable\.java)"
34
+ members_string = re .sub (pattern , r"\1...\2" , "" .join (members ))
35
+ assert members_string .split ("\n " ) == expected
Original file line number Diff line number Diff line change @@ -96,12 +96,12 @@ def test_jsource_jdk_class(self):
96
96
if mode == Mode .JEP :
97
97
# JEP does not support the jclass function.
98
98
return
99
- jv = scyjava .jvm_version ()[0 ]
99
+ jv_digits = scyjava .jvm_version ()
100
+ jv = jv_digits [1 ] if jv_digits [0 ] == 1 else jv_digits [0 ]
100
101
source = scyjava .jsource ("java.util.List" )
101
- assert (
102
- source == f"https://github.com/openjdk/jdk/blob/jdk-{ jv } -ga/"
103
- "src/java.base/share/classes/java/util/List.java"
104
- )
102
+ assert source .startswith (f"https://github.com/openjdk/jdk/blob/" )
103
+ assert source .endswith ("/share/classes/java/util/List.java" )
104
+ assert str (jv ) in source
105
105
106
106
def test_imagej_legacy (self ):
107
107
if mode == Mode .JEP :
You can’t perform that action at this time.
0 commit comments