Test-Selenium-Remote-Driver.t 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #!/usr/bin/env perl
  2. use Test::Tester;
  3. use Test::More;
  4. use Test::MockObject;
  5. use Test::MockObject::Extends;
  6. use Test::Selenium::Remote::Driver;
  7. use Selenium::Remote::WebElement;
  8. use Carp;
  9. my $successful_driver = Test::Selenium::Remote::Driver->new( testing => 1 );
  10. $successful_driver = Test::MockObject::Extends->new($successful_driver);
  11. my $element = Test::Selenium::Remote::WebElement->new(
  12. id => '1342835311100',
  13. parent => $successful_driver,
  14. );
  15. # find_element_ok
  16. {
  17. $successful_driver->mock( 'find_element', sub {$element} );
  18. check_tests(
  19. sub {
  20. my $rc = $successful_driver->find_element_ok( 'q',
  21. 'find_element_ok works' );
  22. is( $rc, 1, 'returns true' );
  23. },
  24. [ { ok => 1,
  25. name => "find_element_ok works",
  26. diag => "",
  27. },
  28. { ok => 1,
  29. name => "returns true",
  30. diag => "",
  31. },
  32. ]
  33. );
  34. $successful_driver->mock( 'find_element', sub {0} );
  35. check_tests(
  36. sub {
  37. my $rc = $successful_driver->find_element_ok( 'q',
  38. 'find_element_ok works, falsey test' );
  39. is( $rc, 0, 'returns false' );
  40. },
  41. [ { ok => 0,
  42. name => "find_element_ok works, falsey test",
  43. diag => "",
  44. },
  45. { ok => 1,
  46. name => "returns false",
  47. diag => "",
  48. },
  49. ]
  50. );
  51. }
  52. # find_no_element_ok
  53. {
  54. $successful_driver->mock( 'find_element', sub { die $_[1] } );
  55. check_tests(
  56. sub {
  57. my $rc = $successful_driver->find_no_element_ok( 'BOOM',
  58. 'find_no_element_ok works, expecting to find nothing.' );
  59. is( $rc, 1, 'returns true' );
  60. },
  61. [ { ok => 1,
  62. name => "find_no_element_ok works, expecting to find nothing.",
  63. diag => "",
  64. },
  65. { ok => 1,
  66. name => "returns true",
  67. diag => "",
  68. },
  69. ]
  70. );
  71. $successful_driver->mock( 'find_element', sub {$element} );
  72. check_tests(
  73. sub {
  74. my $rc =
  75. $successful_driver->find_no_element_ok( 'q',
  76. 'find_no_element_ok works, expecting a false value if a element exists'
  77. );
  78. is( $rc, 0, 'returns false' );
  79. },
  80. [ { ok => 0,
  81. name =>
  82. "find_no_element_ok works, expecting a false value if a element exists",
  83. diag => "",
  84. },
  85. { ok => 1,
  86. name => "returns false",
  87. diag => "",
  88. },
  89. ]
  90. );
  91. }
  92. done_testing();