1.1 --- a/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Fri Apr 19 15:40:27 2013 +0200
1.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Fri Apr 19 15:44:44 2013 +0200
1.3 @@ -335,12 +335,13 @@
1.4 w.write("public void " + gs[1] + "(" + tn + " v) {\n");
1.5 w.write(" if (locked) throw new IllegalStateException();\n");
1.6 w.write(" prop_" + p.name() + " = v;\n");
1.7 - w.write(" if (ko != null) {\n");
1.8 - w.write(" ko.valueHasMutated(\"" + p.name() + "\");\n");
1.9 + w.write(" org.apidesign.html.json.impl.Bindings b = intKnckt();\n");
1.10 + w.write(" if (b != null) {\n");
1.11 + w.write(" b.valueHasMutated(\"" + p.name() + "\");\n");
1.12 Collection<String> dependants = deps.get(p.name());
1.13 if (dependants != null) {
1.14 for (String depProp : dependants) {
1.15 - w.write(" ko.valueHasMutated(\"" + depProp + "\");\n");
1.16 + w.write(" b.valueHasMutated(\"" + depProp + "\");\n");
1.17 }
1.18 }
1.19 w.write(" }\n");
2.1 --- a/json/src/test/java/net/java/html/json/ModelTest.java Fri Apr 19 15:40:27 2013 +0200
2.2 +++ b/json/src/test/java/net/java/html/json/ModelTest.java Fri Apr 19 15:44:44 2013 +0200
2.3 @@ -101,13 +101,7 @@
2.4 assertEquals(model.getValues().get(0), Integer.valueOf(10), "Really ten");
2.5 }
2.6
2.7 -/*
2.8 @Test public void derivedArrayProp() {
2.9 - MockKnockout my = new MockKnockout();
2.10 - MockKnockout.next = my;
2.11 -
2.12 - model.applyBindings();
2.13 -
2.14 model.setCount(10);
2.15
2.16 List<String> arr = model.getRepeat();
2.17 @@ -126,11 +120,6 @@
2.18 }
2.19
2.20 @Test public void derivedPropertiesAreNotified() {
2.21 - MockKnockout my = new MockKnockout();
2.22 - MockKnockout.next = my;
2.23 -
2.24 - model.applyBindings();
2.25 -
2.26 model.setValue(33);
2.27
2.28 // not interested in change of this property
2.29 @@ -150,7 +139,7 @@
2.30 assertEquals(my.mutated.size(), 1, "One property changed: " + my.mutated);
2.31 assertTrue(my.mutated.contains("unrelated"), "Its name is unrelated");
2.32 }
2.33 - */
2.34 +
2.35 @Test public void computedPropertyCannotWriteToModel() {
2.36 leakedModel = model;
2.37 try {