Skip to content

Commit de9f811

Browse files
committed
add unit tests for loading files with josm.open(...)
1 parent 785021b commit de9f811

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
package org.openstreetmap.josm.plugins.scripting.graalvm.api
2+
3+
import org.junit.jupiter.api.AfterEach
4+
import org.junit.jupiter.api.BeforeEach
5+
import org.junit.jupiter.api.Test
6+
import org.openstreetmap.josm.plugins.scripting.graalvm.AbstractGraalVMBasedTest
7+
import org.openstreetmap.josm.plugins.scripting.graalvm.GraalVMFacadeFactory
8+
import org.openstreetmap.josm.plugins.scripting.graalvm.IGraalVMFacade
9+
10+
class JOSMInputTest extends AbstractGraalVMBasedTest {
11+
12+
private IGraalVMFacade facade
13+
14+
@BeforeEach
15+
void initGraalVMFacade() {
16+
facade = GraalVMFacadeFactory.getOrCreateGraalVMFacade()
17+
}
18+
19+
@AfterEach
20+
void resetGraalVMFacade() {
21+
if (facade != null) {
22+
facade.resetContext()
23+
}
24+
}
25+
26+
@Test
27+
void "can load _DOT_osm file"() {
28+
final file = new File(
29+
getProjectHome(),
30+
"src/test/resources/sample-data-files/test-josm-open.osm")
31+
32+
final src = """
33+
const josm = require('josm')
34+
josm.open('$file.absolutePath')
35+
"""
36+
facade.eval(graalJSDescriptor, src)
37+
}
38+
39+
@Test
40+
void "can load _DOT_gpx file"() {
41+
final file = new File(
42+
getProjectHome(),
43+
"src/test/resources/sample-data-files/test-josm-open.gpx")
44+
45+
final src = """
46+
const josm = require('josm')
47+
josm.open('$file.absolutePath')
48+
"""
49+
facade.eval(graalJSDescriptor, src)
50+
}
51+
52+
@Test
53+
void "can load _DOT_osm_DOT_gz file"() {
54+
final file = new File(
55+
getProjectHome(),
56+
"src/test/resources/sample-data-files/test-datasetutil-load.osm.gz")
57+
58+
final src = """
59+
const josm = require('josm')
60+
josm.open('$file.absolutePath')
61+
"""
62+
facade.eval(graalJSDescriptor, src)
63+
}
64+
65+
@Test
66+
void "can load _DOT_osc file"() {
67+
final file = new File(
68+
getProjectHome(),
69+
"src/test/resources/sample-data-files/test-datasetutil-load.osc")
70+
71+
final src = """
72+
const josm = require('josm')
73+
josm.open('$file.absolutePath')
74+
"""
75+
facade.eval(graalJSDescriptor, src)
76+
}
77+
78+
@Test
79+
void "can load multiple files"() {
80+
final files = [
81+
new File(
82+
getProjectHome(),
83+
"src/test/resources/sample-data-files/test-datasetutil-load.osc"),
84+
new File(
85+
getProjectHome(),
86+
"src/test/resources/sample-data-files/test-josm-open.gpx"),
87+
new File(
88+
getProjectHome(),
89+
"src/test/resources/sample-data-files/test-josm-open.osm")
90+
]
91+
92+
final src = """
93+
const josm = require('josm')
94+
josm.open('${files[0].absolutePath}', '${files[1].absolutePath}', '${files[2].absolutePath}')
95+
"""
96+
facade.eval(graalJSDescriptor, src)
97+
}
98+
99+
@Test
100+
void "can open a file with a File object"() {
101+
final file = new File(
102+
getProjectHome(),
103+
"src/test/resources/sample-data-files/test-josm-open.osm")
104+
105+
final src = """
106+
const josm = require('josm')
107+
const File = Java.type('java.io.File')
108+
const file = new File('$file.absolutePath')
109+
josm.open(file)
110+
"""
111+
facade.eval(graalJSDescriptor, src)
112+
}
113+
}

0 commit comments

Comments
 (0)