Correctly parse property name in path "map[key[foo]]"
This commit is contained in:
committed by
Juergen Hoeller
parent
7b11c3b599
commit
6899624155
@@ -1599,6 +1599,7 @@ public abstract class AbstractPropertyAccessorTests {
|
||||
TestBean tb7 = ((TestBean) target.getSet().toArray()[1]);
|
||||
TestBean tb4 = ((TestBean) target.getMap().get("key1"));
|
||||
TestBean tb5 = ((TestBean) target.getMap().get("key.3"));
|
||||
TestBean tb8 = ((TestBean) target.getMap().get("key5[foo]"));
|
||||
assertEquals("name0", tb0.getName());
|
||||
assertEquals("name1", tb1.getName());
|
||||
assertEquals("name2", tb2.getName());
|
||||
@@ -1607,6 +1608,7 @@ public abstract class AbstractPropertyAccessorTests {
|
||||
assertEquals("name7", tb7.getName());
|
||||
assertEquals("name4", tb4.getName());
|
||||
assertEquals("name5", tb5.getName());
|
||||
assertEquals("name8", tb8.getName());
|
||||
assertEquals("name0", accessor.getPropertyValue("array[0].name"));
|
||||
assertEquals("name1", accessor.getPropertyValue("array[1].name"));
|
||||
assertEquals("name2", accessor.getPropertyValue("list[0].name"));
|
||||
@@ -1619,6 +1621,9 @@ public abstract class AbstractPropertyAccessorTests {
|
||||
assertEquals("name5", accessor.getPropertyValue("map[\"key.3\"].name"));
|
||||
assertEquals("nameX", accessor.getPropertyValue("map[key4][0].name"));
|
||||
assertEquals("nameY", accessor.getPropertyValue("map[key4][1].name"));
|
||||
assertEquals("name8", accessor.getPropertyValue("map[key5[foo]].name"));
|
||||
assertEquals("name8", accessor.getPropertyValue("map['key5[foo]'].name"));
|
||||
assertEquals("name8", accessor.getPropertyValue("map[\"key5[foo]\"].name"));
|
||||
|
||||
MutablePropertyValues pvs = new MutablePropertyValues();
|
||||
pvs.add("array[0].name", "name5");
|
||||
@@ -1631,6 +1636,7 @@ public abstract class AbstractPropertyAccessorTests {
|
||||
pvs.add("map['key.3'].name", "name0");
|
||||
pvs.add("map[key4][0].name", "nameA");
|
||||
pvs.add("map[key4][1].name", "nameB");
|
||||
pvs.add("map[key5[foo]].name", "name10");
|
||||
accessor.setPropertyValues(pvs);
|
||||
assertEquals("name5", tb0.getName());
|
||||
assertEquals("name4", tb1.getName());
|
||||
@@ -1648,6 +1654,7 @@ public abstract class AbstractPropertyAccessorTests {
|
||||
assertEquals("name0", accessor.getPropertyValue("map['key.3'].name"));
|
||||
assertEquals("nameA", accessor.getPropertyValue("map[key4][0].name"));
|
||||
assertEquals("nameB", accessor.getPropertyValue("map[key4][1].name"));
|
||||
assertEquals("name10", accessor.getPropertyValue("map[key5[foo]].name"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -66,6 +66,7 @@ public class IndexedTestBean {
|
||||
TestBean tb5 = new TestBean("name5", 0);
|
||||
TestBean tb6 = new TestBean("name6", 0);
|
||||
TestBean tb7 = new TestBean("name7", 0);
|
||||
TestBean tb8 = new TestBean("name8", 0);
|
||||
TestBean tbX = new TestBean("nameX", 0);
|
||||
TestBean tbY = new TestBean("nameY", 0);
|
||||
this.array = new TestBean[] {tb0, tb1};
|
||||
@@ -83,6 +84,7 @@ public class IndexedTestBean {
|
||||
list.add(tbX);
|
||||
list.add(tbY);
|
||||
this.map.put("key4", list);
|
||||
this.map.put("key5[foo]", tb8);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user