< prev index next >
test/jdk/tools/jpackage/share/FileAssociationsTest.java
Print this page
@@ -20,10 +20,12 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
import java.nio.file.Path;
+import java.util.Map;
+import java.util.List;
import jdk.jpackage.test.TKit;
import jdk.jpackage.test.PackageTest;
import jdk.jpackage.test.PackageType;
import jdk.jpackage.test.FileAssociations;
import jdk.jpackage.test.Annotations.Test;
@@ -54,16 +56,31 @@
/*
* @test
* @summary jpackage with --file-associations
* @library ../helpers
* @key jpackagePlatformPackage
+ * @requires jpackage.test.SQETest == null
* @build jdk.jpackage.test.*
* @modules jdk.incubator.jpackage/jdk.incubator.jpackage.internal
* @compile FileAssociationsTest.java
* @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main
* --jpt-run=FileAssociationsTest
*/
+
+/*
+ * @test
+ * @summary jpackage with --file-associations
+ * @library ../helpers
+ * @key jpackagePlatformPackage
+ * @requires jpackage.test.SQETest != null
+ * @build jdk.jpackage.test.*
+ * @modules jdk.incubator.jpackage/jdk.incubator.jpackage.internal
+ * @compile FileAssociationsTest.java
+ * @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main
+ * --jpt-run=FileAssociationsTest.test
+ */
+
public class FileAssociationsTest {
@Test
public static void test() {
PackageTest packageTest = new PackageTest();
@@ -82,6 +99,53 @@
.setIcon(icon)
.applyTo(packageTest);
packageTest.run();
}
+
+ @Test
+ public static void testNoMime() {
+ final Path propFile = TKit.workDir().resolve("fa.properties");
+
+ PackageTest packageTest = new PackageTest().excludeTypes(PackageType.MAC);
+
+ packageTest.configureHelloApp().addRunOnceInitializer(() -> {
+ TKit.createPropertiesFile(propFile, Map.of(
+ "extension", "foo",
+ "description", "bar"
+ ));
+ }).addInitializer(cmd -> {
+ cmd.addArguments("--file-associations", propFile).saveConsoleOutput(true);
+ }).setExpectedExitCode(1).addBundleVerifier((cmd, result) -> {
+ TKit.assertTextStream(
+ "No MIME types were specified for File Association number 1")
+ .apply(result.getOutput().stream());
+ TKit.assertTextStream(
+ "Advice to fix: Specify MIME type for File Association number 1")
+ .apply(result.getOutput().stream());
+ }).run();
+ }
+
+ @Test
+ public static void testTooManyMimes() {
+ final Path propFile = TKit.workDir().resolve("fa.properties");
+
+ PackageTest packageTest = new PackageTest().excludeTypes(PackageType.MAC);
+
+ packageTest.configureHelloApp().addRunOnceInitializer(() -> {
+ TKit.createPropertiesFile(propFile, Map.of(
+ "mime-type", "application/x-jpackage-foo, application/x-jpackage-bar",
+ "extension", "foo",
+ "description", "bar"
+ ));
+ }).addInitializer(cmd -> {
+ cmd.addArguments("--file-associations", propFile).saveConsoleOutput(true);
+ }).setExpectedExitCode(1).addBundleVerifier((cmd, result) -> {
+ TKit.assertTextStream(
+ "More than one MIME types was specified for File Association number 1")
+ .apply(result.getOutput().stream());
+ TKit.assertTextStream(
+ "Advice to fix: Specify only one MIME type for File Association number 1")
+ .apply(result.getOutput().stream());
+ }).run();
+ }
}
< prev index next >