blob: bfde5041e292b2b66dc903f9f786d9f92deb36d5 [file] [log] [blame]
/*
* Copyright 2015-2022 the original author or authors.
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v2.0 which
* accompanies this distribution and is available at
*
* https://www.eclipse.org/legal/epl-v20.html
*/
package platform.tooling.support;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertLinesMatch;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import java.nio.file.Files;
import java.util.List;
import java.util.Optional;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
class HelperTests {
@Test
void loadModuleDirectoryNames() {
assertLinesMatch(List.of( //
"junit-jupiter", //
"junit-jupiter-api", //
"junit-jupiter-engine", //
"junit-jupiter-migrationsupport", //
"junit-jupiter-params", //
"junit-platform-commons", //
"junit-platform-console", //
"junit-platform-engine", //
"junit-platform-jfr", //
"junit-platform-launcher", //
"junit-platform-reporting", //
"junit-platform-runner", //
"junit-platform-suite", //
"junit-platform-suite-api", //
"junit-platform-suite-commons", //
"junit-platform-suite-engine", //
"junit-platform-testkit", //
"junit-vintage-engine"//
), Helper.loadModuleDirectoryNames());
}
@Test
void version() {
assertNotNull(Helper.version("junit-jupiter"));
assertNotNull(Helper.version("junit-vintage"));
assertNotNull(Helper.version("junit-platform"));
}
@Test
void nonExistingJdkVersionYieldsAnEmptyOptional() {
assertEquals(Optional.empty(), Helper.getJavaHome("does not exist"));
}
@ParameterizedTest
@ValueSource(ints = 8)
void checkJavaHome(int version) {
var home = Helper.getJavaHome(String.valueOf(version));
assumeTrue(home.isPresent(), "No 'jdk' element found in Maven toolchain for: " + version);
assertTrue(Files.isDirectory(home.get()));
}
}