File: rollup.t

package info (click to toggle)
libmojolicious-plugin-assetpack-perl 2.15-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,888 kB
  • sloc: perl: 1,503; javascript: 52; makefile: 8; sh: 2
file content (31 lines) | stat: -rw-r--r-- 1,355 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use lib '.';
use t::Helper;
plan skip_all => 'TEST_ROLLUP=1' unless $ENV{TEST_ROLLUP} or -e '.test-everything';

# Development mode
my $t = t::Helper->t(pipes => [qw(RollupJs Combine)]);
$t->app->asset->process('app.js' => 'js/some-lib.js');
$t->get_ok('/')->status_is(200)->element_exists(qq(script[src="/asset/693887ef13/some-lib.js"]));
$t->get_ok($t->tx->res->dom->at('script')->{src})->status_is(200)->content_like(qr{someLib\W+=\W+function});

# Production mode
$ENV{MOJO_MODE} = 'Test_minify_from_here';
$t = t::Helper->t(pipes => [qw(RollupJs Combine)]);
$t->app->asset->process('app.js' => 'js/some-lib.js');
$t->get_ok('/')->status_is(200)->element_exists(qq(script[src="/asset/96b3f18ab2/app.js"]));
$t->get_ok($t->tx->res->dom->at('script')->{src})->status_is(200)->content_like(qr{someLib=\W*function});

# With modules and plugins
$t = t::Helper->t(pipes => [qw(RollupJs Combine)]);
$t->app->asset->pipe('RollupJs')->add_global(vue => 'Vue');
push @{$t->app->asset->pipe('RollupJs')->modules}, 'vue-template-compiler';
push @{$t->app->asset->pipe('RollupJs')->plugins}, ['rollup-plugin-vue', 'vue'];
$t->app->asset->process('app.js' => 'js/vue-app.js');
$t->get_ok('/')->status_is(200);
$t->get_ok($t->tx->res->dom->at('script')->{src})->status_is(200)->content_like(qr{\bVue\b});

done_testing;

__DATA__
@@ index.html.ep
%= asset 'app.js'