From af0809b04df338fa2553b2d5c27d3f70cf31c929 Mon Sep 17 00:00:00 2001 From: Peter Reilly Date: Mon, 19 Jan 2004 09:51:02 +0000 Subject: [PATCH] macrodef element names are case insensentive due to use of DynamicConfigurator PR: 26225 Reported by: John Sichi git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275929 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/CoreTasks/macrodef.html | 3 +++ src/etc/testcases/taskdefs/macrodef.xml | 15 +++++++++++++++ .../org/apache/tools/ant/taskdefs/MacroDef.java | 2 +- .../apache/tools/ant/taskdefs/MacroInstance.java | 2 +- .../apache/tools/ant/taskdefs/MacroDefTest.java | 6 ++++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/manual/CoreTasks/macrodef.html b/docs/manual/CoreTasks/macrodef.html index 97c0a1b6c..0fb7e384b 100644 --- a/docs/manual/CoreTasks/macrodef.html +++ b/docs/manual/CoreTasks/macrodef.html @@ -98,6 +98,9 @@ The contents of the nested elements of the task instance are placed in the templated task at the tag name.

+

+ The case of the element name is ignored. +

Parameters

diff --git a/src/etc/testcases/taskdefs/macrodef.xml b/src/etc/testcases/taskdefs/macrodef.xml index b9fca2666..671bdad35 100644 --- a/src/etc/testcases/taskdefs/macrodef.xml +++ b/src/etc/testcases/taskdefs/macrodef.xml @@ -86,4 +86,19 @@ + + + + + + + + + + + + nested element + + + diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java index 3e7e0e941..69d9353b8 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java @@ -395,7 +395,7 @@ public class MacroDef extends AntlibDefinition { throw new BuildException( "Illegal name [" + name + "] for attribute"); } - this.name = name; + this.name = name.toLowerCase(Locale.US); } /** diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java index 639bb5d13..102420617 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroInstance.java @@ -277,7 +277,7 @@ public class MacroInstance extends Task implements DynamicConfigurator { while (e.hasMoreElements()) { RuntimeConfigurable r = (RuntimeConfigurable) e.nextElement(); UnknownElement unknownElement = (UnknownElement) r.getProxy(); - String tag = unknownElement.getTaskType(); + String tag = unknownElement.getTaskType().toLowerCase(Locale.US); MacroDef.TemplateElement templateElement = (MacroDef.TemplateElement) getNsElements().get(tag); if (templateElement == null) { diff --git a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java index 73b4a1c44..8bb2131a6 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/MacroDefTest.java @@ -109,5 +109,11 @@ public class MacroDefTest extends BuildFileTest { "ignorecase", "a is ab is b"); } + + public void testIgnoreElementCase() { + expectLog( + "ignore-element-case", + "nested elementnested element"); + } }