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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
# --
# Copyright (C) 2001-2021 OTRS AG, https://otrs.com/
# Copyright (C) 2021 Znuny GmbH, https://znuny.org/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --
use strict;
use warnings;
use utf8;
use vars (qw($Self));
my $LayoutObject = $Kernel::OM->Get('Kernel::Output::HTML::Layout');
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
my @Tests = (
{
Name => 'Simple test',
Params => {
Name => 'test',
Data => {
1 => 'Testqueue',
},
},
ResultTree => '<select name="test" id="test" class="" data-tree="true" >
<option value="1">Testqueue</option>
</select>
',
ResultList => '<select id="test" name="test">
<option value="1">Testqueue</option>
</select>',
},
{
Name => 'Posible empty selection',
Params => {
Name => 'test',
Data => {
1 => 'Testqueue',
'||-' => '-',
},
},
ResultTree => '<select name="test" id="test" class="" data-tree="true" >
<option value="||-">-</option>
<option value="1">Testqueue</option>
</select>
',
ResultList => '<select id="test" name="test">
<option value="||-">-</option>
<option value="1">Testqueue</option>
</select>',
},
{
Name => 'Special empty selection: - Move -',
Params => {
Name => 'test',
Data => {
1 => 'Testqueue',
'||-' => '- Move -',
},
},
ResultTree => '<select name="test" id="test" class="" data-tree="true" >
<option value="||-">- Move -</option>
<option value="1">Testqueue</option>
</select>
',
ResultList => '<select id="test" name="test">
<option value="||-">- Move -</option>
<option value="1">Testqueue</option>
</select>',
},
{
Name => 'Special characters',
Params => {
Name => 'test',
Data => {
'1||"><script>alert(\'hey there\');</script>' => '"><script>alert(\'hey there\');</script>',
},
},
ResultTree => q{<select name="test" id="test" class="" data-tree="true" >
<option value="1||"><script>alert('hey there');</script>">"><script>alert('hey there');</script></option>
</select>
},
ResultList => q{<select id="test" name="test">
<option value="1||"><script>alert('hey there');</script>">"><script>alert('hey there');</script></option>
</select>},
},
);
for my $ListType (qw(tree list)) {
$ConfigObject->Set(
Key => 'Ticket::Frontend::ListType',
Value => $ListType,
);
my $ResultType = ( $ListType eq 'tree' ) ? 'ResultTree' : 'ResultList';
# Test creating queue list option for tree/list ListType.
for my $Test (@Tests) {
my $Result = $LayoutObject->AgentQueueListOption( %{ $Test->{Params} } );
$Self->Is(
$Result,
$Test->{$ResultType},
$Test->{Name} . ' ' . $ListType . ' ListType',
);
}
}
1;
|