json/src/test/java/net/java/html/json/MapModelTest.java
branchApplyId
changeset 908 ee7a0b3b2d4c
parent 901 4d20596b35bc
     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  }