1 |
dpavlin |
100 |
#!/usr/bin/perl |
2 |
|
|
use strict; |
3 |
|
|
use warnings; |
4 |
|
|
|
5 |
dpavlin |
476 |
use Test::More tests => 24; |
6 |
dpavlin |
100 |
use lib 'lib'; |
7 |
|
|
|
8 |
dpavlin |
121 |
use Data::Dump qw/dump/; |
9 |
|
|
|
10 |
|
|
my $debug = 1 if @ARGV; |
11 |
|
|
|
12 |
dpavlin |
100 |
BEGIN { |
13 |
|
|
use_ok('Frey::Web'); |
14 |
dpavlin |
121 |
use_ok('Frey'); |
15 |
|
|
use_ok('Test::HTML::Lint'); |
16 |
dpavlin |
100 |
} |
17 |
|
|
|
18 |
dpavlin |
121 |
{ |
19 |
|
|
package Mock; |
20 |
|
|
use Moose; |
21 |
|
|
extends 'Frey'; |
22 |
|
|
with 'Frey::Web'; |
23 |
|
|
} |
24 |
|
|
|
25 |
dpavlin |
100 |
isa_ok( Frey::Web->meta, 'Moose::Meta::Role' ); |
26 |
|
|
|
27 |
dpavlin |
121 |
|
28 |
dpavlin |
161 |
ok( my $o = Mock->new( debug => $debug, inline_smaller_than => 1 ), 'new' ); |
29 |
dpavlin |
121 |
diag $o->dump(2) if $debug; |
30 |
|
|
|
31 |
dpavlin |
156 |
ok( $o->add_head( '/static/lib/Joose.js' ), 'add_head js' ); |
32 |
dpavlin |
121 |
|
33 |
dpavlin |
156 |
ok( my @head = $o->head, 'js' ); |
34 |
dpavlin |
121 |
|
35 |
dpavlin |
156 |
diag dump( @head ) if $debug; |
36 |
dpavlin |
121 |
|
37 |
dpavlin |
156 |
ok( $o->add_head( '/static/introspect.css' ), 'add_head css' ); |
38 |
dpavlin |
446 |
ok( $o->add_head( "<!--\nhead html\n-->" ), 'add_head html' ); |
39 |
dpavlin |
121 |
|
40 |
|
|
ok( my $html = $o->page( title => 'Test', body => '<!-- in-body -->' ), 'page' ); |
41 |
|
|
diag $html if $debug; |
42 |
|
|
|
43 |
|
|
like( $html, qr{text/javascript.*\.js}, 'have js' ); |
44 |
|
|
like( $html, qr{text/css.*\.css}, 'have css' ); |
45 |
dpavlin |
444 |
like( $html, qr{head html}, 'have html' ); |
46 |
dpavlin |
121 |
|
47 |
|
|
html_ok( $html, 'html lint' ); |
48 |
dpavlin |
154 |
|
49 |
dpavlin |
156 |
ok( my $s = $o->add_head( 'static/frey.css' ), 'add_head css' ); |
50 |
dpavlin |
154 |
diag $s if $debug; |
51 |
|
|
ok( $s = $o->add_head( 'static/js/ext-2.1/ext-all.js' ), 'add_head js' ); |
52 |
|
|
diag $s if $debug; |
53 |
|
|
|
54 |
dpavlin |
418 |
ok( $o->title, 'has title' ); |
55 |
|
|
|
56 |
dpavlin |
154 |
ok( my $html2 = $o->page( title => 'Test2', body => '<!-- in-body 2 -->' ), 'page' ); |
57 |
|
|
diag $html2 if $debug; |
58 |
|
|
|
59 |
|
|
cmp_ok( length( $html ), '<', length( $html2 ), 'bigger html' ); |
60 |
|
|
|
61 |
dpavlin |
156 |
like( $html2, qr{frey\.css}, 'have css' ); |
62 |
dpavlin |
154 |
like( $html2, qr{ext}, 'have js' ); |
63 |
dpavlin |
460 |
|
64 |
|
|
ok( my $error = $o->error('test,ignore'), 'error' ); |
65 |
|
|
diag $error if $debug; |
66 |
|
|
like( $error, qr{test,ignore.*$0}s, "have $0" ); |
67 |
|
|
|
68 |
dpavlin |
476 |
ok( $o->dump_max_bytes, 'dump_max_bytes' ); |