transition.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. casper.test.begin('CSS Transition', 20, function (test) {
  2. var minWait = 50,
  3. transDuration = 200
  4. casper
  5. .start('./fixtures/transition.html', function () {
  6. test.assertElementCount('.test', 3)
  7. test.assertVisible('.test.if')
  8. test.assertNotVisible('.test[data-id="1"]')
  9. })
  10. .thenClick('.button-0')
  11. .wait(minWait, function () {
  12. test.assertVisible('.test[data-id="1"]')
  13. })
  14. .thenClick('.button-1')
  15. .wait(minWait, function () {
  16. test.assertElementCount('.test.v-leave', 1)
  17. })
  18. .wait(transDuration, function () {
  19. test.assertElementCount('.test.v-leave', 0)
  20. test.assertNotVisible('.test[data-id="1"]')
  21. })
  22. .thenClick('.button-2')
  23. .wait(minWait, function () {
  24. test.assertElementCount('.test.v-leave', 1)
  25. })
  26. .wait(transDuration, function () {
  27. test.assertElementCount('.test.v-leave', 0)
  28. test.assertNotVisible('.test[data-id="1"]')
  29. test.assertNotVisible('.test[data-id="2"]')
  30. })
  31. .thenClick('.push')
  32. .wait(minWait, function () {
  33. test.assertVisible('.test[data-id="3"]')
  34. })
  35. .thenClick('.pop')
  36. .thenClick('.pop')
  37. .wait(minWait, function () {
  38. test.assertElementCount('.test.v-leave', 2)
  39. })
  40. .wait(transDuration, function () {
  41. test.assertNotVisible('.test.if')
  42. test.assertNotVisible('.test[data-id="1"]')
  43. test.assertNotVisible('.test[data-id="2"]')
  44. })
  45. .thenClick('.splice')
  46. .wait(minWait, function () {
  47. test.assertVisible('.test[data-id="99"]')
  48. })
  49. // test Array swapping with transition
  50. .thenEvaluate(function () {
  51. test.items = [test.items[0], {a:3}]
  52. })
  53. .wait(minWait, function () {
  54. test.assertVisible('.test.if')
  55. test.assertVisible('.test[data-id="99"]')
  56. test.assertVisible('.test[data-id="3"]')
  57. })
  58. .run(function () {
  59. test.done()
  60. })
  61. })