--- old/test/jdk/tools/jpackage/linux/ShortcutHintTest.java 2019-12-13 13:36:41.559818900 -0500 +++ new/test/jdk/tools/jpackage/linux/ShortcutHintTest.java 2019-12-13 13:36:40.566180700 -0500 @@ -21,12 +21,12 @@ * questions. */ -import java.nio.charset.StandardCharsets; +import java.io.IOException; import java.nio.file.Files; import java.util.Map; import java.nio.file.Path; import java.util.List; -import java.util.stream.Collectors; +import jdk.jpackage.test.AdditionalLauncher; import jdk.jpackage.test.FileAssociations; import jdk.jpackage.test.PackageType; import jdk.jpackage.test.PackageTest; @@ -127,56 +127,50 @@ */ @Test public static void testAdditionaltLaunchers() { - createTest().addInitializer(cmd -> { - cmd.setFakeRuntime(); - - final String launcherName = "Foo"; - final Path propsFile = TKit.workDir().resolve( - launcherName + ".properties"); + PackageTest test = createTest(); - cmd.addArguments("--add-launcher", String.format("%s=%s", - launcherName, propsFile)); + new AdditionalLauncher("Foo").setIcon(TKit.TEST_SRC_ROOT.resolve( + "apps/dukeplug.png")).applyTo(test); - TKit.createPropertiesFile(propsFile, Map.entry("icon", - TKit.TEST_SRC_ROOT.resolve("apps/dukeplug.png").toString())); - }).run(); + test.addInitializer(JPackageCommand::setFakeRuntime).run(); } /** * .desktop file from resource dir. */ @Test - public static void testDesktopFileFromResourceDir() { + public static void testDesktopFileFromResourceDir() throws IOException { final String expectedVersionString = "Version=12345678"; - TKit.withTempDirectory("resources", tempDir -> { - createTest().addInitializer(cmd -> { - cmd.setFakeRuntime(); - - cmd.addArgument("--linux-shortcut"); - cmd.addArguments("--resource-dir", tempDir); - - // Create custom .desktop file in resource directory - TKit.createTextFile(tempDir.resolve(cmd.name() + ".desktop"), - List.of( - "[Desktop Entry]", - "Name=APPLICATION_NAME", - "Exec=APPLICATION_LAUNCHER", - "Terminal=false", - "Type=Application", - "Categories=DEPLOY_BUNDLE_CATEGORY", - expectedVersionString - )); - }) - .addInstallVerifier(cmd -> { - Path desktopFile = cmd.appLayout().destktopIntegrationDirectory().resolve( - String.format("%s-%s.desktop", - LinuxHelper.getPackageName(cmd), cmd.name())); - TKit.assertFileExists(desktopFile); - TKit.assertTextStream(expectedVersionString) - .label(String.format("[%s] file", desktopFile)) - .predicate(String::equals) - .apply(Files.readAllLines(desktopFile).stream()); - }).run(); - }); + + final Path tempDir = TKit.createTempDirectory("resources"); + + createTest().addInitializer(cmd -> { + cmd.setFakeRuntime(); + + cmd.addArgument("--linux-shortcut"); + cmd.addArguments("--resource-dir", tempDir); + + // Create custom .desktop file in resource directory + TKit.createTextFile(tempDir.resolve(cmd.name() + ".desktop"), + List.of( + "[Desktop Entry]", + "Name=APPLICATION_NAME", + "Exec=APPLICATION_LAUNCHER", + "Terminal=false", + "Type=Application", + "Categories=DEPLOY_BUNDLE_CATEGORY", + expectedVersionString + )); + }) + .addInstallVerifier(cmd -> { + Path desktopFile = cmd.appLayout().destktopIntegrationDirectory().resolve( + String.format("%s-%s.desktop", + LinuxHelper.getPackageName(cmd), cmd.name())); + TKit.assertFileExists(desktopFile); + TKit.assertTextStream(expectedVersionString) + .label(String.format("[%s] file", desktopFile)) + .predicate(String::equals) + .apply(Files.readAllLines(desktopFile).stream()); + }).run(); } }