This is an automated email from the ASF dual-hosted git repository. jtulach pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans-html4j.git
commit 013a118589c4cc708de48a4873e53953d0a32764 Author: Jaroslav Tulach <jaroslav.tul...@apidesign.org> AuthorDate: Fri May 13 20:27:26 2022 +0200 Search JavaScriptTCK via ServiceProvider --- .../main/java/net/java/html/js/tests/JsUtils.java | 27 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/json-tck/src/main/java/net/java/html/js/tests/JsUtils.java b/json-tck/src/main/java/net/java/html/js/tests/JsUtils.java index 2a262480..a370f1bf 100644 --- a/json-tck/src/main/java/net/java/html/js/tests/JsUtils.java +++ b/json-tck/src/main/java/net/java/html/js/tests/JsUtils.java @@ -19,6 +19,8 @@ package net.java.html.js.tests; import java.io.StringReader; +import java.util.ServiceLoader; +import net.java.html.json.Models; import org.netbeans.html.boot.spi.Fn; import org.netbeans.html.json.tck.JavaScriptTCK; @@ -32,6 +34,20 @@ public class JsUtils { instantiatedJsTCK = tck; } + private static Iterable<JavaScriptTCK> tcks(Class<?> clazz) { + if (instantiatedJsTCK != null) { + return Models.asList(instantiatedJsTCK); + } + return ServiceLoader.load(JavaScriptTCK.class, cl(clazz)); + } + private static ClassLoader cl(Class<?> c) { + try { + return c.getClassLoader(); + } catch (SecurityException ex) { + return null; + } + } + static void execute(Class<?> clazz, String script) throws Exception { Fn.Presenter p = Fn.activePresenter(); p.loadScript(new StringReader(script)); @@ -39,12 +55,13 @@ public class JsUtils { static boolean executeNow(Class<?> clazz, String script) { try { - if (instantiatedJsTCK != null) { - return instantiatedJsTCK.executeNow(script); - } else { - execute(clazz, script); - return true; + for (JavaScriptTCK j : tcks(clazz)) { + if (j.executeNow(script)) { + return true; + } } + execute(clazz, script); + return true; } catch (Exception ex) { throw raise(RuntimeException.class, ex); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists