touch-events-case.test.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. const PAGE_PATH = '/pages/component/global-events/touch-events-case'
  2. describe('touch-events-test', () => {
  3. const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  4. const isMP = platformInfo.startsWith('mp')
  5. const isWeb = platformInfo.startsWith('web')
  6. if (isWeb || isMP) {
  7. it('other platform', () => {
  8. expect(1).toBe(1)
  9. })
  10. return
  11. }
  12. if (process.env.UNI_TEST_DEVICES_DIRECTION == 'landscape') {
  13. it('跳过横屏模式', () => {
  14. expect(1).toBe(1)
  15. })
  16. return
  17. }
  18. let page
  19. beforeAll(async () => {
  20. page = await program.reLaunch(PAGE_PATH)
  21. await page.waitFor(500);
  22. })
  23. it('touch-event-case1', async () => {
  24. let x = 40
  25. let y = 150
  26. // 滑动事件
  27. await program.swipe({
  28. startPoint: {x, y},
  29. endPoint: {x: x + 300, y},
  30. duration: 300
  31. })
  32. await page.waitFor(1500);
  33. const swiperChangeEvent = await page.data('swiperChangeEvent')
  34. expect(swiperChangeEvent).toBe(true)
  35. })
  36. it('touch-event-case2', async () => {
  37. const viewTouchEvent = await page.data('viewTouchEvent')
  38. const swiperItemTouchEvent = await page.data('swiperItemTouchEvent')
  39. const swiperTouchEvent = await page.data('swiperTouchEvent')
  40. let ret = viewTouchEvent && swiperItemTouchEvent && swiperTouchEvent
  41. expect(ret).toBe(true)
  42. })
  43. it('test swiper preventDefault stopPropagation', async () => {
  44. await page.waitFor(1500);
  45. await page.callMethod('resetEvent')
  46. let x = 25
  47. let y = 150
  48. // 滑动事件
  49. await program.swipe({
  50. startPoint: {x, y},
  51. endPoint: {x: x+200,y},
  52. duration: 300
  53. })
  54. await page.waitFor(1500);
  55. const swiperChangeEvent = await page.data('swiperChangeEvent')
  56. // harmony 依赖 API 15+
  57. console.log("swiperChangeEvent:", swiperChangeEvent)
  58. expect(swiperChangeEvent).toBe(false)
  59. })
  60. it('touch-event-case4', async () => {
  61. const viewTouchEvent = await page.data('viewTouchEvent')
  62. const swiperItemTouchEvent = await page.data('swiperItemTouchEvent')
  63. const swiperTouchEvent = await page.data('swiperTouchEvent')
  64. let ret = viewTouchEvent && !swiperItemTouchEvent && !swiperTouchEvent
  65. expect(ret).toBe(true)
  66. })
  67. })