Skip to content

Commit 30d42dc

Browse files
FileAssociationsTest: use CannedFormattedString
1 parent 810aac3 commit 30d42dc

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

test/jdk/tools/jpackage/share/FileAssociationsTest.java

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121
* questions.
2222
*/
2323

24+
import static jdk.jpackage.test.JPackageStringBundle.MAIN;
25+
2426
import java.nio.file.Path;
2527
import java.util.Map;
26-
2728
import jdk.jpackage.test.Annotations.Parameter;
2829
import jdk.jpackage.test.Annotations.Test;
2930
import jdk.jpackage.test.FileAssociations;
31+
import jdk.jpackage.test.JPackageCommand;
3032
import jdk.jpackage.test.PackageTest;
3133
import jdk.jpackage.test.PackageType;
3234
import jdk.jpackage.test.TKit;
@@ -111,46 +113,42 @@ public static void test(boolean includeDescription) {
111113
public static void testNoMime() {
112114
final Path propFile = TKit.workDir().resolve("fa.properties");
113115

114-
PackageTest packageTest = new PackageTest().excludeTypes(PackageType.MAC);
115-
116-
packageTest.configureHelloApp().addRunOnceInitializer(() -> {
116+
initPackageTest().addRunOnceInitializer(() -> {
117117
TKit.createPropertiesFile(propFile, Map.of(
118118
"extension", "foo",
119119
"description", "bar"
120120
));
121121
}).addInitializer(cmd -> {
122-
cmd.addArguments("--file-associations", propFile).saveConsoleOutput(true);
123-
}).setExpectedExitCode(1).addBundleVerifier((cmd, result) -> {
124-
TKit.assertTextStream(
125-
"No MIME types were specified for File Association number 1")
126-
.apply(result.getOutput().stream());
127-
TKit.assertTextStream(
128-
"Advice to fix: Specify MIME type for File Association number 1")
129-
.apply(result.getOutput().stream());
122+
cmd.addArguments("--file-associations", propFile);
123+
cmd.validateOutput(
124+
MAIN.cannedFormattedString("error.no-content-types-for-file-association", 1),
125+
MAIN.cannedFormattedString("error.no-content-types-for-file-association.advice", 1));
130126
}).run();
131127
}
132128

133129
@Test
134130
public static void testTooManyMimes() {
135131
final Path propFile = TKit.workDir().resolve("fa.properties");
136132

137-
PackageTest packageTest = new PackageTest().excludeTypes(PackageType.MAC);
138-
139-
packageTest.configureHelloApp().addRunOnceInitializer(() -> {
133+
initPackageTest().addRunOnceInitializer(() -> {
140134
TKit.createPropertiesFile(propFile, Map.of(
141135
"mime-type", "application/x-jpackage-foo, application/x-jpackage-bar",
142136
"extension", "foo",
143137
"description", "bar"
144138
));
145139
}).addInitializer(cmd -> {
146-
cmd.addArguments("--file-associations", propFile).saveConsoleOutput(true);
147-
}).setExpectedExitCode(1).addBundleVerifier((cmd, result) -> {
148-
TKit.assertTextStream(
149-
"More than one MIME types was specified for File Association number 1")
150-
.apply(result.getOutput().stream());
151-
TKit.assertTextStream(
152-
"Advice to fix: Specify only one MIME type for File Association number 1")
153-
.apply(result.getOutput().stream());
140+
cmd.addArguments("--file-associations", propFile);
141+
cmd.validateOutput(
142+
MAIN.cannedFormattedString("error.too-many-content-types-for-file-association", 1),
143+
MAIN.cannedFormattedString("error.too-many-content-types-for-file-association.advice", 1));
154144
}).run();
155145
}
146+
147+
private static PackageTest initPackageTest() {
148+
return new PackageTest()
149+
.excludeTypes(PackageType.MAC)
150+
.configureHelloApp()
151+
.addInitializer(JPackageCommand::setFakeRuntime)
152+
.setExpectedExitCode(1);
153+
}
156154
}

0 commit comments

Comments
 (0)