mirror of
https://github.com/divkit/divkit.git
synced 2026-05-07 20:02:32 +00:00
1251 lines
38 KiB
JSON
1251 lines
38 KiB
JSON
{
|
|
"tests": [
|
|
{
|
|
"title": "Simple tap",
|
|
"tags": [
|
|
"DivAction"
|
|
],
|
|
"steps": [
|
|
"Tap on text 'Click on me'"
|
|
],
|
|
"expected_results": [
|
|
"Text 'Click on me' changed to 'You clicked on me'",
|
|
"Second click chande text to 'Click on me'"
|
|
],
|
|
"file": "simple_tap.json"
|
|
},
|
|
{
|
|
"title": "Long tap",
|
|
"tags": [
|
|
"DivAction"
|
|
],
|
|
"steps": [
|
|
"Long tap on button 'Long tap menu'"
|
|
],
|
|
"expected_results": [
|
|
"Menu with butons 'show' and 'hide' is appearing",
|
|
"longtap_actions logged"
|
|
],
|
|
"file": "long_tap.json"
|
|
},
|
|
{
|
|
"title": "Tab swipe",
|
|
"tags": [
|
|
"DivTabs",
|
|
"swipe"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right"
|
|
],
|
|
"expected_results": [
|
|
"Tab changes depending on the swipe direction",
|
|
"Tabs changes is logged"
|
|
],
|
|
"file": "tabs_max_height.json"
|
|
},
|
|
{
|
|
"title": "Tab swipe restricted",
|
|
"tags": [
|
|
"DivTabs",
|
|
"swipe"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right"
|
|
],
|
|
"expected_results": [
|
|
"Tab not changed",
|
|
"Tab changes on header click"
|
|
],
|
|
"file": "tabs_disabled_switch_tabs_by_swipe.json"
|
|
},
|
|
{
|
|
"title": "Gallery scroll",
|
|
"tags": [
|
|
"DivGallery",
|
|
"scroll"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right"
|
|
],
|
|
"expected_results": [
|
|
"Content is changes depending on scroll direction",
|
|
"Gallery scroll is logged"
|
|
],
|
|
"file": "gallery/gallery_swipe.json"
|
|
},
|
|
{
|
|
"title": "Paged gallery scroll",
|
|
"tags": [
|
|
"DivGallery",
|
|
"scroll"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right"
|
|
],
|
|
"expected_results": [
|
|
"Content is changes page by page",
|
|
"Gallery scroll is logged"
|
|
],
|
|
"file": "gallery/gallery_swipe_paged.json"
|
|
},
|
|
{
|
|
"title": "Gallery columns",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"expected_results": [
|
|
"Gallery has 2 columns. First column has 2 elements, second - 4 elements."
|
|
],
|
|
"file": "gallery/gallery-columns.json"
|
|
},
|
|
{
|
|
"title": "Gallery item actions",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right",
|
|
"Click on buttons"
|
|
],
|
|
"expected_results": [
|
|
"Content is changes depending on scroll direction or clicked buttons",
|
|
"Gallery scroll is logged"
|
|
],
|
|
"file": "gallery/gallery-item-actions.json"
|
|
},
|
|
{
|
|
"title": "Gallery default item states",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"steps": [
|
|
"Click on button 'Expand' in gallery item",
|
|
"Click on button 'Collpse' in expanded items"
|
|
],
|
|
"expected_results": [
|
|
"Only clicked gallery item change state"
|
|
],
|
|
"file": "gallery/gallery_default_item_states.json"
|
|
},
|
|
{
|
|
"title": "Gallery paging default item states",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"steps": [
|
|
"Click on button 'Expand' in gallery item",
|
|
"Click on button 'Collpse' in expanded items",
|
|
"Scroll gallery"
|
|
],
|
|
"expected_results": [
|
|
"Only clicked gallery item change state",
|
|
"Gallery scrolls page by page"
|
|
],
|
|
"file": "gallery/gallery_paging_default_item_states.json"
|
|
},
|
|
{
|
|
"title": "Zoomable gallery",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"expected_results": [
|
|
"Image in gallery can be zoomed"
|
|
],
|
|
"file": "gallery/zoomable-gallery.json"
|
|
},
|
|
{
|
|
"title": "Gallery bottom multiline",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"file": "gallery/gallery-bottom-multiline.json"
|
|
},
|
|
{
|
|
"title": "Gallery bottom multiline selected actions",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"file": "gallery/gallery-bottom-multiline-selected-action.json"
|
|
},
|
|
{
|
|
"title": "Gallery bottom singleline",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"file": "gallery/gallery-bottom-singleline.json"
|
|
},
|
|
{
|
|
"title": "Gallery top multiline",
|
|
"tags": [
|
|
"DivGallery"
|
|
],
|
|
"file": "gallery/gallery-top-multiline.json"
|
|
},
|
|
{
|
|
"title": "Pager scroll",
|
|
"tags": [
|
|
"DivPager",
|
|
"scroll"
|
|
],
|
|
"steps": [
|
|
"Horizontal swipe to left",
|
|
"Horizontal swipe to right"
|
|
],
|
|
"expected_results": [
|
|
"Content is changes page by page",
|
|
"Page change is logged"
|
|
],
|
|
"file": "pager/pager.json"
|
|
},
|
|
{
|
|
"title": "Pager item actions",
|
|
"tags": [
|
|
"DivPager"
|
|
],
|
|
"file": "pager/pager-item-actions.json"
|
|
},
|
|
{
|
|
"title": "Pager selected actions",
|
|
"tags": [
|
|
"DivPager"
|
|
],
|
|
"file": "pager/pager-selected-actions.json"
|
|
},
|
|
{
|
|
"title": "Pager default item states",
|
|
"tags": [
|
|
"DivPager"
|
|
],
|
|
"file": "pager/pager_default_item_states.json"
|
|
},
|
|
{
|
|
"title": "Action animations",
|
|
"tags": [
|
|
"DivAnimation"
|
|
],
|
|
"steps": [
|
|
"Click on each button with animations"
|
|
],
|
|
"expected_results": [
|
|
"The animation written on the button appears",
|
|
"Animation finished on long click finish"
|
|
],
|
|
"file": "action_animation/animations.json"
|
|
},
|
|
{
|
|
"title": "Recomendation slider",
|
|
"tags": [
|
|
"Slider"
|
|
],
|
|
"priority": "blocker",
|
|
"steps": [
|
|
"Interact with the slider"
|
|
],
|
|
"expected_results": [
|
|
"Pointer position is changes and change button text"
|
|
],
|
|
"file": "slider_nps.json"
|
|
},
|
|
{
|
|
"title": "Slider with two pointers",
|
|
"tags": [
|
|
"Slider"
|
|
],
|
|
"priority": "critical",
|
|
"steps": [
|
|
"Interact with the slider"
|
|
],
|
|
"expected_results": [
|
|
"Pointer position is changes and change button text"
|
|
],
|
|
"file": "double_slider.json"
|
|
},
|
|
{
|
|
"title": "Slider preferences",
|
|
"tags": [
|
|
"Slider"
|
|
],
|
|
"steps": [
|
|
"Interact with slider"
|
|
],
|
|
"expected_results": [
|
|
"Slider poiner shange it's position"
|
|
],
|
|
"file": "slider_presets.json"
|
|
},
|
|
{
|
|
"title": "Root state switching",
|
|
"steps": [
|
|
"Press 'CHANGE STATE (TEMPORARY)'",
|
|
"Restart the app",
|
|
"Turn back to this scenario",
|
|
"Press 'CHANGE STATE'",
|
|
"Restart the app",
|
|
"Turn back to this scenario"
|
|
],
|
|
"expected_results": [
|
|
"button 'CHANGE STATE (TEMPORARY)' change state and save it between app restart",
|
|
"button 'CHANGE STATE' change state, but state resets after app restart"
|
|
],
|
|
"file": "root_state_switching.json"
|
|
},
|
|
{
|
|
"title": "Focus",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"steps": [
|
|
"Switch focus"
|
|
],
|
|
"expected_results": [
|
|
"Elements focus changes in order to switch"
|
|
],
|
|
"file": "focus.json"
|
|
},
|
|
{
|
|
"title": "Focus events",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"steps": [
|
|
"Switch focus to handler",
|
|
"Switch focus to idle"
|
|
],
|
|
"expected_results": [
|
|
"Start state of the right evement is 'init'",
|
|
"When handler gets focus, state of the right element is 'focus'",
|
|
"When handler lost focus, state of the right element is 'blur'"
|
|
],
|
|
"file": "focus_actions.json"
|
|
},
|
|
{
|
|
"title": "Accessibility descriptions",
|
|
"tags": [
|
|
"Accessibility"
|
|
],
|
|
"steps": [
|
|
"Set russian language on device",
|
|
"Turn on TalkBack and set order of elements description to '\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435,\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435,\u0442\u0438\u043f'",
|
|
"Set focus on '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 1'",
|
|
"Listen to TalkBack",
|
|
"Double tap on screen",
|
|
"Set focus on '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 2'",
|
|
"Listen to TalkBack",
|
|
"Set focus on '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 3'"
|
|
],
|
|
"expected_results": [
|
|
"On '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 1' TalkBack should say 'C\u0435\u0439\u0447\u0430\u0441 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 0; \u042d\u043b\u0435\u043c\u0435\u043d\u0442 1; \u041a\u043d\u043e\u043f\u043a\u0430; \u041a\u043e\u0441\u043d\u0438\u0442\u0435\u0441\u044c \u0434\u0432\u0430\u0436\u0434\u044b, \u0447\u0442\u043e\u0431\u044b \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c'",
|
|
"After double tap TalkBack should say '\u0421\u0435\u0439\u0447\u0430\u0441 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 1'",
|
|
"On '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 2' TalkBack should say '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 2; \u041a\u043d\u043e\u043f\u043a\u0430; \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e'",
|
|
"On '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 3' TalkBack should say '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 3; \u041a\u043d\u043e\u043f\u043a\u0430'"
|
|
],
|
|
"file": "accessibility/descriptions.json"
|
|
},
|
|
{
|
|
"title": "Accessibility types",
|
|
"tags": [
|
|
"Accessibility"
|
|
],
|
|
"steps": [
|
|
"Set russian language on device",
|
|
"Turn on TalkBack and set order of elements description to '\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435,\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435,\u0442\u0438\u043f'",
|
|
"Focus on top button",
|
|
"Move focuse rom one button to another"
|
|
],
|
|
"expected_results": [
|
|
"On each elements will be text '\u0422\u0438\u043f - X', you should hear '\u0422\u0438\u043f - X; X'; For example '\u0422\u0438\u043f - \u043a\u043d\u043e\u043f\u043a\u0430; \u043a\u043d\u043e\u043f\u043a\u0430'",
|
|
"For '\u0422\u0438\u043f - \u0442\u0435\u043a\u0441\u0442' and '\u0411\u0435\u0437 \u0442\u0438\u043f\u0430' you will hear '\u0422\u0438\u043f - \u0442\u0435\u043a\u0441\u0442' and '\u0411\u0435\u0437 \u0442\u0438\u043f\u0430'."
|
|
],
|
|
"file": "accessibility/types.json"
|
|
},
|
|
{
|
|
"title": "Default Accessibility mode",
|
|
"tags": [
|
|
"Accessibility"
|
|
],
|
|
"steps": [
|
|
"Turn on TalkBack",
|
|
"Focus on items from top to bottom"
|
|
],
|
|
"expected_results": [
|
|
"When focusing on 1 item you'll hear '\u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 1'",
|
|
"When focusing on group of 2 and 3 items you will hear '\u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 2, \u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 3'",
|
|
"Can't focus 4 element"
|
|
],
|
|
"file": "accessibility/mode/default.json"
|
|
},
|
|
{
|
|
"title": "Merge Accessibility mode",
|
|
"tags": [
|
|
"Accessibility"
|
|
],
|
|
"steps": [
|
|
"Turn on TalkBack",
|
|
"Focus on items from top to bottom"
|
|
],
|
|
"expected_results": [
|
|
"Focusing on all card",
|
|
"You will hear '\u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 1, \u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 2, \u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 3'",
|
|
"On activation menu with text '\u042d\u043b\u0435\u043c\u0435\u043d\u0442 1, \u042d\u043b\u0435\u043c\u0435\u043d\u0442 2, \u042d\u043b\u0435\u043c\u0435\u043d\u0442 3' appears",
|
|
"On focus TalkBack should not say '\u041a\u043e\u0441\u043d\u0438\u0442\u0435\u0441\u044c \u0434\u0432\u0430\u0436\u0434\u044b \u0438 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435'"
|
|
],
|
|
"file": "accessibility/mode/merge.json"
|
|
},
|
|
{
|
|
"title": "Exclude Accessibility mode",
|
|
"tags": [
|
|
"Accessibility"
|
|
],
|
|
"steps": [
|
|
"Turn on TalkBack",
|
|
"Focus on items from top to bottom"
|
|
],
|
|
"expected_results": [
|
|
"Focuse on 5-th item",
|
|
"\u0423\u0441\u043b\u044b\u0448\u0438\u043c '\u042d\u0442\u043e \u042d\u043b\u0435\u043c\u0435\u043d\u0442 5'",
|
|
"\u041f\u0440\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u043c TalkBack \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435 \u043f\u0440\u0438 \u0442\u0430\u043f\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043c\u0435\u043d\u044e \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438"
|
|
],
|
|
"file": "accessibility/mode/exclude.json"
|
|
},
|
|
{
|
|
"title": "Actions on tap",
|
|
"steps": [
|
|
"Tap on top button",
|
|
"Double tap on top button",
|
|
"Long click on top button",
|
|
"Tap on middle button",
|
|
"Double tap on middle button",
|
|
"Long click on middle button",
|
|
"Tap on image on he bottom button",
|
|
"Long click between buttons"
|
|
],
|
|
"expected_results": [
|
|
"Menu with text 'Single tap' appears with delay",
|
|
"Menu with text 'Double tap' appears",
|
|
"Menu with text 'Long tap' appears",
|
|
"Menu with text 'Single tap' appears without delay",
|
|
"Menu with text 'Single tap' appears and than desappears",
|
|
"Menu with text 'Long tap on container' appears for container",
|
|
"Menu with text 'Single tap on child' appears",
|
|
"Menu with text 'Long tap on container' appears for container"
|
|
],
|
|
"file": "button_actions.json"
|
|
},
|
|
{
|
|
"title": "Longtap actions",
|
|
"file": "pinch-to-zoom-longtap-actions.json"
|
|
},
|
|
{
|
|
"title": "Div errors visualization",
|
|
"priority": "critical",
|
|
"expected_results": [
|
|
"The card displays a red button with the number 1",
|
|
"Click on red button shows error INVALID_VALUE",
|
|
"Click on the cross hide screen with error details",
|
|
"Click on save button copy json with errors",
|
|
"Click on text 'Generate error!' add errors 'Value 'wrong_value' for key 'alignment_horizontal' at path '@{alignment}' is not valid'"
|
|
],
|
|
"file": "error_visual_monitor.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Fade full",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears changing the transparency"
|
|
],
|
|
"file": "animations/transition/fade_full_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Fade part",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears changing the transparency starting or ending with transparency = 0.5"
|
|
],
|
|
"file": "animations/transition/fade_part_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Scale full",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears changing the scale"
|
|
],
|
|
"file": "animations/transition/scale_full_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Scale part",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears changing the scale starting or ending with scale = 0.75"
|
|
],
|
|
"file": "animations/transition/scale_part_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Slide full",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears sliding from under the top edge of the card"
|
|
],
|
|
"file": "animations/transition/slide_full_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Slide part",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears sliding from under the top edge of the card, but not reaching it"
|
|
],
|
|
"file": "animations/transition/slide_part_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Set",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears and desapears changing trancparency and sliding from center to edge"
|
|
],
|
|
"file": "animations/transition/set_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Diff ids",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should appears from diffrent edges of card"
|
|
],
|
|
"file": "animations/transition/change_bounds_diff_ids_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Diff sizes",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should change it's size"
|
|
],
|
|
"file": "animations/transition/change_bounds_diff_sizes_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Diff types",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should change text moving across the screen"
|
|
],
|
|
"file": "animations/transition/change_bounds_diff_types_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Change bounds same ids",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press button with text 'GO'",
|
|
"After image appears press 'GO BACK'"
|
|
],
|
|
"expected_results": [
|
|
"Image should move horizontally across the screen"
|
|
],
|
|
"file": "animations/transition/change_bounds_same_ids_src.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Article",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Click on 'EXPAND'",
|
|
"Click on 'SHOW COMMENTS'",
|
|
"After expanding of elements click on 'COLLAPSE'"
|
|
],
|
|
"expected_results": [
|
|
"Expanding end collapsing the elements shoud be with animation"
|
|
],
|
|
"file": "animations/article.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Article with transitions",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Click on 'EXPAND'",
|
|
"Click on 'SHOW COMMENTS'",
|
|
"After expanding of elements click on 'COLLAPSE'"
|
|
],
|
|
"expected_results": [
|
|
"Expanding end collapsing the elements shoud be with animation"
|
|
],
|
|
"file": "animations/article_with_transitions.json"
|
|
},
|
|
{
|
|
"title": "Synchronizing multiple change bounds animations. Blink",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Click on 'BLINK'"
|
|
],
|
|
"expected_results": [
|
|
"Red sircle should appear and disappear"
|
|
],
|
|
"file": "animations/blink.json"
|
|
},
|
|
{
|
|
"title": "Scale transition ignore pivot_x/pivot_y",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Press on 'GO'"
|
|
],
|
|
"expected_results": [
|
|
"Image should scale from left edge to right one"
|
|
],
|
|
"file": "animations/scale_pivot_src.json"
|
|
},
|
|
{
|
|
"title": "Change bounds transitions ignore start_delay",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Click on tooltip"
|
|
],
|
|
"expected_results": [
|
|
"A few seconds after the card is shown, a tooltip should appear",
|
|
"The text should disappear first, and the background after a short delay"
|
|
],
|
|
"file": "animations/mute_notification.json"
|
|
},
|
|
{
|
|
"title": "State transition any change",
|
|
"file": "animations/transition/state_transition_any_change.json"
|
|
},
|
|
{
|
|
"title": "State transition data change",
|
|
"file": "animations/transition/state_transition_data_change.json"
|
|
},
|
|
{
|
|
"title": "State transition state change",
|
|
"file": "animations/transition/state_transition_state_change.json"
|
|
},
|
|
{
|
|
"title": "Inner state transition any change",
|
|
"file": "animations/transition/inner_state_transition_any_change.json"
|
|
},
|
|
{
|
|
"title": "Inner state transition data change",
|
|
"file": "animations/transition/inner_state_transition_data_change.json"
|
|
},
|
|
{
|
|
"title": "Inner state transition data change",
|
|
"file": "animations/transition/inner_state_transition_data_change.json"
|
|
},
|
|
{
|
|
"title": "Lottie animation restart repeate_mode. Repeate count = 5",
|
|
"tags": [
|
|
"Animations",
|
|
"lottie"
|
|
],
|
|
"steps": [
|
|
"Spinner animation will continue 5 times and then stop",
|
|
"Press RESET"
|
|
],
|
|
"expected_results": [
|
|
"Spinner animation will continue 5 times and then stop"
|
|
],
|
|
"file": "animations/lottie/spinner_restart_repeat_mode.json"
|
|
},
|
|
{
|
|
"title": "Lottie animation revese repeate_mode. Repeate count = 3",
|
|
"tags": [
|
|
"Animations",
|
|
"lottie"
|
|
],
|
|
"steps": [
|
|
"Spinner change spin dirrection 3 times and then stops",
|
|
"\u041d\u0430\u0436\u0430\u0442\u044c RESET"
|
|
],
|
|
"expected_results": [
|
|
"Spinner change spin dirrection 3 times and then stops"
|
|
],
|
|
"file": "animations/lottie/spinner_reverse_repeat_mode.json"
|
|
},
|
|
{
|
|
"title": "Lottie animation restart repeate_mode. Repeate count = -1",
|
|
"tags": [
|
|
"Animations",
|
|
"lottie"
|
|
],
|
|
"expected_results": [
|
|
"Infinite spinner animation."
|
|
],
|
|
"file": "animations/lottie/spinner.json"
|
|
},
|
|
{
|
|
"title": "For the reverse animation of the action, a direct interpolator is used",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"file": "action_animation/button_press_action_animations.json"
|
|
},
|
|
{
|
|
"title": "Visibility_actions in gallery",
|
|
"tags": [
|
|
"Visibility_actions"
|
|
],
|
|
"steps": [
|
|
"Scroll the gallery",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Gallery data was opened",
|
|
"items visibility logged, for example 'logViewShown(cardId = ..., id = item/01)'"
|
|
],
|
|
"file": "gallery/gallery_swipe.json"
|
|
},
|
|
{
|
|
"title": "Visibility_actions in pager",
|
|
"tags": [
|
|
"Visibility_actions",
|
|
"DivPager"
|
|
],
|
|
"steps": [
|
|
"Scroll the pager",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Pager data was opened",
|
|
"items visibility logged, for example 'logViewShown(cardId = ..., id = content_item_show:1)'"
|
|
],
|
|
"file": "action_visibility/pager.json"
|
|
},
|
|
{
|
|
"title": "Visibility_actions on change page in pager",
|
|
"tags": [
|
|
"Visibility_actions",
|
|
"DivPager"
|
|
],
|
|
"steps": [
|
|
"Swipe cards",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Pager data is logged",
|
|
"items visibility logged, for example 'logViewShown(cardId = ..., id = content_item_show:1)'"
|
|
],
|
|
"file": "action_visibility/swipe_div_pager.json"
|
|
},
|
|
{
|
|
"title": "Visibility actions performed and logged in pager",
|
|
"tags": [
|
|
"Visibility_actions",
|
|
"DivPager"
|
|
],
|
|
"steps": [
|
|
"Swipe cards",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Logged evens logViewShown(cardId = ..., id = content_item_show0) logViewShown(cardId = ..., id = container)",
|
|
"Cards description was changed"
|
|
],
|
|
"file": "action_visibility/swipe_div_pager.json"
|
|
},
|
|
{
|
|
"title": "Send visiblity_actions for first page in Pager using Div2View.tryLogVisibility",
|
|
"tags": [
|
|
"Visibility_actions",
|
|
"DivPager"
|
|
],
|
|
"steps": [
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"First element logged, example logViewShown(cardId = ..., id = content_item_show:0) logViewShown(cardId = ..., id = goose_shown)"
|
|
],
|
|
"file": "action_visibility/pager.json"
|
|
},
|
|
{
|
|
"title": "Send select Pager using Div2View.tryLogVisibility",
|
|
"tags": [
|
|
"Visibility_actions",
|
|
"DivPager"
|
|
],
|
|
"steps": [
|
|
"Check first item visibility logged",
|
|
"Swipe to the next item",
|
|
"Check second item visibility logged"
|
|
],
|
|
"expected_results": [
|
|
"First element logged, example Ya:PagerSelectedActionsTracker onPageSelected(0) Ya:PagerSelectedActionsTracker dispatch selected actions for page 0",
|
|
"Second element logged, exapmle logViewShown(cardId = ..., currentPageIndex = 1) Logcat Ya:PagerSelectedActionsTracker onPageSelected(1) DemoDiv2Logger logPagerChangePage(cardId = card, currentPageIndex = 1), scrollDirection = next) Ya:PagerSelectedActionsTracker dispatch selected actions for page 1"
|
|
],
|
|
"file": "action_visibility/pager_selected_actions.json"
|
|
},
|
|
{
|
|
"title": "Grouped bulkActions logged in 'dispatchActions:'",
|
|
"tags": [
|
|
"Visibility_actions"
|
|
],
|
|
"steps": [
|
|
"Swipe to change tab",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Tabs changes on swipe",
|
|
"Logged item's visibility, exaple logViewShown(cardId = ..., id = content_item_show) logViewShown(cardId = ..., id = container)"
|
|
],
|
|
"file": "action_visibility/swipe_div_pager.json"
|
|
},
|
|
{
|
|
"title": "Visibility_actions for default_item",
|
|
"tags": [
|
|
"Visibility_actions"
|
|
],
|
|
"steps": [
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Card is opened",
|
|
"Card visibility logged, example logViewShown(cardId = ..., id = comments_counter_show:4)"
|
|
],
|
|
"file": "action_visibility/default_item.json"
|
|
},
|
|
{
|
|
"title": "Nested visibility actions",
|
|
"tags": [
|
|
"Visibility_actions"
|
|
],
|
|
"steps": [
|
|
"Click EXPAND",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Elements are expanded",
|
|
"Visibility actions logged, example logViewShown(cardId = ..., id = separator) logViewShown(cardId = ..., id = text) logViewShown(cardId = ..., id = text2) logViewShown(cardId = ..., id = comment_state) logViewShown(cardId = ..., id = comment_01) logViewShown(cardId = ..., id = comment_02) logViewShown(cardId = ..., id = comment_03) logViewShown(cardId = ..., id = comment_04)"
|
|
],
|
|
"file": "action_visibility/article.json"
|
|
},
|
|
{
|
|
"title": "Variables in tabs",
|
|
"tags": [
|
|
"DivTabs"
|
|
],
|
|
"steps": [
|
|
"Check different combinations of tabs properties"
|
|
],
|
|
"expected_results": [
|
|
"'dynamic_height=DYNAMIC' - each tab has height equals content height",
|
|
"'dynamic_height=MAX_HEIGHT(for non-first-page)' - from the second tab each tab has height equals max tabs content height",
|
|
"'tab.line_height=10' - line spacing of tabs text equals 10",
|
|
"'tab.line_height=30' - line spacing of tabs text equals 30",
|
|
"'tab.theme=GREEN' - tabs become green",
|
|
"'tab.theme=RED' - tabs become red",
|
|
"'selected_tab=0' - set first tab",
|
|
"'selected_tab=1' - set second tab",
|
|
"'selected_tab=6' - set 'Page index 6' tab",
|
|
"'has_separator=0' - turn off horizontal delimiter",
|
|
"'has_separator=1' - turn on horizontal delimiter",
|
|
"'separator.color=RED' - set red delimiter color",
|
|
"'separator.color=BLUE' - set blue delimiter color",
|
|
"'separator_paddings.top=0' - padding of horizontal delimiter: top - 0",
|
|
"'separator_paddings.top=50' - padding of horizontal delimiter: top - 50",
|
|
"'separator_paddings.bottom=0' - padding of horizontal delimiter: bottom - 0",
|
|
"'separator_paddings.bottom=50' - padding of horizontal delimiter: bottom - 50",
|
|
"'separator_paddings.left=0' - padding of horizontal delimiter: left - 0",
|
|
"'separator_paddings.left=50' - padding of horizontal delimiter: left - 50",
|
|
"'separator_paddings.right=0' - padding of horizontal delimiter: right - 0",
|
|
"'separator_paddings.right=50' - padding of horizontal delimiter: right - 50",
|
|
"'title_paddings.top=0' - padding of tabs container: top - 0",
|
|
"'title_paddings.top=50' - padding of tabs container: top - 50",
|
|
"'title_paddings.bottom=0' - padding of tabs container: bottom - 0",
|
|
"'title_paddings.bottom=50' - padding of tabs container: bottom - 50",
|
|
"'title_paddings.left=0' - padding of tabs container: left - 0",
|
|
"'title_paddings.left=50' - padding of tabs container: left - 50",
|
|
"'title_paddings.right=0' - padding of tabs container: right - 0",
|
|
"'title_paddings.right=50' - padding of tabs container: right - 50"
|
|
],
|
|
"file": "variables/div_tabs.json"
|
|
},
|
|
{
|
|
"title": "Visibility in div-base",
|
|
"steps": [
|
|
"Check different combinations of visibility properties"
|
|
],
|
|
"expected_results": [
|
|
"On click on test button text field set correct visibility.",
|
|
"Showing text field is logged."
|
|
],
|
|
"file": "action_visibility/set_visibility.json"
|
|
},
|
|
{
|
|
"title": "Showing animation on image loaded",
|
|
"tags": [
|
|
"Animations"
|
|
],
|
|
"expected_results": [
|
|
"Image appeares with described animation"
|
|
],
|
|
"file": "action_animation/image_loading_animation.json"
|
|
},
|
|
{
|
|
"title": "Variables in DivIndicator",
|
|
"steps": [
|
|
"Click on buttons, check the indicator appearance and animation",
|
|
"Click on last button to reset",
|
|
"Scroll pager to the center, click on buttons, check the indicator",
|
|
"Click on last button to reset",
|
|
"Scroll pager to the end, click on buttons, check the indicator"
|
|
],
|
|
"expected_results": [
|
|
"Indicator appearence changes and it changes according to the clicked buttin description"
|
|
],
|
|
"file": "variables/div_indicator.json"
|
|
},
|
|
{
|
|
"title": "Variables triggers",
|
|
"tags": [
|
|
"Triggers"
|
|
],
|
|
"steps": [
|
|
"When only left button clicked, text changes to 'left switched'",
|
|
"When only right button clicked, text changes to 'right switched'",
|
|
"When both button clicked, text changes to 'both switched'",
|
|
"When both buttons is inactive text state changes to initial"
|
|
],
|
|
"expected_results": [
|
|
"Text changes according to the button description"
|
|
],
|
|
"file": "variables/div_variable_triggers.json"
|
|
},
|
|
{
|
|
"title": "Variable triggers (modes)",
|
|
"tags": [
|
|
"Triggers"
|
|
],
|
|
"steps": [
|
|
"'Thumb value' show current thumb position",
|
|
"'First selected positive position' show first selected positive thumb value",
|
|
"'Last selected positive position' show last selected positive value or move with thumb, if value > 0"
|
|
],
|
|
"expected_results": [
|
|
"The layout corresponds to switching buttons"
|
|
],
|
|
"file": "variables/div_variable_trigger_modes.json"
|
|
},
|
|
{
|
|
"title": "Variable triggers (closures)",
|
|
"tags": [
|
|
"DivInput",
|
|
"DivSlider",
|
|
"Triggers",
|
|
"Functions"
|
|
],
|
|
"expected_results": [
|
|
"Slider and input values should be synchronized",
|
|
"When entering an incorrect value in text input - error shows"
|
|
],
|
|
"file": "variables/div_variable_trigger_loops.json"
|
|
},
|
|
{
|
|
"title": "Sequential animations",
|
|
"steps": [
|
|
"Click on image"
|
|
],
|
|
"expected_results": [
|
|
"Heart will increase by 2 times in 2 seconds, then will increase by 4 times in 2 seconds"
|
|
],
|
|
"file": "animations/transition/transition_set.json"
|
|
},
|
|
{
|
|
"title": "Animations of switching tabs headers",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"DivTabs",
|
|
"Animations"
|
|
],
|
|
"steps": [
|
|
"Switch items on each tab by clicking on the tab headers",
|
|
"Slowly swipe each tab"
|
|
],
|
|
"expected_results": [
|
|
"Look at the headers animation",
|
|
"1 tab has slide animation",
|
|
"2 tab has fade animation",
|
|
"3 tab has no animation"
|
|
],
|
|
"file": "animations/tab_titles_animations.json"
|
|
},
|
|
{
|
|
"title": "Text copying",
|
|
"tags": [
|
|
"DivText"
|
|
],
|
|
"steps": [
|
|
"Double tap or long click on first text",
|
|
"Double tap or long click on second text"
|
|
],
|
|
"expected_results": [
|
|
"First text has a system highlighting, you can copy it. Second text has no highlighting."
|
|
],
|
|
"file": "selectable_text.json"
|
|
},
|
|
{
|
|
"title": "DivText",
|
|
"tags": [
|
|
"DivText"
|
|
],
|
|
"file": "div-text.json"
|
|
},
|
|
{
|
|
"title": "Nested change bounds transitions",
|
|
"steps": [
|
|
"Click 'PRESS HERE'",
|
|
"Click 'PRESS AGAIN'"
|
|
],
|
|
"expected_results": [
|
|
"After first click image appers with animation, the container extendes with animation.",
|
|
"After second click extendes buton, text changes, container extendes again."
|
|
],
|
|
"file": "action_animation/nested_change_bounds.json"
|
|
},
|
|
{
|
|
"title": "Text input",
|
|
"tags": [
|
|
"DivInput"
|
|
],
|
|
"steps": [
|
|
"Tap on input field",
|
|
"Change text"
|
|
],
|
|
"expected_results": [
|
|
"Text under the input should be equal to text in input and change on input changes."
|
|
],
|
|
"file": "input.json"
|
|
},
|
|
{
|
|
"title": "Text input (single line)",
|
|
"tags": [
|
|
"DivInput"
|
|
],
|
|
"steps": [
|
|
"Tap on input field",
|
|
"Change text"
|
|
],
|
|
"expected_results": [
|
|
"Text under the input should be equal to text in input and change on input changes.",
|
|
"Max lines = 1. Line break is unavailable."
|
|
],
|
|
"file": "single_line_input.json"
|
|
},
|
|
{
|
|
"title": "Manage VideoCustom",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"tags": [
|
|
"VideoCustom"
|
|
],
|
|
"steps": [
|
|
"Tap on 'play', 'pause', 'reset'"
|
|
],
|
|
"expected_results": [
|
|
"On tap on 'play' video continue",
|
|
"On tap on 'pause' video pause",
|
|
"On tap on 'reset' video starts from the beginning",
|
|
"If video was paused using button 'pause', on tap on 'reset' rewind to the beginning, but still paused",
|
|
"If video wasn't paused, on tap on 'reset' the video starts playing from beginnging"
|
|
],
|
|
"file": "video/video_controls.json"
|
|
},
|
|
{
|
|
"title": "State transition trigger",
|
|
"steps": [
|
|
"Press 'To liked'"
|
|
],
|
|
"expected_results": [
|
|
"First - there should be animation, there are only old triggers",
|
|
"Second - there should be no animation, the old 'state_change' is rubbed with an empty list of new ones",
|
|
"Third - there should be animation, old and new are allowed by default"
|
|
],
|
|
"file": "animations/transition/transition_triggers_state_change.json"
|
|
},
|
|
{
|
|
"title": "Data transition trigger",
|
|
"platforms": [
|
|
"android"
|
|
],
|
|
"steps": [
|
|
"Press 'Change data'"
|
|
],
|
|
"expected_results": [
|
|
"First - there should be animation, there are only old triggers",
|
|
"Second - there should be no animation, the old 'state_change' is rubbed with an empty list of new ones",
|
|
"Third - there should be an animation, the old 'none' is rubbed by the new 'state_change'"
|
|
],
|
|
"file": "animations/transition/transition_triggers_data_change_src.json"
|
|
},
|
|
{
|
|
"title": "Actions logging",
|
|
"steps": [
|
|
"Click on Test button",
|
|
"Double click Test button",
|
|
"Long click on Test button",
|
|
"Check logs"
|
|
],
|
|
"expected_results": [
|
|
"Click logged 2 times",
|
|
"Double click logged 2 times",
|
|
"Long click logged 2 times"
|
|
],
|
|
"file": "logging.json"
|
|
},
|
|
{
|
|
"title": "Shortcuts",
|
|
"file": "shortcuts.json"
|
|
},
|
|
{
|
|
"title": "Auto ellipsize",
|
|
"file": "auto-ellipsize.json"
|
|
},
|
|
{
|
|
"title": "Expand cutout 1",
|
|
"file": "expand-cutout-1.json"
|
|
},
|
|
{
|
|
"title": "Expand cutout 2",
|
|
"file": "expand-cutout-2.json"
|
|
},
|
|
{
|
|
"title": "Lottie animations",
|
|
"file": "lottie_animations.json"
|
|
},
|
|
{
|
|
"title": "Lottie cycled animations",
|
|
"expected_results": [
|
|
"Red circle appears with animation, then blink"
|
|
],
|
|
"file": "lottie_cycled_animations.json"
|
|
},
|
|
{
|
|
"title": "States default state",
|
|
"file": "states_default_state.json"
|
|
},
|
|
{
|
|
"title": "Tabs item actions",
|
|
"file": "tabs-item-actions.json"
|
|
},
|
|
{
|
|
"title": "Grid layout",
|
|
"file": "grid_layout.json"
|
|
},
|
|
{
|
|
"title": "Grid with weights",
|
|
"file": "grid-with-weights.json"
|
|
},
|
|
{
|
|
"title": "Custom container",
|
|
"file": "custom-container.json"
|
|
},
|
|
{
|
|
"title": "Custom card",
|
|
"file": "custom-card.json"
|
|
}
|
|
]
|
|
}
|