From e85a6740d8d30f0c21f51eab64de87e4311fadfe Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Fri, 10 Jul 2009 18:49:38 +0000 Subject: [PATCH] new tests for andy --- .../binding/MissingSourceValuesException.java | 1 + .../ui/binding/NoSuchBindingException.java | 1 + .../binding/support/GenericBinderTests.java | 32 +++++++++++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/org.springframework.context/src/main/java/org/springframework/ui/binding/MissingSourceValuesException.java b/org.springframework.context/src/main/java/org/springframework/ui/binding/MissingSourceValuesException.java index a31962f6c70..ad5a65fd889 100644 --- a/org.springframework.context/src/main/java/org/springframework/ui/binding/MissingSourceValuesException.java +++ b/org.springframework.context/src/main/java/org/springframework/ui/binding/MissingSourceValuesException.java @@ -25,6 +25,7 @@ import java.util.Map; * @since 3.0 * @see Binder#bind(Map) */ +@SuppressWarnings("serial") public class MissingSourceValuesException extends RuntimeException { private List missing; diff --git a/org.springframework.context/src/main/java/org/springframework/ui/binding/NoSuchBindingException.java b/org.springframework.context/src/main/java/org/springframework/ui/binding/NoSuchBindingException.java index f6f9b49b1ef..cfce3af30ba 100644 --- a/org.springframework.context/src/main/java/org/springframework/ui/binding/NoSuchBindingException.java +++ b/org.springframework.context/src/main/java/org/springframework/ui/binding/NoSuchBindingException.java @@ -6,6 +6,7 @@ package org.springframework.ui.binding; * @since 3.0 * @see BindingFactory#getBinding(String) */ +@SuppressWarnings("serial") public class NoSuchBindingException extends RuntimeException { /** diff --git a/org.springframework.context/src/test/java/org/springframework/ui/binding/support/GenericBinderTests.java b/org.springframework.context/src/test/java/org/springframework/ui/binding/support/GenericBinderTests.java index 0cb562487f8..0f123728521 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/binding/support/GenericBinderTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/binding/support/GenericBinderTests.java @@ -361,11 +361,12 @@ public class GenericBinderTests { public void bindToMapElements() { binder.addBinding("favoriteFoodsByGroup"); Map values = new LinkedHashMap(); - values.put("favoriteFoodsByGroup[DAIRY]", "Milk"); - values.put("favoriteFoodsByGroup[FRUIT]", "Peaches"); - values.put("favoriteFoodsByGroup[MEAT]", "Ham"); + values.put("favoriteFoodsByGroup['DAIRY']", "Milk"); + values.put("favoriteFoodsByGroup['FRUIT']", "Peaches"); + values.put("favoriteFoodsByGroup['MEAT']", "Ham"); BindingResults results = binder.bind(values); System.out.println(results); + System.out.println(results); Assert.assertEquals(3, bean.favoriteFoodsByGroup.size()); assertEquals("Milk", bean.favoriteFoodsByGroup.get(FoodGroup.DAIRY)); assertEquals("Peaches", bean.favoriteFoodsByGroup.get(FoodGroup.FRUIT)); @@ -399,6 +400,19 @@ public class GenericBinderTests { assertEquals("DAIRY=Milk FRUIT=Peaches MEAT=Ham", value); } + @Test + @Ignore + public void bindToNullObjectPath() { + binder.addBinding("primaryAddress.street"); + binder.addBinding("primaryAddress.city"); + binder.addBinding("primaryAddress.state"); + binder.addBinding("primaryAddress.zip"); + Map values = new LinkedHashMap(); + values.put("primaryAddress.city", "Melbourne"); + binder.bind(values); + Assert.assertEquals("Melbourne", bean.primaryAddress.city); + } + @Test public void formatPossibleValue() { binder.addBinding("currency").formatWith(new CurrencyFormatter()); @@ -423,6 +437,10 @@ public class GenericBinderTests { private List foos; private List
addresses; private Map favoriteFoodsByGroup; + private Address primaryAddress; + + public TestBean() { + } public String getString() { return string; @@ -489,6 +507,14 @@ public class GenericBinderTests { this.favoriteFoodsByGroup = favoriteFoodsByGroup; } + public Address getPrimaryAddress() { + return primaryAddress; + } + + public void setPrimaryAddress(Address primaryAddress) { + this.primaryAddress = primaryAddress; + } + } public static class AddressFormatter implements Formatter
{