t.clientDoInsert(2, "X").clientDoInsert(3, "Y", false).checkClientSentOps(0); t.checkClientDoc("<blip><p>XYabc</p></blip>"); t.serverDoInsert(0, 3, "A", 4).serverDoInsert(1, 4, "B", 4); t.clientMock.flush(); t.checkClientGotOps(0, 2).checkClientSentOps().checkClientDoc("<blip><p>XYaABbc</p></blip>"); t.clientDoInsert(2, "X").clientDoInsert(3, "Y", false).checkClientSentOps(0); t.checkClientDoc("<blip><p>XYabc</p></blip>"); t.serverDoInsert(0, 3, "A", 4); try { t.checkClientGotOps(0, 2).checkClientSentOps().checkClientDoc("<blip><p>XYABabc</p></blip>");
t.clientDoInsert(2, "X").clientDoInsert(3, "Y", false).checkClientSentOps(0); t.checkClientDoc("<blip><p>XYabc</p></blip>"); t.serverDoInsert(0, 3, "A", 4).serverDoInsert(1, 4, "B", 4); t.clientMock.flush(); t.checkClientGotOps(0, 2).checkClientSentOps().checkClientDoc("<blip><p>XYaABbc</p></blip>"); t.clientDoInsert(2, "X").clientDoInsert(3, "Y", false).checkClientSentOps(0); t.checkClientDoc("<blip><p>XYabc</p></blip>"); t.serverDoInsert(0, 3, "A", 4); try { t.checkClientGotOps(0, 2).checkClientSentOps().checkClientDoc("<blip><p>XYABabc</p></blip>");
t.serverDoInsert(0, 2, "X", 5); t.checkClientGotOps(0).checkClientSentOps().checkClientDoc("<blip><p>Xabc</p></blip>"); t.clientDoInsert(2, "X").serverDoInsert(0, 3, "Y", 4); t.checkClientGotOps(0).checkClientSentOps(0).checkClientDoc("<blip><p>XaYbc</p></blip>"); t.serverDoInsert(0, 3, "A", 4); t.checkClientGotOps(0).checkClientSentOps(0).checkClientDoc("<blip><p>XYaAbc</p></blip>"); t.serverDoInsert(0, 3, "A", 5); t.checkClientGotOps(0).checkClientSentOps(0, 1).checkClientDoc("<blip><p>XaYAbZc</p></blip>"); t.clientDoInsert(2, "X").serverDoInsert(0, 3, "Y", 4).serverDoInsert(1, 4, "Z", 4); t.checkClientGotOps(0, 2).checkClientSentOps(0).checkClientDoc("<blip><p>XaYZbc</p></blip>"); t.serverDoInsert(0, 3, "Z", 4).serverDoInsert(1, 4, "A", 4); t.checkClientGotOps(0, 2).checkClientSentOps(0).checkClientDoc("<blip><p>XYaZAbc</p></blip>");
t.serverDoInsert(0, 2, "X", 5); t.checkClientGotOps(0).checkClientSentOps().checkClientDoc("<blip><p>Xabc</p></blip>"); t.clientDoInsert(2, "X").serverDoInsert(0, 3, "Y", 4); t.checkClientGotOps(0).checkClientSentOps(0).checkClientDoc("<blip><p>XaYbc</p></blip>"); t.serverDoInsert(0, 3, "A", 4); t.checkClientGotOps(0).checkClientSentOps(0).checkClientDoc("<blip><p>XYaAbc</p></blip>"); t.serverDoInsert(0, 3, "A", 5); t.checkClientGotOps(0).checkClientSentOps(0, 1).checkClientDoc("<blip><p>XaYAbZc</p></blip>"); t.clientDoInsert(2, "X").serverDoInsert(0, 3, "Y", 4).serverDoInsert(1, 4, "Z", 4); t.checkClientGotOps(0, 2).checkClientSentOps(0).checkClientDoc("<blip><p>XaYZbc</p></blip>"); t.serverDoInsert(0, 3, "Z", 4).serverDoInsert(1, 4, "A", 4); t.checkClientGotOps(0, 2).checkClientSentOps(0).checkClientDoc("<blip><p>XYaZAbc</p></blip>");