#!/usr/bin/perl use warnings; use strict; use lib ('lib'); use Test::More tests => 8; use Petal; sub nowarnings { $Petal::MEMORY_CACHE && $Petal::DISK_CACHE }; $Petal::BASE_DIR = './t/data/include'; $Petal::DISK_CACHE = 0; $Petal::MEMORY_CACHE = 0; my $petal = new Petal ('index.xml'); unlike(${$petal->_canonicalize()}, '/World""/', "canonicalise"); like($petal->process, '/__INCLUDED__/', "find marker"); unlike($petal->process, '/__INCLUDED__\s+<\/body>/', "find marker and tag"); like($petal->process, '/Hello, "World"/', "find hello"); { $Petal::OUTPUT = "XML"; $petal = new Petal ('index_xinclude.xml'); like($petal->process, '/__INCLUDED__/', "MTB - XML find included"); $Petal::OUTPUT = "XHTML"; $petal = new Petal ('index_xinclude.xml'); like($petal->process, '/__INCLUDED__/', "MTB - XHTML find included"); } $Petal::BASE_DIR = './t/data/include/deep'; eval { $Petal::OUTPUT = "XML"; $petal = new Petal ('index.xml'); $petal->process; }; like($@, '/Cannot go above base directory/', "correct error"); $Petal::BASE_DIR = './t/data/include'; { $Petal::OUTPUT = "XML"; $petal = new Petal ('deep/index.xml'); like($petal->process, '/__INCLUDED__/', "deep find included"); } 1; __END__