nested-props.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. casper.test.begin('Nested Properties', 20, function (test) {
  2. casper
  3. .start('./fixtures/nested-props.html')
  4. .then(function () {
  5. test.assertSelectorHasText('h1 span', '')
  6. test.assertSelectorHasText('h2 span', '555')
  7. test.assertSelectorHasText('h3 span', 'Yoyoyo555')
  8. })
  9. .thenClick('.one', function () {
  10. test.assertSelectorHasText('h1 span', 'one')
  11. test.assertSelectorHasText('h2 span', '1')
  12. test.assertSelectorHasText('h3 span', 'Yoyoyoone1')
  13. })
  14. .thenClick('.two', function () {
  15. test.assertSelectorHasText('h1 span', 'two')
  16. test.assertSelectorHasText('h2 span', '2')
  17. test.assertSelectorHasText('h3 span', 'Yoyoyotwo2')
  18. })
  19. .thenClick('.three', function () {
  20. test.assertSelectorHasText('h1 span', 'three')
  21. test.assertSelectorHasText('h2 span', '3')
  22. test.assertSelectorHasText('h3 span', 'Yoyoyothree3')
  23. })
  24. .then(function () {
  25. this.fill('#form', {
  26. msg: 'Oh yeah '
  27. })
  28. })
  29. .then(function () {
  30. test.assertSelectorHasText('h3 span', 'Oh yeah three3')
  31. })
  32. // hidden data variables
  33. // i.e. nested under an object, not explicitly
  34. // bound in the template, but is depended upon
  35. // by an expression or a computed property
  36. .then(function () {
  37. test.assertSelectorHasText('.hidden', '3')
  38. })
  39. .thenClick('.four', function () {
  40. test.assertSelectorHasText('.hidden', '4')
  41. })
  42. // set a nested object to {}
  43. .thenClick('.empty1', function () {
  44. test.assertSelectorHasText('h1 span', '')
  45. test.assertSelectorHasText('h3 span', 'Oh yeah 3')
  46. })
  47. .thenClick('.empty2', function () {
  48. test.assertSelectorHasText('h1 span', '')
  49. test.assertSelectorHasText('h2 span', '')
  50. test.assertSelectorHasText('h3 span', 'Oh yeah ')
  51. })
  52. .run(function () {
  53. test.done()
  54. })
  55. })