|
Lines 24-39
use File::Slurp;
Link Here
|
| 24 |
use Test::More tests => 35; |
24 |
use Test::More tests => 35; |
| 25 |
use Test::Warn; |
25 |
use Test::Warn; |
| 26 |
|
26 |
|
| 27 |
use Koha::XSLT_Handler; |
27 |
use Koha::XSLT::Base; |
| 28 |
|
28 |
|
| 29 |
my $engine=Koha::XSLT_Handler->new; |
29 |
my $engine=Koha::XSLT::Base->new; |
| 30 |
is( ref $engine, 'Koha::XSLT_Handler', 'Testing creation of handler object' ); |
30 |
is( ref $engine, 'Koha::XSLT::Base', 'Testing creation of handler object' ); |
| 31 |
|
31 |
|
| 32 |
$engine->transform(''); |
32 |
$engine->transform(''); |
| 33 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_1, 'Engine returns error on no file' ); |
33 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_1, 'Engine returns error on no file' ); |
| 34 |
|
34 |
|
| 35 |
$engine->transform( '', 'thisfileshouldnotexist.%$#@' ); |
35 |
$engine->transform( '', 'thisfileshouldnotexist.%$#@' ); |
| 36 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_2, 'Engine returns error on bad file' ); |
36 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_2, 'Engine returns error on bad file' ); |
| 37 |
is( $engine->refresh( 'asdjhaskjh'), 0, 'Test on invalid refresh' ); |
37 |
is( $engine->refresh( 'asdjhaskjh'), 0, 'Test on invalid refresh' ); |
| 38 |
|
38 |
|
| 39 |
#check first test xsl |
39 |
#check first test xsl |
|
Lines 48-75
my $output;
Link Here
|
| 48 |
|
48 |
|
| 49 |
# Undefined text tests |
49 |
# Undefined text tests |
| 50 |
$output = $engine->transform( undef, $xsltfile_1 ); |
50 |
$output = $engine->transform( undef, $xsltfile_1 ); |
| 51 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_7, 'Engine returns error on undefined text' ); |
51 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_7, 'Engine returns error on undefined text' ); |
| 52 |
|
52 |
|
| 53 |
# Empty string tests |
53 |
# Empty string tests |
| 54 |
$output = $engine->transform( '', $xsltfile_1 ); |
54 |
$output = $engine->transform( '', $xsltfile_1 ); |
| 55 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_5, 'Engine returns error on empty string' ); |
55 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_5, 'Engine returns error on empty string' ); |
| 56 |
|
56 |
|
| 57 |
# Non-XML tests |
57 |
# Non-XML tests |
| 58 |
$engine->print_warns(1); |
58 |
$engine->print_warns(1); |
| 59 |
warning_like { $output = $engine->transform( 'abcdef', $xsltfile_1 ) } |
59 |
warning_like { $output = $engine->transform( 'abcdef', $xsltfile_1 ) } |
| 60 |
qr{parser error : Start tag expected, '<' not found}, |
60 |
qr{parser error : Start tag expected, '<' not found}, |
| 61 |
"Non-XML warning correctly displayed"; |
61 |
"Non-XML warning correctly displayed"; |
| 62 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_5, 'Engine returns error on non-xml' ); |
62 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_5, 'Engine returns error on non-xml' ); |
| 63 |
|
63 |
|
| 64 |
# Malformed XML tests |
64 |
# Malformed XML tests |
| 65 |
warning_like { $output = $engine->transform( '<a></b>', $xsltfile_1 ) } |
65 |
warning_like { $output = $engine->transform( '<a></b>', $xsltfile_1 ) } |
| 66 |
qr{parser error : Opening and ending tag mismatch: a line 1 and b}, |
66 |
qr{parser error : Opening and ending tag mismatch: a line 1 and b}, |
| 67 |
"Malformed XML warning correctly displayed"; |
67 |
"Malformed XML warning correctly displayed"; |
| 68 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_5, 'Engine returns error on malformed xml' ); |
68 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_5, 'Engine returns error on malformed xml' ); |
| 69 |
|
69 |
|
| 70 |
#Test not returning source on failure when asked for |
70 |
#Test not returning source on failure when asked for |
| 71 |
#Include passing do_not_return via constructor on second engine |
71 |
#Include passing do_not_return via constructor on second engine |
| 72 |
my $secondengine=Koha::XSLT_Handler->new( { |
72 |
my $secondengine=Koha::XSLT::Base->new( { |
| 73 |
do_not_return_source => 'very_true', |
73 |
do_not_return_source => 'very_true', |
| 74 |
some_unknown_attrib => 'just_for_fun', |
74 |
some_unknown_attrib => 'just_for_fun', |
| 75 |
}); |
75 |
}); |
|
Lines 142-148
$xsltfile_2= $path.$xsltfile_2;
Link Here
|
| 142 |
|
142 |
|
| 143 |
$engine->print_warns(0); |
143 |
$engine->print_warns(0); |
| 144 |
$output = $engine->transform( $xml_2, $xsltfile_2 ); |
144 |
$output = $engine->transform( $xml_2, $xsltfile_2 ); |
| 145 |
is( $engine->err, Koha::XSLT_Handler::XSLTH_ERR_4, 'Engine returned error for parsing bad xsl' ); |
145 |
is( $engine->err, Koha::XSLT::Base::XSLTH_ERR_4, 'Engine returned error for parsing bad xsl' ); |
| 146 |
|
146 |
|
| 147 |
#The third test xsl is okay again; main use is clearing two items from cache |
147 |
#The third test xsl is okay again; main use is clearing two items from cache |
| 148 |
my $xsltfile_3 = 'test03.xsl'; |
148 |
my $xsltfile_3 = 'test03.xsl'; |
| 149 |
- |
|
|