1.1 --- a/json/src/test/java/net/java/html/json/MapModelTest.java Tue Dec 09 13:42:51 2014 +0100
1.2 +++ b/json/src/test/java/net/java/html/json/MapModelTest.java Tue Dec 16 21:03:16 2014 +0100
1.3 @@ -76,6 +76,7 @@
1.4
1.5 @Test public void isThereABinding() throws Exception {
1.6 Person p = Models.bind(new Person(), c).applyBindings();
1.7 + assertNull(t.appliedId, "Applied globally");
1.8 p.setFirstName("Jarda");
1.9
1.10 Map m = (Map)Models.toRaw(p);
1.11 @@ -94,6 +95,10 @@
1.12 assertEquals(o.changes, 2, "Snd change");
1.13 }
1.14
1.15 + @Test public void applyLocally() throws Exception {
1.16 + Person p = Models.bind(new Person(), c).applyBindings("local");
1.17 + assertEquals(t.appliedId, "local", "Applied locally");
1.18 + }
1.19
1.20 @Test public void dontNotifySameProperty() throws Exception {
1.21 Person p = Models.bind(new Person(), c);
1.22 @@ -293,7 +298,9 @@
1.23 }
1.24
1.25 static final class MapTechnology
1.26 - implements Technology<Map<String,One>>, Transfer {
1.27 + implements Technology.ApplyId<Map<String,One>>, Transfer {
1.28 + private Map<String, One> appliedData;
1.29 + private String appliedId;
1.30
1.31 @Override
1.32 public Map<String, One> wrapModel(Object model) {
1.33 @@ -329,6 +336,7 @@
1.34
1.35 @Override
1.36 public void applyBindings(Map<String, One> data) {
1.37 + throw new UnsupportedOperationException("Never called!");
1.38 }
1.39
1.40 @Override
1.41 @@ -370,5 +378,11 @@
1.42 public void runSafe(Runnable r) {
1.43 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
1.44 }
1.45 +
1.46 + @Override
1.47 + public void applyBindings(String id, Map<String, One> data) {
1.48 + this.appliedId = id;
1.49 + this.appliedData = data;
1.50 + }
1.51 }
1.52 }