1.1 --- a/json-tck/src/main/java/net/java/html/json/tests/KnockoutTest.java Thu Jan 21 18:54:29 2016 +0100
1.2 +++ b/json-tck/src/main/java/net/java/html/json/tests/KnockoutTest.java Mon Feb 08 20:42:23 2016 +0100
1.3 @@ -168,23 +168,45 @@
1.4 }
1.5 }
1.6
1.7 - @KOTest public void rawObject() {
1.8 - final BrwsrCtx ctx = newContext();
1.9 - Person p1 = Models.bind(new Person(), ctx);
1.10 - p1.setFirstName("Jarda");
1.11 - p1.setLastName("Tulach");
1.12 - Object raw = Models.toRaw(p1);
1.13 - Person p2 = Models.fromRaw(ctx, Person.class, raw);
1.14 -
1.15 - assertEquals(p2.getFirstName(), "Jarda", "First name");
1.16 - assertEquals(p2.getLastName(), "Tulach", "Last name");
1.17 + @KOTest public void rawObject() throws Exception {
1.18 + if (js == null) {
1.19 + final BrwsrCtx ctx = newContext();
1.20 + Person p1 = Models.bind(new Person(), ctx);
1.21 + p1.setFirstName("Jarda");
1.22 + p1.setLastName("Tulach");
1.23 + Object raw = Models.toRaw(p1);
1.24 + Person p2 = Models.fromRaw(ctx, Person.class, raw);
1.25
1.26 - p2.setFirstName("Jirka");
1.27 - assertEquals(p2.getFirstName(), "Jirka", "First name updated");
1.28 - assertEquals(p1.getFirstName(), "Jirka", "First name updated in original object");
1.29 + assertEquals(p2.getFirstName(), "Jarda", "First name");
1.30 + assertEquals(p2.getLastName(), "Tulach", "Last name");
1.31
1.32 - p1.setFirstName("Ondra");
1.33 - assertEquals(p1.getFirstName(), "Ondra", "1st name updated in original object");
1.34 + p2.setFirstName("Jirka");
1.35 + assertEquals(p2.getFirstName(), "Jirka", "First name updated");
1.36 +
1.37 + js = new KnockoutModel();
1.38 + js.getPeople().add(p1);
1.39 + js.getPeople().add(p2);
1.40 + }
1.41 +
1.42 + Person p1 = js.getPeople().get(0);
1.43 + Person p2 = js.getPeople().get(1);
1.44 +
1.45 + if (js.getPeople().size() == 2) {
1.46 + if (!"Jirka".equals(p1.getFirstName())) {
1.47 + throw new InterruptedException();
1.48 + }
1.49 +
1.50 + assertEquals(p1.getFirstName(), "Jirka", "First name updated in original object");
1.51 +
1.52 + p1.setFirstName("Ondra");
1.53 + assertEquals(p1.getFirstName(), "Ondra", "1st name updated in original object");
1.54 +
1.55 + js.getPeople().add(p1);
1.56 + }
1.57 +
1.58 + if (!"Ondra".equals(p2.getFirstName())) {
1.59 + throw new InterruptedException();
1.60 + }
1.61 assertEquals(p2.getFirstName(), "Ondra", "1st name updated in copied object");
1.62 }
1.63