1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java Thu Apr 04 11:45:54 2013 +0200
1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java Thu Apr 04 13:08:26 2013 +0200
1.3 @@ -27,7 +27,9 @@
1.4 import org.apidesign.bck2brwsr.vmtest.BrwsrTest;
1.5 import org.apidesign.bck2brwsr.vmtest.HtmlFragment;
1.6 import org.apidesign.bck2brwsr.vmtest.VMTest;
1.7 +import static org.testng.Assert.assertEquals;
1.8 import org.testng.annotations.Factory;
1.9 +import org.testng.annotations.Test;
1.10
1.11 /**
1.12 *
1.13 @@ -181,6 +183,28 @@
1.14
1.15 assert first.getSex() == Sex.FEMALE : "Transverted to female: " + first.getSex();
1.16 }
1.17 +
1.18 + @Test public void cloneModel() {
1.19 + Person model = new Person();
1.20 +
1.21 + model.setFirstName("first");
1.22 + Person snd = model.clone();
1.23 + snd.setFirstName("clone");
1.24 + assertEquals("first", model.getFirstName(), "Value has not changed");
1.25 + assertEquals("clone", snd.getFirstName(), "Value has changed in clone");
1.26 + }
1.27 +
1.28 +
1.29 + @Test public void deepCopyOnClone() {
1.30 + People model = new People();
1.31 + model.getNicknames().add("Jarda");
1.32 + assertEquals(model.getNicknames().size(), 1, "One element");
1.33 + People snd = model.clone();
1.34 + snd.getNicknames().clear();
1.35 + assertEquals(snd.getNicknames().size(), 0, "Clone is empty");
1.36 + assertEquals(model.getNicknames().size(), 1, "Still one element");
1.37 + }
1.38 +
1.39
1.40 @OnFunction
1.41 static void call(KnockoutModel m, String data) {