blob: 2c3f258c77e9d3a2e3666d3313987f8b120b4891 [file] [log] [blame]
Akronccd9d7d2020-09-22 09:51:19 +02001use Mojo::Base -strict;
2use Test::More;
3use Test::Mojo;
4use Mojo::File qw/tempfile/;
5
6# Test the documentation
7my $t = Test::Mojo->new('Kalamar');
8
9my $temp = tempfile();
10
Akron889bc202024-03-15 17:16:55 +010011$temp->spew(<<SCRIPT);
Akronccd9d7d2020-09-22 09:51:19 +020012[{
Akron8dda1c62021-01-20 10:27:32 +010013 "name" : "Export",
14 "desc" : "Exports Kalamar results",
15 "embed" : [{
16 "panel" : "result",
17 "title" : "exports KWICs and snippets",
18 "icon" : "\uf019",
19 "classes" : ["button-icon","plugin"],
20 "onClick" : {
21 "action" : "addWidget",
22 "template" : "http://localhost:7777/res/export.html"
Akronccd9d7d2020-09-22 09:51:19 +020023 }
24 }]
25}]
26SCRIPT
27
28$t->app->plugin('Plugins' => {
29 default_plugins => $temp->to_string
30});
31
32$t->get_ok('/')
33 ->text_is('h1 span', 'KorAP - Corpus Analysis Platform')
Akron8dda1c62021-01-20 10:27:32 +010034 ->content_unlike(qr!KorAP\.Plugins\s*=\s*\[!)
35 ->content_unlike(qr!<script>\/\/<\!\[CDATA\[!)
36 ->content_like(qr!<span id="kalamar-plugins" data-plugins="/settings/plugin/list\.json"></span>!)
37 ;
38
39$t->get_ok('/settings/plugin/list.json')
40 ->status_is(200)
41 ->header_is('Content-Type','application/json;charset=UTF-8')
42 ->content_unlike(qr!KorAP\.Plugins=!)
43 ->content_like(qr!button-icon!)
44 ->json_is('/0/embed/0/title','exports KWICs and snippets')
Akronccd9d7d2020-09-22 09:51:19 +020045 ;
46
47done_testing;