< prev index next >
test/langtools/jdk/jshell/ToolBasicTest.java
Print this page
*** 21,31 ****
* questions.
*/
/*
* @test
! * @bug 8143037 8142447 8144095 8140265 8144906 8146138 8147887 8147886 8148316 8148317 8143955 8157953 8080347 8154714 8166649 8167643 8170162 8172102 8165405 8174796 8174797 8175304 8167554 8180508 8166232 8196133
* @summary Tests for Basic tests for REPL tool
* @modules jdk.compiler/com.sun.tools.javac.api
* jdk.compiler/com.sun.tools.javac.main
* jdk.jdeps/com.sun.tools.javap
* jdk.jshell/jdk.internal.jshell.tool
--- 21,31 ----
* questions.
*/
/*
* @test
! * @bug 8143037 8142447 8144095 8140265 8144906 8146138 8147887 8147886 8148316 8148317 8143955 8157953 8080347 8154714 8166649 8167643 8170162 8172102 8165405 8174796 8174797 8175304 8167554 8180508 8166232 8196133 8199912
* @summary Tests for Basic tests for REPL tool
* @modules jdk.compiler/com.sun.tools.javac.api
* jdk.compiler/com.sun.tools.javac.main
* jdk.jdeps/com.sun.tools.javap
* jdk.jshell/jdk.internal.jshell.tool
*** 37,46 ****
--- 37,48 ----
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
+ import java.net.InetAddress;
+ import java.net.InetSocketAddress;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
*** 50,59 ****
--- 52,62 ----
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
+ import com.sun.net.httpserver.HttpServer;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.fail;
*** 489,498 ****
--- 492,544 ----
"| File '" + unknown + "' for '/open' is not found.")
);
}
}
+ public void testOpenLocalFileUrl() {
+ Compiler compiler = new Compiler();
+ Path path = compiler.getPath("testOpen.repl");
+ compiler.writeToFile(path, "int a = 10;int b = 20;int c = a + b;\n");
+ for (String s : new String[]{"/o", "/open"}) {
+ test(
+ (a) -> assertCommand(a, s + " file://" + path.toString(), ""),
+ (a) -> assertCommand(a, "a", "a ==> 10"),
+ (a) -> assertCommand(a, "b", "b ==> 20"),
+ (a) -> assertCommand(a, "c", "c ==> 30")
+ );
+ }
+ }
+
+ public void testOpenFileOverHttp() throws IOException {
+ var script = "int a = 10;int b = 20;int c = a + b;";
+
+ var localhostAddress = new InetSocketAddress(InetAddress.getLocalHost().getHostAddress(), 0);
+ var httpServer = HttpServer.create(localhostAddress, 0);
+ try {
+ httpServer.createContext("/script", exchange -> {
+ exchange.sendResponseHeaders(200, script.length());
+ try (var output = exchange.getResponseBody()) {
+ output.write(script.getBytes());
+ }
+ });
+ httpServer.setExecutor(null);
+ httpServer.start();
+
+ var urlAddress = "http:/" + httpServer.getAddress().toString() + "/script";
+ for (String s : new String[]{"/o", "/open"}) {
+ test(
+ (a) -> assertCommand(a, s + " " + urlAddress, ""),
+ (a) -> assertCommand(a, "a", "a ==> 10"),
+ (a) -> assertCommand(a, "b", "b ==> 20"),
+ (a) -> assertCommand(a, "c", "c ==> 30")
+ );
+ }
+ } finally {
+ httpServer.stop(0);
+ }
+ }
+
public void testOpenResource() {
test(
(a) -> assertCommand(a, "/open PRINTING", ""),
(a) -> assertCommandOutputContains(a, "/list",
"void println", "System.out.printf"),
< prev index next >