From b1a241c1e277f219dab724759eb2996877c862b5 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 27 Jun 2009 12:55:33 +0200 Subject: test for global state --- t/07-inherit.t | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 t/07-inherit.t diff --git a/t/07-inherit.t b/t/07-inherit.t new file mode 100644 index 0000000..2974e6f --- /dev/null +++ b/t/07-inherit.t @@ -0,0 +1,67 @@ +#!perl +package Base;{ +use strict; +use warnings; +use Tree::Template::Declare builder => '+DAG_Node'; + +sub doc { + my ($self)=@_; + tree { + node { + name 'doc'; + $self->head(); + $self->body(); + } + } +} + +sub head { + node { name 'title' }; +} + +sub body { + node { + name 'content'; + $_[0]->content(); + } +} + +sub content { + node { name 'stuff' } +} + +} + +package Derived;{ +use strict; +use warnings; +use Tree::Template::Declare builder => '+DAG_Node'; +use base 'Base'; + +sub head { + node { name 'whatever' }; + $_[0]->SUPER::head(); +} + +sub content { + node { name 'something' } +} + +} + +package main; +use Test::Most tests=>2,'die'; +use strict; +use warnings; + +my $base_tree=Base->doc(); + +is_deeply($base_tree->tree_to_lol(), + [['title'],[['stuff'],'content'],'doc'], + 'base tree'); + +my $deriv_tree=Derived->doc(); + +is_deeply($deriv_tree->tree_to_lol(), + [['whatever'],['title'],[['something'],'content'],'doc'], + 'derived tree'); -- cgit v1.2.3