The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl -w

use strict;
use Test::More;

use Text::Xslate::Compiler;
use Text::Xslate::Util qw(p);

my $c = Text::Xslate::Compiler->new();

isa_ok $c, 'Text::Xslate::Compiler';

my @data = (
    ['Hello, world!', qr/Hello, world!/],
    ['Hello, <:= $lang :> world!', qr/\b lang \b/xms, qr/Hello, /, qr/ world!/],
    ['aaa <:= $bbb :> ccc <:= $ddd :>', qr/aaa/, qr/\b bbb \b/xms, qr/ccc/, qr/\b ddd \b/xms],

    ['<: for $data ->($item) { print $item; } :>', qr/\b for /xms, qr/\b data \b/xms  ],

    ['<: "foo" :>:<: "bar" :>', qr/ foo /xms, qr/ bar /xms, qr/ : /xms ],
);

foreach my $d(@data) {
    my($str, @patterns) = @{$d};

    my $code = p($c->compile($str));
    #note($code);

    foreach my $pat(@patterns) {
        like $code, $pat, $str;
    }
}

done_testing;