zeroclickinfo-goodies/t/MacAddress.t

84 lines
2.6 KiB
Perl
Executable File

#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Deep;
use DDG::Test::Goodie;
zci answer_type => "mac_address";
zci is_cached => 1;
sub build_test
{
my($text, $name, $lines, $input) = @_;
return test_zci($text, structured_answer => {
data => {
title => $name,
result => $lines,
input => $input,
infoboxData => [
{heading => "Related Queries",},
{
label => 'generate mac address',
url => 'https://duckduckgo.com/?q=generate+mac+address&ia=answer'
}, {
label => 'random mac address',
url => 'https://duckduckgo.com/?q=random+mac+address&ia=answer'
},
]
},
templates => {
group => 'text',
options => {
content => 'DDH.mac_address.content'
}
}
});
}
my @dlink = (
"The OUI, 14:d6:4d, for this NIC is assigned to D-Link International",
"D-Link International",
["1 International Business Park", "#03-12, The Synergy", "609917", "Singapore"],
"14:d6:4d:da:79:6a"
);
my @hp = (
"The OUI, 2c:41:38, for this NIC is assigned to Hewlett-Packard Company",
"Hewlett-Packard Company",
["11445 Compaq Center Drive", "Mailcode 6.3.049", "Houston Texas 77070", "United States"],
"2c:41:38:13:48:d2"
);
my @xerox = (
"The OUI, 00:00:03, for this NIC is assigned to XEROX CORPORATION",
"Xerox Corporation",
["Zerox Systems Institute", "M/S 105-50cew Avenue 800 Phillips Road", "Webster Ny 14580", "United States"],
"00:00:03:ff:ff:ff"
);
my @private = (
"The OUI, 3c:b8:7a, for this NIC is assigned to PRIVATE",
"Private",
[],
"3c:b8:7a:94:f5:42:e3:77"
);
ddg_goodie_test(
[qw(DDG::Goodie::MacAddress)],
'mac address 14:D6:4D:DA:79:6A' => build_test(@dlink),
'mac address 14-D6-4D-DA-79-6A' => build_test(@dlink),
'mac address 14/D6/4D/DA/79/6A' => build_test(@dlink),
'mac address 14.D6.4D.DA.79.6A' => build_test(@dlink),
'mac address 14 D6 4D DA 79 6A' => build_test(@dlink),
'mac address 14:D6-4D/DA.79 6A' => build_test(@dlink),
'mac address 14D64D:/ .-DA796A' => build_test(@dlink),
'mac address 14D6-4DDA.796A' => build_test(@dlink),
'mac address 14D:64DDA7/96A' => build_test(@dlink),
'mac address 14D64DDA796A' => build_test(@dlink),
'mac address 2c-41-38-13-48-d2' => build_test(@hp),
'mac address 3cb8.7a94.f542.e377' => build_test(@private),
'ethernet address 00/00-03.ff:ff:FF' => build_test(@xerox),
'mac address 1E:00:00:00:00:00' => undef,
);
done_testing;