repeated-items.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. casper.test.begin('Repeated Items', 41, function (test) {
  2. casper
  3. .start('./fixtures/repeated-items.html', function () {
  4. // initial values
  5. test.assertSelectorHasText('.count', '3')
  6. test.assertSelectorHasText('.item:nth-child(1)', '0 A')
  7. test.assertSelectorHasText('.item:nth-child(2)', '1 B')
  8. test.assertSelectorHasText('.item:nth-child(3)', '2 C')
  9. this.click('.push')
  10. test.assertSelectorHasText('.count', '4')
  11. test.assertSelectorHasText('.item:nth-child(4)', '3 0')
  12. this.click('.shift')
  13. test.assertSelectorHasText('.count', '3')
  14. test.assertSelectorHasText('.item:nth-child(1)', '0 B')
  15. test.assertSelectorHasText('.item:nth-child(2)', '1 C')
  16. test.assertSelectorHasText('.item:nth-child(3)', '2 0')
  17. this.click('.pop')
  18. test.assertSelectorHasText('.count', '2')
  19. test.assertSelectorHasText('.item:nth-child(1)', '0 B')
  20. test.assertSelectorHasText('.item:nth-child(2)', '1 C')
  21. this.click('.unshift')
  22. test.assertSelectorHasText('.count', '3')
  23. test.assertSelectorHasText('.item:nth-child(1)', '0 1')
  24. test.assertSelectorHasText('.item:nth-child(2)', '1 B')
  25. test.assertSelectorHasText('.item:nth-child(3)', '2 C')
  26. this.click('.splice')
  27. test.assertSelectorHasText('.count', '4')
  28. test.assertSelectorHasText('.item:nth-child(1)', '0 1')
  29. test.assertSelectorHasText('.item:nth-child(2)', '1 2')
  30. test.assertSelectorHasText('.item:nth-child(3)', '2 3')
  31. test.assertSelectorHasText('.item:nth-child(4)', '3 C')
  32. this.click('.remove')
  33. test.assertSelectorHasText('.count', '3')
  34. test.assertSelectorHasText('.item:nth-child(1)', '0 1')
  35. test.assertSelectorHasText('.item:nth-child(2)', '1 2')
  36. test.assertSelectorHasText('.item:nth-child(3)', '2 3')
  37. this.click('.replace')
  38. test.assertSelectorHasText('.count', '3')
  39. test.assertSelectorHasText('.item:nth-child(1)', '0 1')
  40. test.assertSelectorHasText('.item:nth-child(2)', '1 2')
  41. test.assertSelectorHasText('.item:nth-child(3)', '2 4')
  42. this.click('.reverse')
  43. test.assertSelectorHasText('.count', '3')
  44. test.assertSelectorHasText('.item:nth-child(1)', '0 4')
  45. test.assertSelectorHasText('.item:nth-child(2)', '1 2')
  46. test.assertSelectorHasText('.item:nth-child(3)', '2 1')
  47. this.click('.sort')
  48. test.assertSelectorHasText('.count', '3')
  49. test.assertSelectorHasText('.item:nth-child(1)', '0 1')
  50. test.assertSelectorHasText('.item:nth-child(2)', '1 2')
  51. test.assertSelectorHasText('.item:nth-child(3)', '2 4')
  52. // make sure things work on empty array
  53. this.click('.pop')
  54. this.click('.pop')
  55. this.click('.pop')
  56. this.click('.pop')
  57. this.click('.shift')
  58. this.click('.remove')
  59. this.click('.replace')
  60. this.click('.sort')
  61. this.click('.reverse')
  62. this.click('.splice')
  63. test.assertSelectorHasText('.count', '2')
  64. test.assertSelectorHasText('.item:nth-child(1)', '0 6')
  65. test.assertSelectorHasText('.item:nth-child(2)', '1 7')
  66. })
  67. .run(function () {
  68. test.done()
  69. })
  70. })