blob: 8443528a7100445d5b4f3d8588d1891bc5254a5a [file] [log] [blame]
Akronbdef2d32025-02-25 21:14:09 +01001#!/usr/bin/env perl
2use strict;
3use warnings;
4use Test::More;
5use KorAP::ScriptLoad;
6use Mojo::JSON qw'decode_json encode_json';
7use Mojo::File qw'path';
8use File::Temp qw/tempdir/;
9use File::Basename;
10use File::Spec::Functions;
11
12my $rf = \&KorAP::ScriptLoad::_parse_load;
13
14my ($name, $desc, @def) = $rf->(q!echo -e "W-gesamt-2022-I - W-gesamt von Release DeReKo-2022-I _Blue_\tLOAD('corp-w-gesamt.2022-i.21.06.22')" >> $CDFile !);
15
16is($name, 'W-gesamt-2022-I');
17is($desc, 'W-gesamt von Release DeReKo-2022-I');
18is($def[0], 'corp-w-gesamt.2022-i.21.06.22');
19
20($name, $desc, @def) = $rf->(q! echo -e "W-gesamt-2017-I - W-gesamt von Release DeReKo-2017-I _Blue_\tLOAD('corp-w-gesamt.2017-i.17.10.17')\tG_UWV" >> $CDFile !);
21
22is($name, 'W-gesamt-2017-I');
23is($desc, 'W-gesamt von Release DeReKo-2017-I');
24is($def[0], 'corp-w-gesamt.2017-i.17.10.17');
25
26($name, $desc, @def) = $rf->(q! echo -e "lit - Belletristik/Trivialliteratur _Maroon_ \tLOAD('bih bio bio-pub div div-pub gr1 gri hes kjl les wam thm-lit misc-lit')" >>$CDFile !);
27
28is($name, 'lit');
29is($desc, 'Belletristik/Trivialliteratur');
30is($def[0], 'bih');
31is($def[-1], 'misc-lit');
32
33($name, $desc, @def) = $rf->(q!echo -e "W2-öffentlich - alle öffentlichen Korpora des Archivs W2 (mit Neuakquisitionen) _B__BLUE_\tLOAD('aan aaz abo alz art azm baz bdz bee bez bku bla bli boz brg brm bru brw bun bup bwa bsz bze chk cou ctb dak daz dec dki dnn dol dpr dog edf eft elf elt ett eut euw fis fmt fnp fom fra frt gal gaz ge geo ges gingko gng gob gsp gta gtb hab hau hfz hhz hkr hrz hst htb hzs hzw hzz ix k kaz ksa kur ktz lah lan laz lmd lru msp ndo neo noz nwt osz paz ph pmm scw stb stg tvd vbw vzs w was weo div')" >>$CDFile !);
34
35is($name, 'W2-öffentlich');
36is($desc, 'alle öffentlichen Korpora des Archivs W2 (mit Neuakquisitionen)');
37is($def[0], 'aan');
38is($def[-1], 'div');
39
40($name, $desc, @def) = $rf->(q!div - Belletristik des 20. und 21. Jahrhunderts: Diverse Schriftsteller LOAD('div div-pub')!);
41
42is($name, 'div');
43is($desc, 'Belletristik des 20. und 21. Jahrhunderts: Diverse Schriftsteller');
44is($def[0], 'div');
45is($def[-1], 'div-pub');
46
47
48($name, $desc, @def) = $rf->(q!echo -e "N-gesamt - alle Neuakquisitionen von DeReKo-2024-I _B__Blue_\tLOAD('bih bio bio-pub l bvz brz bzk b ct cz dck div div-pub dkg dpa p erk flt faz foc frr fsp fsp-pub goe gr1 gri haz hbk hes hmp iko ix kic kjl klz ksp les lim lmd ltb mk1 mk2 mld m neu new ng nku nkz non nun nuz nzf nzs nzz oon pp prf rei rhp rhz sbl sbn a sid soz s spk sol ste stg u tas t thm ttz van vdi wam wkb wkd wkv wxx11 wwo zca zcw z zge e zwi -corp-w-gesamt.2023-i.16.03.23')" >>$CDFile!);
49
50is($name, 'N-gesamt');
51is($desc, 'alle Neuakquisitionen von DeReKo-2024-I');
52is($def[0], 'bih');
53is($def[-1], '-corp-w-gesamt.2023-i.16.03.23');
54
55
56# Load script file
57my $script_file = catfile(dirname(__FILE__), 'data', 'doVirtBms.w.all.2024-I');
58my $output = tempdir( CLEANUP => 1 );
59
60my $load = KorAP::ScriptLoad->new(
61 file => $script_file,
62 output => $output
63);
64
65$load->parse;
66
67ok(-e catfile($output, 'wkd.jsonld'));
68ok(-e catfile($output, 'taz.jsonld'));
69ok(-e catfile($output, 'stg.jsonld'));
70ok(-e catfile($output, 'zwi.jsonld'));
71
72my $f = Mojo::File->new(catfile($output, 'lit.jsonld'));
73
74my $coll = decode_json($f->slurp);
75
76is($coll->{collection}->{operation},'operation:or');
77is($coll->{collection}->{operands}->[0]->{'ref'},'bih');
78is($coll->{collection}->{operands}->[-1]->{'ref'},'misc-lit');
79
80
81$f = Mojo::File->new(catfile($output, 'N-gesamt.jsonld'));
82
83$coll = decode_json($f->slurp);
84
85is($coll->{collection}->{operation},'operation:and');
86is($coll->{collection}->{operands}->[0]->{operands}->[0]->{'ref'},'bih');
87is($coll->{collection}->{operands}->[-1]->{'ref'}, 'corp-w-gesamt.2023-i.16.03.23');
88is($coll->{collection}->{operands}->[-1]->{'match'}, 'match:ne');
89
90
91
92
93done_testing;