32 // assume that this script is run with "nashorn.jar" System
33 // property set to relative or absolute path of nashorn.jar
34
35 if (typeof fail != 'function') {
36 fail = print;
37 }
38
39 var System = java.lang.System;
40 var File = java.io.File;
41 var javahome = System.getProperty("java.home");
42 var nashornJar = new File(System.getProperty("nashorn.jar"));
43 if (! nashornJar.isAbsolute()) {
44 nashornJar = new File(".", nashornJar);
45 }
46 var nashornJarDir = nashornJar.parentFile.absolutePath;
47
48 // we want to use nashorn.jar passed and not the one that comes with JRE
49 var jjsCmd = javahome + "/../bin/jjs";
50 jjsCmd += " -J-Djava.ext.dirs=" + nashornJarDir;
51 jjsCmd = jjsCmd.toString().replaceAll(/\//g, File.separater);
52
53 $EXEC(jjsCmd, "var x = Object.create(null);\nx;\nprint('PASSED');\nexit(0)");
54
55 // $ERR has all interactions including prompts! Just check for error substring.
56 var err = $ERR.trim();
57 if (! err.contains("TypeError: Cannot get default string value")) {
58 fail("Error stream does not contain expected error message");
59 }
60
61 // should print "PASSED"
62 print($OUT.trim());
63 // exit code should be 0
64 print("exit code = " + $EXIT);
|
32 // assume that this script is run with "nashorn.jar" System
33 // property set to relative or absolute path of nashorn.jar
34
35 if (typeof fail != 'function') {
36 fail = print;
37 }
38
39 var System = java.lang.System;
40 var File = java.io.File;
41 var javahome = System.getProperty("java.home");
42 var nashornJar = new File(System.getProperty("nashorn.jar"));
43 if (! nashornJar.isAbsolute()) {
44 nashornJar = new File(".", nashornJar);
45 }
46 var nashornJarDir = nashornJar.parentFile.absolutePath;
47
48 // we want to use nashorn.jar passed and not the one that comes with JRE
49 var jjsCmd = javahome + "/../bin/jjs";
50 jjsCmd += " -J-Djava.ext.dirs=" + nashornJarDir;
51 jjsCmd = jjsCmd.toString().replaceAll(/\//g, File.separater);
52 $ENV.PWD=System.getProperty("user.dir") // to avoid RE on Cygwin
53 $EXEC(jjsCmd, "var x = Object.create(null);\nx;\nprint('PASSED');\nexit(0)");
54
55 // $ERR has all interactions including prompts! Just check for error substring.
56 var err = $ERR.trim();
57 if (! err.contains("TypeError: Cannot get default string value")) {
58 fail("Error stream does not contain expected error message");
59 }
60
61 // should print "PASSED"
62 print($OUT.trim());
63 // exit code should be 0
64 print("exit code = " + $EXIT);
|