# -*- perl -*- use Test::More tests => 2; use strict; use warnings; BEGIN { use_ok('Text::Smart'); }; package MyProc; use base qw(Text::Smart); sub generate_divider { my $self = shift; return "divider\n"; } sub generate_itemize { my $self = shift; return "item_" . join ("", map { "item_" . $_ ."\n" } @_); } sub generate_enumeration { my $self = shift; return "enum_" . join ("", map { "item_" . $_ ."\n" } @_); } sub generate_heading { my $self = shift; my $level = shift; my $text = shift; return "heading_" . $level . "_" . $text . "\n"; } sub generate_paragraph { my $self = shift; my $text = shift; return "para_$text\n"; } sub generate_bold { my $self = shift; my $text = shift; return "bold_$text\n"; } sub generate_italic { my $self = shift; my $text = shift; return "italic_$text\n"; } sub generate_monospace { my $self = shift; my $text = shift; return "monospace_$text\n"; } sub generate_link { my $self = shift; my $url = shift; my $text = shift; return "link_" . $url. "_" . $text . "\n"; } sub generate_entity { my $self = shift; my $name = shift; return "entity_$name\n"; } sub escape { my $self = shift; return "escaped"; } package main; my $proc = MyProc->new(); my $input = <process($input); my $expected = <