/XML-TreePP/t/49_invalid_encoding.t

http://xml-treepp.googlecode.com/ · Raku · 61 lines · 56 code · 0 blank · 5 comment · 1 complexity · 20834fd5cb397fd34e661a7ff8609096 MD5 · raw file

  1. # ----------------------------------------------------------------
  2. use strict;
  3. use Test::More;
  4. # ----------------------------------------------------------------
  5. {
  6. local $@;
  7. eval { require 5.008001; };
  8. plan skip_all => 'Perl 5.8.1 is required.' if $@;
  9. }
  10. # ----------------------------------------------------------------
  11. my $ENC = 'UNKNOWN_ENCODING';
  12. # ----------------------------------------------------------------
  13. {
  14. plan tests => 4;
  15. use_ok('XML::TreePP');
  16. &test1();
  17. &test2();
  18. &test3();
  19. }
  20. # ----------------------------------------------------------------
  21. sub test1 {
  22. my $xml = <<"EOT";
  23. <?xml version="1.0" encoding="$ENC"?>
  24. <root>
  25. <elem>value</elem>
  26. </root>
  27. EOT
  28. my $tpp = XML::TreePP->new();
  29. local $@;
  30. eval {
  31. my $tree = $tpp->parse( $xml );
  32. };
  33. like( $@, qr#^Unknown encoding#, 'parse: '.$@ );
  34. }
  35. # ----------------------------------------------------------------
  36. sub test2 {
  37. my $tree = { root => { elem => 'value' }};
  38. my $tpp = XML::TreePP->new();
  39. local $@;
  40. eval {
  41. my $xml = $tpp->write( $tree, $ENC );
  42. };
  43. like( $@, qr#^Unknown encoding#, 'write: '.$@ );
  44. }
  45. # ----------------------------------------------------------------
  46. sub test3 {
  47. my $tree = { root => { elem => 'value' }};
  48. my $tpp = XML::TreePP->new( output_encoding => $ENC );
  49. local $@;
  50. eval {
  51. my $xml = $tpp->write( $tree );
  52. };
  53. like( $@, qr#^Unknown encoding#, 'output_encoding: '.$@ );
  54. }
  55. # ----------------------------------------------------------------
  56. ;1;
  57. # ----------------------------------------------------------------