Guest User

Untitled

a guest
May 26th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.96 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. use Mojo::Base -strict;
  7.  
  8. use utf8;
  9.  
  10. use Test::More tests => 11;
  11.  
  12. use ojo;
  13. use Mojo::Util 'encode';
  14.  
  15. use_ok 'Mojo::DOM';
  16.  
  17. my $dom = Mojo::DOM->new->parse(<<EOF);
  18. <input type="text" id="field1" name="first" value="first val" />
  19. <input type="text" id="field2" name="second" value="second val" />
  20. <input type="text" id="field3" name="third" value="third val" disabled="disabled" />
  21. EOF
  22.  
  23. #Simple selector
  24. is $dom->find('input')->[1]->attrs->{value}, 'second val', 'right value';
  25. is $dom->find('input')->[2]->attrs->{value}, 'third val', 'right value';
  26.  
  27. #Simple selector + attr
  28. is $dom->find('input[id^="field"]')->[2]->attrs->{value}, 'third val', 'right value';
  29. is $dom->find('input[id^="field"]')->size, 3, 'right number of elements';
  30. is $dom->find('input[disabled="disabled"]')->[0]->attrs->{value}, 'third val', 'right value';
  31.  
  32. #Simple selector + :not pseudo class
  33. is $dom->find('input:not([disabled])')->[0]->attrs->{value}, 'first val', 'right value';
  34. is $dom->find('input:not([disabled])')->[1]->attrs->{value}, 'second val', 'right value';
  35. is $dom->find('input:not([disabled])')->[2], undef, 'no result';
  36.  
  37. #Simple selector + attr + :not pseudo class
  38. #not passed(
  39. is $dom->find('input[id^="field"]:not([disabled])')->size, 2, 'right number of elements';
  40. is $dom->find('input[id="field2"]:not([disabled])')->size, 1, 'right number of elements';
  41.  
  42. =head1 RESULTS
  43. 1..11
  44. ok 1 - use Mojo::DOM;
  45. ok 2 - right value
  46. ok 3 - right value
  47. ok 4 - right value
  48. ok 5 - right number of elements
  49. ok 6 - right value
  50. ok 7 - right value
  51. ok 8 - right value
  52. ok 9 - no result
  53. not ok 10 - right number of elements
  54. #   Failed test 'right number of elements'
  55. #   at ./mojo-dom-css.pl line 39.
  56. #          got: '0'
  57. #     expected: '2'
  58. not ok 11 - right number of elements
  59. #   Failed test 'right number of elements'
  60. #   at ./mojo-dom-css.pl line 40.
  61. #          got: '0'
  62. #     expected: '1'
  63. # Looks like you failed 2 tests of 11.
Add Comment
Please, Sign In to add comment