-
Notifications
You must be signed in to change notification settings - Fork 208
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add testcases | pure comp mode switch | fix setCheckmark(false) updat…
…e to client failed in indeterminate mode
- Loading branch information
1 parent
ca1d398
commit f1877cd
Showing
6 changed files
with
260 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
F100-ZK-3853-3.zul | ||
Purpose: | ||
Description: | ||
History: | ||
Tue Jan 02 19:14:59 CST 2024, Created by jamson | ||
Copyright (C) 2024 Potix Corporation. All Rights Reserved. | ||
--> | ||
<zk> | ||
<label multiline="true"> | ||
Tri-State Tree Pure Component Test. | ||
click `toggle checkmark`, `toggle multiple`, `toggle indeterminate` to see these state switch according to the following rules: | ||
* If toggle `indeterminate` false -> true, `checkmark` and `multiple` will be set to true at the same time. | ||
* If toggle `multiple` or `checkmark` true -> false, if `indeterminate` is true, then it'll be set to false. | ||
* If every mode change to `indeterminate` mode, initially it'll generate 3-state based on current checkmark. | ||
</label> | ||
<button label="toggle checkmark"> | ||
<attribute name="onClick"> | ||
tree.setCheckmark(!tree.isCheckmark()); | ||
System.out.println(tree.isCheckmark() + " " + tree.isMultiple() + " " + tree.isIndeterminate()); | ||
</attribute> | ||
</button> | ||
<button label="toggle multiple"> | ||
<attribute name="onClick"> | ||
tree.setMultiple(!tree.isMultiple()); | ||
System.out.println(tree.isCheckmark() + " " + tree.isMultiple() + " " + tree.isIndeterminate()); | ||
</attribute> | ||
</button> | ||
<button label="toggle indeterminate"> | ||
<attribute name="onClick"> | ||
tree.setIndeterminate(!tree.isIndeterminate()); | ||
System.out.println(tree.isCheckmark() + " " + tree.isMultiple() + " " + tree.isIndeterminate()); | ||
</attribute> | ||
</button> | ||
<tree id="tree"> | ||
<treecols> | ||
<treecol label="treecol" /> | ||
</treecols> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="0" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="1"/> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="2" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="3" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="4" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="5" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="6" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="7" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="8" /> | ||
</treerow> | ||
<treechildren> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="9" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="10" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="11" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="12" /> | ||
</treerow> | ||
</treeitem> | ||
<treeitem> | ||
<treerow> | ||
<treecell label="13" /> | ||
</treerow> | ||
</treeitem> | ||
</treechildren> | ||
</treeitem> | ||
</treechildren> | ||
</tree> | ||
</zk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
132 changes: 132 additions & 0 deletions
132
zktest/src/test/java/org/zkoss/zktest/zats/test2/F100_ZK_3853_3Test.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
/* F100_ZK_3853_3Test.java | ||
Purpose: | ||
Description: | ||
History: | ||
Tue Jan 02 19:34:54 CST 2024, Created by jamson | ||
Copyright (C) 2024 Potix Corporation. All Rights Reserved. | ||
*/ | ||
package org.zkoss.zktest.zats.test2; | ||
|
||
import org.junit.jupiter.api.Test; | ||
|
||
public class F100_ZK_3853_3Test extends F100_ZK_3853_1Test { | ||
|
||
/* | ||
mode 0: none | ||
mode 1: checkmark | ||
mode 2: multiple | ||
mode 3: checkmark + multiple | ||
mode 4: indeterminate ( + checkmark + multiple ) | ||
*/ | ||
|
||
@Test | ||
public void none_to_indeterminate() { | ||
connect(); | ||
|
||
click(jq("@treerow:eq(9)")); | ||
waitResponse(); | ||
toggleIndeterminate(); // open | ||
|
||
assertHdcm(2); | ||
assertCm(2, 4, 5, 8); | ||
assertCm(1, 9); | ||
assertCm(0, 0, 1, 2, 6, 7, 10, 11, 12, 13); | ||
} | ||
|
||
@Test | ||
public void checkmark_to_indeterminate() { | ||
connect(); | ||
|
||
toggleCheckmark(); // open | ||
click(jq("@treerow:eq(9)")); | ||
waitResponse(); | ||
|
||
toggleIndeterminate(); // open | ||
|
||
assertHdcm(2); | ||
assertCm(2, 4, 5, 8); | ||
assertCm(1, 9); | ||
assertCm(0, 0, 1, 2, 6, 7, 10, 11, 12, 13); | ||
} | ||
|
||
@Test | ||
public void multiple_to_indeterminate() { | ||
connect(); | ||
|
||
toggleMultiple(); // open | ||
click(jq("@treerow:eq(9)")); | ||
waitResponse(); | ||
|
||
toggleIndeterminate(); // open | ||
|
||
assertHdcm(2); | ||
assertCm(2, 4, 5, 8); | ||
assertCm(1, 9); | ||
assertCm(0, 0, 1, 2, 6, 7, 10, 11, 12, 13); | ||
} | ||
|
||
@Test | ||
public void checkmark_and_multiple_to_indeterminate() { | ||
connect(); | ||
|
||
toggleCheckmark(); // open | ||
toggleMultiple(); // open | ||
|
||
clickCm(2, 9); | ||
|
||
toggleIndeterminate(); // open | ||
|
||
assertHdcm(2); | ||
assertCm(2, 0, 4, 5, 8); | ||
assertCm(1, 2, 9); | ||
assertCm(0, 1, 6, 7, 10, 11, 12, 13); | ||
} | ||
|
||
@Test | ||
public void indeterminate_to_checkmark_and_multiple() { | ||
connect(); | ||
|
||
toggleIndeterminate(); // open | ||
|
||
click(jq("@treerow:eq(9)")); | ||
waitResponse(); | ||
|
||
assertHdcm(2); | ||
assertCm(2, 4, 5, 8); | ||
assertCm(1, 9); | ||
assertCm(0, 0, 1, 2, 6, 7, 10, 11, 12, 13); | ||
|
||
toggleIndeterminate(); // close | ||
|
||
assertHdcm(0); | ||
for (int i = 0; i <= 13; ++i) { | ||
if (i == 9) assertCm(1, 9); | ||
else assertCm(0, i); | ||
} | ||
} | ||
|
||
public void toggleCheckmark() { | ||
click(jq("@button:eq(0)")); | ||
waitResponse(); | ||
} | ||
|
||
public void toggleMultiple() { | ||
click(jq("@button:eq(1)")); | ||
waitResponse(); | ||
} | ||
|
||
public void toggleIndeterminate() { | ||
click(jq("@button:eq(2)")); | ||
waitResponse(); | ||
} | ||
|
||
@Override | ||
public void test() { | ||
// don't run super's test() | ||
// inherit just for the methods inside | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters