This is an automated email from the ASF dual-hosted git repository.

thiagohp pushed a commit to branch feature/requirejs-less
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git

commit 4d8748a016156c5fe47e69fec1310293ca11bfd2
Author: Thiago H. de Paula Figueiredo <[email protected]>
AuthorDate: Sun Aug 3 12:40:17 2025 -0300

    Individual test fixes
---
 .../services/ajax/JavaScriptSupportImpl.java       |  2 --
 .../integration/app1/pages/PaletteGroupedDemo.java | 11 ++++++--
 .../integration/app1/pages/PublishEventDemo.java   | 33 ++++++++++++++++++++--
 .../META-INF/assets/es-modules/palette-demo.js     | 14 +++++++++
 .../assets/es-modules/publish-event-demo.js        | 23 +++++++++++++++
 .../resources/META-INF/modules/palette-demo.js     |  5 ----
 6 files changed, 77 insertions(+), 11 deletions(-)

diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavaScriptSupportImpl.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavaScriptSupportImpl.java
index db44db661..f9f5e2b23 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavaScriptSupportImpl.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavaScriptSupportImpl.java
@@ -480,8 +480,6 @@ public class JavaScriptSupportImpl implements 
JavaScriptSupport
         
         assert InternalUtils.isNonBlank(moduleName);
         
-        // TODO import core libraries (jQuery, 
Prototype/Scriptaculous/Underscore)
-
         EsModuleInitialization init = new 
EsModuleInitializationImpl(moduleName);
         if (!esModulesImported.contains(moduleName))
         {
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PaletteGroupedDemo.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PaletteGroupedDemo.java
index 0fe130ba7..efd65a18c 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PaletteGroupedDemo.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PaletteGroupedDemo.java
@@ -30,20 +30,22 @@ import org.apache.tapestry5.commons.services.TypeCoercer;
 import org.apache.tapestry5.integration.app1.data.ProgrammingLanguage;
 import org.apache.tapestry5.internal.OptionGroupModelImpl;
 import org.apache.tapestry5.internal.OptionModelImpl;
+import org.apache.tapestry5.internal.services.ajax.RequireJsModeHelper;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.util.AbstractSelectModel;
 import org.apache.tapestry5.util.EnumValueEncoder;
 
-@Import(module="palette-demo")
 public class PaletteGroupedDemo
 {
     @Inject
     private ComponentResources resources;
+    
+    @Inject private RequireJsModeHelper requireJsModeHelper;
 
     @Persist
     @Property
     private List<ProgrammingLanguage> languages;
-
+    
     @Persist
     @Property
     private boolean reorder;
@@ -55,6 +57,11 @@ public class PaletteGroupedDemo
             ProgrammingLanguage.ERLANG, ProgrammingLanguage.HASKELL, 
ProgrammingLanguage.LISP);
     private static final Iterable<ProgrammingLanguage> OO = 
Arrays.asList(ProgrammingLanguage.JAVA,
             ProgrammingLanguage.RUBY);
+    
+    void beginRender()
+    {
+        requireJsModeHelper.importModule("palette-demo");
+    }
 
     void onPrepareFromDemo()
     {
diff --git 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PublishEventDemo.java
 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PublishEventDemo.java
index 9400d49aa..aa8e8dac8 100644
--- 
a/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PublishEventDemo.java
+++ 
b/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PublishEventDemo.java
@@ -1,4 +1,4 @@
-// Copyright 2016 The Apache Software Foundation
+// Copyright 2017, 2025 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -25,15 +25,44 @@
 // limitations under the License.
 package org.apache.tapestry5.integration.app1.pages;
 
+import org.apache.tapestry5.Asset;
+import org.apache.tapestry5.SymbolConstants;
 import org.apache.tapestry5.annotations.Import;
 import org.apache.tapestry5.annotations.OnEvent;
+import org.apache.tapestry5.annotations.Path;
 import org.apache.tapestry5.annotations.PublishEvent;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.ioc.annotations.Symbol;
 import org.apache.tapestry5.json.JSONObject;
+import org.apache.tapestry5.services.javascript.JavaScriptSupport;
 
-@Import(stack = "core", library = "PublishEventDemo.js")
 public class PublishEventDemo
 {
 
+    @Inject
+    private JavaScriptSupport javaScriptSupport;
+    
+    @Inject
+    @Symbol(SymbolConstants.REQUIRE_JS_ENABLED)
+    private boolean requireJsEnabled;
+    
+    @Inject
+    @Path("PublishEventDemo.js")
+    private Asset publishEventDemoAmdAsset;
+    
+    void beginRender()
+    {
+        if (requireJsEnabled)
+        {
+            javaScriptSupport.importStack("core");
+            
javaScriptSupport.importJavaScriptLibrary(publishEventDemoAmdAsset);
+        }
+        else
+        {
+            javaScriptSupport.importEsModule("publish-event-demo");
+        }
+    }
+
     @PublishEvent
     JSONObject onAction()
     {
diff --git 
a/tapestry-core/src/test/resources/META-INF/assets/es-modules/palette-demo.js 
b/tapestry-core/src/test/resources/META-INF/assets/es-modules/palette-demo.js
new file mode 100644
index 000000000..5943f74b6
--- /dev/null
+++ 
b/tapestry-core/src/test/resources/META-INF/assets/es-modules/palette-demo.js
@@ -0,0 +1,14 @@
+import dom from "t5/core/dom"
+import events from "t5/core/events";
+import _ from "underscore"
+import console from "t5/core/console";
+
+dom.onDocument(events.palette.willChange, function(event, memo) {
+
+  console.info("palette-demo, palette willChange");
+
+  const values = _.map(memo.selectedOptions, o => o.value);
+
+  (dom("event-selection")).update(JSON.stringify(values));
+  return (dom("event-reorder")).update(memo.reorder.toString());
+});
diff --git 
a/tapestry-core/src/test/resources/META-INF/assets/es-modules/publish-event-demo.js
 
b/tapestry-core/src/test/resources/META-INF/assets/es-modules/publish-event-demo.js
new file mode 100644
index 000000000..7be8d6c5c
--- /dev/null
+++ 
b/tapestry-core/src/test/resources/META-INF/assets/es-modules/publish-event-demo.js
@@ -0,0 +1,23 @@
+import dom from "t5/core/dom";
+import ajax from "t5/core/ajax";
+import jQuery from "jquery";
+       
+function makeAjaxCall(eventName, eventElement, outputElement) {
+       ajax(eventName, { 
+               element: eventElement,
+               success: function(response) {
+                       outputElement.innerHTML = response.json.origin;
+               } 
+       });
+}
+
+jQuery('tbody tr').each(function() {
+       var td = jQuery(this).find('td');
+       var eventName = td[1].innerHTML;
+       var elementId = td[0].innerHTML;
+       var eventElement = null;
+       if (elementId != '(no element)') {
+               eventElement = jQuery('#' + elementId);
+       }
+       makeAjaxCall(eventName, eventElement, td[3]);
+});
diff --git a/tapestry-core/src/test/resources/META-INF/modules/palette-demo.js 
b/tapestry-core/src/test/resources/META-INF/modules/palette-demo.js
index 5e0f73f6e..ceb4b39e7 100644
--- a/tapestry-core/src/test/resources/META-INF/modules/palette-demo.js
+++ b/tapestry-core/src/test/resources/META-INF/modules/palette-demo.js
@@ -1,8 +1,3 @@
-/*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * Full docs: 
https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
- */
 define(["t5/core/dom", "t5/core/events", "underscore", "t5/core/console"],
   (dom, events, _, console) => {
        dom = dom.default;

Reply via email to