Skip to content

Commit d853398

Browse files
authored
Merge pull request #46560 from mkouba/qute-str-eval-validation-fix
Qute: fix namespace build-time validation
2 parents b68d04b + 4579ca4 commit d853398

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

extensions/qute/deployment/src/main/java/io/quarkus/qute/deployment/QuteProcessor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,12 +1386,8 @@ private static RootResult processRoot(Expression expression, MatchResult match,
13861386
ignoring = true;
13871387
}
13881388
} else {
1389-
// No global and no namespace extension method found - incorrect expression
1390-
incorrectExpressions.produce(new IncorrectExpressionBuildItem(expression.toOriginalString(),
1391-
String.format("No matching namespace [%s] extension method found", namespace.namespace),
1392-
expression.getOrigin()));
1389+
// No global and no namespace extension method found - just ignore the expression
13931390
match.clearValues();
1394-
putResult(match, results, expression);
13951391
ignoring = true;
13961392
}
13971393
}

extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/NamespaceTemplateExtensionValidationFailureTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ public class NamespaceTemplateExtensionValidationFailureTest {
3333
e = e.getCause();
3434
}
3535
assertNotNull(te);
36-
assertTrue(te.getMessage().contains("Found incorrect expressions (2)"), te.getMessage());
37-
assertTrue(te.getMessage().contains("No matching namespace [bro] extension method found"), te.getMessage());
36+
assertTrue(te.getMessage().contains("Found incorrect expressions (1)"), te.getMessage());
3837
assertTrue(te.getMessage().contains("Property/method [bubu] not found on class [java.lang.String]"),
3938
te.getMessage());
4039
});

extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/StringTemplateExtensionsTest.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,28 @@
77

88
import jakarta.inject.Inject;
99

10+
import org.jboss.shrinkwrap.api.asset.StringAsset;
1011
import org.junit.jupiter.api.Test;
1112
import org.junit.jupiter.api.extension.RegisterExtension;
1213

1314
import io.quarkus.qute.Engine;
15+
import io.quarkus.qute.Template;
1416
import io.quarkus.test.QuarkusUnitTest;
1517

1618
public class StringTemplateExtensionsTest {
1719

1820
@RegisterExtension
1921
static final QuarkusUnitTest config = new QuarkusUnitTest()
20-
.withEmptyApplication();
22+
.withApplicationRoot(root -> root.addAsResource(
23+
new StringAsset("{str:eval('Hello {name}!')}"),
24+
"templates/hello.txt"));
2125

2226
@Inject
2327
Engine engine;
2428

29+
@Inject
30+
Template hello;
31+
2532
@Test
2633
public void testTemplateExtensions() {
2734
assertEquals("hello:1",
@@ -83,6 +90,9 @@ public void testTemplateExtensions() {
8390
engine.parse("{str:eval('Hello {name}!')}")
8491
.data("name", "fool")
8592
.render());
93+
assertEquals("Hello fool!",
94+
hello.data("name", "fool")
95+
.render());
8696
}
8797

8898
}

0 commit comments

Comments
 (0)