UNPKG

kityminder

Version:
110 lines (97 loc) 6.86 kB
测试要点 1. 操作模式 1.1 常规模式 1.1.1 只在该模式允许的操作:`节点选择`、`创建新节点`、`拖动到父节点` 1.2 拖动模式 1.1.2 只在该模式允许的操作:`画布拖放` 1.3 文本编辑模式 1.1.3 只在该模式允许的操作:`文本框选`、`文本编辑` 1.4 模式切换 1.4.1 常规模式下,在单个选中的节点上点击文字区域(多选的情况下不算),进入文本编辑模式,并且光标定在点击的位置上 1.4.2 常规模式下,在任意节点上双击文字区域,进入文本编辑模式,并且文本被选中 1.4.3 常规模式下,创建了新节点的时候,进入文本编辑模式,新节点文本被选中 1.4.4 常规模式下,有唯一选中的节点,按下字母和数字的按键会进入文本编辑模式,并且文字变为刚输入的字母或数字,或是弹出输入法框 1.4.5 文本编辑模式下,按 Tab 和 Enter 退出文本编辑模式,回到常规模式 1.4.6 文本编辑模式下,点击非文本区域的任何位置,退出文本编辑模式,回到常规模式 1.4.7 常规模式下,按 Space 或点击 UI 上的拖动图标进入拖动模式 1.4.8 拖动模式下,按 Space 或点击 UI 上的拖动图标退出拖动模式,回到常规模式 2. `节点选择` 交互 2.1 该交互只在常规模式下有效 2.2 点击任意未被选中的节点,会使其选中 2.3 点击空白处,会取消节点的选择 2.4 按着 Shift 键,点击的节点会切换选择状态 2.5 在空白处按下鼠标并移动10像素后,会显示选框;当选框跟节点有重合的时候,节点会被选中,没有重合的节点不被选中 2.6 按键盘方向键的时候: 2.6.1 对于一个节点“方向”的定义为: 2.6.1.1 以节点为坐标原点的直角坐标系顺时针旋转45度,第一象限为“上”,第二象限为“左”,第三象限为“右”,第四象限为“下” 2.6.2 假如当前没有节点被选中,任何方向键都将选中根节点 2.6.3 假如当前有唯一选中的节点,将导航至指定方向区域的最近的节点 2.6.4 假如有多个选择的节点,以选择顺序第一个节点为参照,导航至其指定方向区域的最近的节点 2.6.5 假如被导航的区域中没有节点,选区保持不变 3. `创建新节点` 交互 3.1 目标节点定义为: 3.1.1 如果有唯一选中的节点,其为目标节点 3.1.2 如果有多个选中的节点,则首个(时间上)被选中的节点为目标节点 3.2 如果存在目标节点: 3.2.1 按下键盘的 Tab 键,会创建一个目标节点的子节点,并且新节点在唯一选中状态,模式变为文本编辑模式 3.2.2 按下键盘的 Enter 键,并且目标节点不是根节点,会创建一个目标节点的兄弟节点(紧邻的位置上),并且新节点在唯一选中,模式变为文本编辑模式 3.3 如果存在目标节点: 3.3.1 创建子节点的 UI 是可用的,否则不可用 3.3.2 如果目标节点是根节点,则创建兄弟节点的 UI 是不可用的,否则是可用的 3.4 该交互只在常规模式下有效 4. `拖放到父节点` 交互 4.1 该交互只在常规模式下有效 4.2 在任意节点上 mousedown,并且移动10像素以上,确定拖放对象: 4.2.1 如果节点没被选中,则节点被选中,并且作为拖动对象 4.2.2 如果节点是被选中的,则所有选中的节点作为拖放对象 4.3 排除无效拖放对象: 4.3.1 如果存在一个拖放对象A和另一个拖放对象B,A是B的祖先,则B被排除 4.3.2 排除后剩余的对象成为真正的拖放对象 4.4 拖放对象表示为一个拖放图形,并且显示拖放对象的数量 4.5 拖放图形随鼠标移动,并且每次移动会判断是否遇到拖放目标: 4.5.1 拖放对象本身以及整棵子树都不能作为拖放目标 4.5.2 如果拖放图形和拖放目标的图形有重合,拖放目标会高亮,否则不会高亮 4.6 如果在遇到拖放目标的时候释放鼠标(mouseup),会让拖放对象成为拖放目标的子节点,并且: 4.6.1 保持之前拖放目标的选中状态 4.6.2 保证拖放目标的顺序与拖放之前保持一致 5. `画布导航` 交互 5.1 该交互只在拖动模式下有效 5.2 在任意位置鼠标按下(mousedown)之后画布可以随鼠标移动 5.3 鼠标释放(mouseup)之后画布不再随鼠标移动 5.4 按下方向键会让画布用动画朝反方向移动一定的距离 6. `画布缩放` 交互 6.1 在非文本编辑模式下,点击 `+` 和 `-` 分别可以拉近视野(放大画布)和拉远视野(缩小画布) 6.2 在任意模式下,使用鼠标滚轮可以缩放视野 6.2.1 往上滚动拉近视野 6.2.3 往下滚动拉远视野 6.3 在任意模式下,UI 上的 zoom-in 和 zoom-out 分别可以拉近视野和拉远视野 6.4 视野拉远和拉近都有最值,不能无限操作;当每个操作不可用的时候,UI 上的按钮呈不可用状态 7. `文本框选``文本编辑` 和默认行为一致即可 8. `字体样式` 功能 8.1 该功能在 `拖放模式` 下不可用 8.2 包括的子功能: 8.2.1 加粗 8.2.2 斜体 8.2.3 字体 8.2.4 字号 8.2.5 颜色 8.3 所有的子功能以节点为单位设置和读取 8.4 对于选中的节点在 UI 上应该反映当前的样式状态 8.5 UI 上设置样式针对所有选中的节点生效 8.6 没有选中节点的时候,UI 上的功能按钮应该呈不可用状态 9. `子节点收缩功能` 9.1 在一级节点及以上,如果存在子节点,显示收缩功能的图标,否则不显示 9.2 收缩图标显示 `-` 的时候,子节点显示;收缩图标显示 `+` 的时候,子节点不显示;点击图标切换这两种状态 10. `节点删除功能` 10.1 目标节点的计算方法同拖放到父节点的拖放目标的计算方法 10.2 如果目标节点包含根,把根从目标节点中移除 10.3 如果包含删除目标,删除操作的 UI 是可用的,否则是不可用的 10.4 把所有目标节点从其父节点中移除 11. `标签功能` 11.1 对于选中的节点,点击优先级标签和完成度标签可以在节点文本前添加标签图形 11.2 对于同一类的标签,只能添加一个标签 11.3 选中单个节点的时候,标签面板显示选中节点的当前标签; 11.4 多选的情况下,如果标签一致以任意一个节点为准来显示状态;标签不一致显示所有包含的状态 12. `导入导出功能` 12.1 导出数据应该能下载一个文件 12.2 下载的文件拖动到画布上,可以还原原来的数据