File: 43options.t

package info (click to toggle)
libxml-libxml-perl 1.70.ds-1%2Bdeb6u1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze-lts
  • size: 1,992 kB
  • ctags: 1,726
  • sloc: perl: 4,521; ansic: 3,583; xml: 177; sh: 62; makefile: 7
file content (130 lines) | stat: -rw-r--r-- 2,613 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# -*- cperl -*-

use Test;
use strict;
use warnings;
BEGIN { plan tests => 289}

use XML::LibXML;

my @all = qw(
  recover
  expand_entities
  load_ext_dtd
  complete_attributes
  validation
  suppress_errors
  suppress_warnings
  pedantic_parser
  no_blanks
  expand_xinclude
  xinclude
  no_network
  clean_namespaces
  no_cdata
  no_xinclude_nodes
  old10
  no_base_fix
  huge
  oldsax
  line_numbers
  URI
  base_uri
  gdome
);
my %old = map { $_=> 1 } qw(
recover
pedantic_parser
line_numbers
load_ext_dtd
complete_attributes
expand_xinclude
gdome_dom
clean_namespaces
no_network
);


{
  my $p = XML::LibXML->new();
  for (@all) {
    my $ret = /^(?:load_ext_dtd|expand_entities|huge)$/ ? 1 : 0;
    ok(($p->get_option($_)||0) == $ret);
  }
  ok(! $p->option_exists('foo'));

  ok( $p->keep_blanks() == 1 );
  ok( $p->set_option(no_blanks => 1) == 1);
  ok( ! $p->keep_blanks() );
  ok( $p->keep_blanks(1) == 1 );
  ok( ! $p->get_option('no_blanks') );

  my $uri = 'http://foo/bar';

  ok( $p->set_option(URI => $uri) eq $uri);
  ok ($p->base_uri() eq $uri);
  ok ($p->base_uri($uri.'2') eq $uri.'2');
  ok( $p->get_option('URI') eq $uri.'2');
  ok( $p->get_option('base_uri') eq $uri.'2');
  ok( $p->set_option(base_uri => $uri) eq $uri);
  ok( $p->set_option(URI => $uri) eq $uri);
  ok ($p->base_uri() eq $uri);

  ok( ! $p->recover_silently() );
  $p->set_option(recover => 1);

  ok( $p->recover_silently() == 0 );
  $p->set_option(recover => 2);
  ok( $p->recover_silently() == 1 );
  ok( $p->recover_silently(0) == 0 );
  ok( $p->get_option('recover') == 0 );
  ok( $p->recover_silently(1) == 1 );
  ok( $p->get_option('recover') == 2 );

  ok( $p->expand_entities() == 1 );
  ok( $p->load_ext_dtd() == 1 );
  $p->load_ext_dtd(0);
  ok( $p->load_ext_dtd() == 0 );
  $p->expand_entities(0);
  ok( $p->expand_entities() == 0 );
  $p->expand_entities(1);
  ok( $p->expand_entities() == 1 );
}

{
  my $p = XML::LibXML->new(map { $_=>1 } @all);
  for (@all) {
    ok($p->get_option($_)==1);
    ok($p->$_()==1) if $old{$_};
  }
  for (@all) {
    ok($p->option_exists($_));
    ok($p->set_option($_,0)==0);
    ok($p->get_option($_)==0);
    ok($p->set_option($_,1)==1);
    ok($p->get_option($_)==1);
    if ($old{$_}) {
      ok($p->$_()==1);
      ok($p->$_(0)==0);
      ok($p->$_()==0);
      ok($p->$_(1)==1);
    }

  }
}

{
  my $p = XML::LibXML->new(map { $_=>0 } @all);
  for (@all) {
    ok($p->get_option($_)==0);
    ok($p->$_()==0) if $old{$_};
  }
}

{
  my $p = XML::LibXML->new({map { $_=>1 } @all});
  for (@all) {
    ok($p->get_option($_)==1);
    ok($p->$_()==1) if $old{$_};
  }
}