1.1 --- a/json/src/main/java/org/apidesign/html/json/impl/ContextAccessor.java Fri Apr 19 15:35:39 2013 +0200
1.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/ContextAccessor.java Fri Apr 19 15:40:27 2013 +0200
1.3 @@ -13,7 +13,7 @@
1.4 private static ContextAccessor DEFAULT;
1.5 static {
1.6 // run initializers
1.7 - Context.class.getMethods();
1.8 + Context.EMPTY.getClass();
1.9 }
1.10
1.11 protected ContextAccessor() {
2.1 --- a/json/src/test/java/net/java/html/json/ModelTest.java Fri Apr 19 15:35:39 2013 +0200
2.2 +++ b/json/src/test/java/net/java/html/json/ModelTest.java Fri Apr 19 15:40:27 2013 +0200
2.3 @@ -45,12 +45,14 @@
2.4 @Property(name = "changedProperty", type=String.class)
2.5 })
2.6 public class ModelTest {
2.7 + private MockTechnology my;
2.8 private Modelik model;
2.9 private static Modelik leakedModel;
2.10
2.11 @BeforeMethod
2.12 public void createModel() {
2.13 - model = new Modelik(Context.EMPTY);
2.14 + my = new MockTechnology();
2.15 + model = new Modelik(ContextBuilder.create().withTechnology(my).build());
2.16 }
2.17
2.18 @Test public void classGeneratedWithSetterGetter() {
2.19 @@ -70,22 +72,6 @@
2.20 }
2.21
2.22 @Test public void arrayChangesNotified() {
2.23 - class My implements Technology<Object> {
2.24 - private List<String> mutated = new ArrayList<>();
2.25 -
2.26 - @Override
2.27 - public Object wrapModel(Object model) {
2.28 - return this;
2.29 - }
2.30 -
2.31 - @Override
2.32 - public void valueHasMutated(Object data, String propertyName) {
2.33 - mutated.add(propertyName);
2.34 - }
2.35 - }
2.36 - My my = new My();
2.37 -
2.38 - model = new Modelik(ContextBuilder.create().withTechnology(my).build());
2.39 model.getNames().add("Hello");
2.40
2.41 assertFalse(my.mutated.isEmpty(), "There was a change" + my.mutated);
2.42 @@ -108,18 +94,14 @@
2.43 assertFalse(my.mutated.isEmpty(), "There was a change" + my.mutated);
2.44 assertTrue(my.mutated.contains("names"), "Change in names property: " + my.mutated);
2.45 }
2.46 -/*
2.47 +
2.48 @Test public void autoboxedArray() {
2.49 - MockKnockout my = new MockKnockout();
2.50 - MockKnockout.next = my;
2.51 -
2.52 - model.applyBindings();
2.53 -
2.54 model.getValues().add(10);
2.55
2.56 assertEquals(model.getValues().get(0), Integer.valueOf(10), "Really ten");
2.57 }
2.58
2.59 +/*
2.60 @Test public void derivedArrayProp() {
2.61 MockKnockout my = new MockKnockout();
2.62 MockKnockout.next = my;
2.63 @@ -251,4 +233,18 @@
2.64 assertNotNull(fullNameGenerated);
2.65 }
2.66 }
2.67 +
2.68 + private static class MockTechnology implements Technology<Object> {
2.69 + private final List<String> mutated = new ArrayList<>();
2.70 +
2.71 + @Override
2.72 + public Object wrapModel(Object model) {
2.73 + return this;
2.74 + }
2.75 +
2.76 + @Override
2.77 + public void valueHasMutated(Object data, String propertyName) {
2.78 + mutated.add(propertyName);
2.79 + }
2.80 + }
2.81 }