Skip to content

Commit 304f71a

Browse files
committed
ISSUE-291: fix substring issue with empty dot
1 parent 3433d0c commit 304f71a

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

compiler/src/main/java/com/github/mustachejava/reflect/AbstractObjectHandler.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import java.util.Optional;
1111

1212

13-
abstract class AbstractObjectHandler implements ObjectHandler {
13+
public abstract class AbstractObjectHandler implements ObjectHandler {
1414

1515
protected static final Object NOT_FOUND = new Object();
1616

@@ -27,6 +27,7 @@ public Object coerce(Object object) {
2727
return object;
2828
}
2929

30+
3031
@Override
3132
public Writer falsey(Iteration iteration, Writer writer, Object object, List<Object> scopes) {
3233
if (object != null) {

compiler/src/main/java/com/github/mustachejava/reflect/BaseObjectHandler.java

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ protected AccessibleObject findMember(Class sClass, String name) {
6666
}
6767

6868
private AccessibleObject findMemberOnClass(Class sClass, String name) {
69+
if (name.isEmpty()) return null;
6970
AccessibleObject ao;
7071
try {
7172
ao = getMethod(sClass, name);

compiler/src/test/java/com/github/mustachejava/InterpreterTest.java

+10
Original file line numberDiff line numberDiff line change
@@ -1298,6 +1298,16 @@ public void testInvalidDelimiters() {
12981298
}
12991299
}
13001300

1301+
public void testEmptyDot() {
1302+
MustacheFactory mf = createMustacheFactory();
1303+
StringWriter sw = new StringWriter();
1304+
Mustache mustache = mf.compile(new StringReader("{{No.}}"), "template");
1305+
Map<String, String> scope = new HashMap<>();
1306+
scope.put("No", "1");
1307+
mustache.execute(sw, scope);
1308+
System.out.println(sw);
1309+
}
1310+
13011311
public void testTemplateFunction() throws IOException {
13021312
MustacheFactory mf = createMustacheFactory();
13031313
Mustache m = mf.compile(new StringReader("{{#i}}{{{test}}}{{f}}{{/i}}" +

0 commit comments

Comments
 (0)