/**
* Basic test of ServiceLoader.load using a custom Layer as the context.
*/
@Test
public void testWithCustomLayer2() {
ModuleLayer layer = createCustomLayer("bananascript");
List<ScriptEngineFactory> factories
= collectAll(ServiceLoader.load(layer, ScriptEngineFactory.class));
// should have at least 2 x bananascript
assertTrue(factories.size() >= 2);
// first element should be the provider in the custom layer
ScriptEngineFactory factory = factories.get(0);
assertTrue(factory.getClass().getModule().getLayer() == layer);
assertTrue(factory.getEngineName().equals("BananaScriptEngine"));
// remainder should be the boot layer
factories.remove(0);
Set<String> names = factories.stream()
.map(ScriptEngineFactory::getEngineName)
.collect(Collectors.toSet());
assertTrue(names.contains("BananaScriptEngine"));
assertFalse(names.contains("PearScriptEngine"));
}
ModulesTest.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:openjdk-jdk10
作者:
评论列表
文章目录