Update Goodies to use Test::Deep
* Ensure Test::Deep is imported. * Replace '-ANY-' with ignore() * Replace regexes with re(...)master
parent
8eeddb5c19
commit
5f85cf4121
28
t/ABC.t
28
t/ABC.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'choice';
|
||||
|
@ -12,7 +13,7 @@ sub create_structured_answer
|
|||
{
|
||||
my $data = shift;
|
||||
return {
|
||||
data => $data, #'-ANY-',
|
||||
data => $data, #ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
moreAt => 0
|
||||
|
@ -30,28 +31,28 @@ ddg_goodie_test(
|
|||
'choose his or or her house' => undef,
|
||||
'choose from products like turkey or venison' => undef,
|
||||
'choose pick or axe' => test_zci(
|
||||
qr/(pick|axe) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(pick|axe) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'choose yes or no' => test_zci(
|
||||
qr/(yes|no) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(yes|no) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'choose this or that or none' => test_zci(
|
||||
qr/(this|that|none) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(this|that|none) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'pick this or that or none' => test_zci(
|
||||
qr/(this|that|none) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(this|that|none) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'select heads or tails' => test_zci(
|
||||
qr/(heads|tails) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(heads|tails) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'choose heads or tails' => test_zci(
|
||||
qr/(heads|tails) \(Random\)/,
|
||||
structured_answer => create_structured_answer('-ANY-')
|
||||
re(qr/(heads|tails) \(Random\)/),
|
||||
structured_answer => create_structured_answer(ignore())
|
||||
),
|
||||
'choose duckduckgo or google or bing or something' => test_zci(
|
||||
'duckduckgo (Non-random)',
|
||||
|
@ -70,4 +71,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'date_conversion';
|
||||
|
@ -84,4 +85,4 @@ sub make_structured_answer {
|
|||
};
|
||||
};
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'anagram';
|
||||
|
@ -42,4 +43,4 @@ ddg_goodie_test(
|
|||
'anagrams of "Mixing it up"' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'aspect_ratio';
|
||||
|
@ -33,4 +34,4 @@ ddg_goodie_test(
|
|||
'aspect ratio 1:1.5 ?:15' => build_test('1:1.5', '10:15')
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'atbash';
|
||||
|
@ -92,4 +93,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'average';
|
||||
|
@ -42,4 +43,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
31
t/BPMToMs.t
31
t/BPMToMs.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "bpmto_ms";
|
||||
|
@ -30,49 +31,49 @@ ddg_goodie_test(
|
|||
"120 beats per minute to ms" => test_zci(
|
||||
$plaintext_120,
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
# [
|
||||
# {
|
||||
# note_type => "Whole Note",
|
||||
# triplet => 1333,
|
||||
# dotted => 3000,
|
||||
# milliseconds => 2000,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "Half Note",
|
||||
# triplet => 667,
|
||||
# dotted => 1500,
|
||||
# milliseconds => 1000,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "Quarter Note",
|
||||
# triplet => 333,
|
||||
# dotted => 750,
|
||||
# milliseconds => 500,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/8 Note",
|
||||
# triplet => 167,
|
||||
# dotted => 375,
|
||||
# milliseconds => 250,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/16 Note",
|
||||
# triplet => 83,
|
||||
# dotted => 188,
|
||||
# milliseconds => 125,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/32 Note",
|
||||
# triplet => 42,
|
||||
# dotted => 94,
|
||||
# milliseconds => 63,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# }
|
||||
# ],
|
||||
meta => {
|
||||
|
@ -92,49 +93,49 @@ ddg_goodie_test(
|
|||
"61 beats per minute to ms" => test_zci(
|
||||
$plaintext_61,
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
# [
|
||||
# {
|
||||
# note_type => "Whole Note",
|
||||
# triplet => 2623,
|
||||
# dotted => 5902,
|
||||
# milliseconds => 3934,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "Half Note",
|
||||
# triplet => 1311,
|
||||
# dotted => 2951,
|
||||
# milliseconds => 1967,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "Quarter Note",
|
||||
# triplet => 656,
|
||||
# dotted => 1475,
|
||||
# milliseconds => 984,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/8 Note",
|
||||
# triplet => 328,
|
||||
# dotted => 738,
|
||||
# milliseconds => 492,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/16 Note",
|
||||
# triplet => 164,
|
||||
# dotted => 369,
|
||||
# milliseconds => 246,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# },
|
||||
# {
|
||||
# note_type => "1/32 Note",
|
||||
# triplet => 82,
|
||||
# dotted => 184,
|
||||
# milliseconds => 123,
|
||||
# image => qr/.*/
|
||||
# image => re(qr/.*/)
|
||||
# }
|
||||
# ],
|
||||
meta => {
|
||||
|
@ -156,4 +157,4 @@ ddg_goodie_test(
|
|||
'bpm' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/BRT.t
3
t/BRT.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "brt";
|
||||
|
@ -30,4 +31,4 @@ ddg_goodie_test(
|
|||
"brt 12345678901234567890" => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
2
t/Base.t
2
t/Base.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'conversion';
|
||||
|
@ -39,4 +40,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'base64_conversion';
|
||||
|
@ -45,4 +46,4 @@ ddg_goodie_test(
|
|||
"base64 decode" => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -2,6 +2,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'expression_description';
|
||||
|
@ -12,7 +13,7 @@ ddg_goodie_test(
|
|||
'DDG::Goodie::BashPrimaryExpressions'
|
||||
],
|
||||
"bash [ -a b ]" => test_zci(
|
||||
qr/.+ true if b exists./,
|
||||
re(qr/.+ true if b exists./),
|
||||
structured_answer => {
|
||||
data => {
|
||||
intro => "[ -a b ]",
|
||||
|
@ -39,9 +40,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash [[ "abc" < "cba" ]]' => test_zci(
|
||||
qr/.+ true if "abc" string-sorts before "cba" in the current locale./,
|
||||
re(qr/.+ true if "abc" string-sorts before "cba" in the current locale./),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -52,9 +53,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash [ 2 -gt 1 ]' => test_zci(
|
||||
qr/.+ true if 2 is numerically greater than 1./,
|
||||
re(qr/.+ true if 2 is numerically greater than 1./),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -65,9 +66,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash [ ! hello == world ]' => test_zci(
|
||||
qr/.+ false if the strings hello and world are equal./,
|
||||
re(qr/.+ false if the strings hello and world are equal./),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -78,9 +79,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash [[ /tmp/hello -nt /etc/test ]]' => test_zci (
|
||||
qr#.+ true if /tmp/hello has been changed more recently than /etc/test or if /tmp/hello exists and /etc/test does not.#,
|
||||
re(qr#.+ true if /tmp/hello has been changed more recently than /etc/test or if /tmp/hello exists and /etc/test does not.#),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -91,9 +92,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash [ -z hello ]' => test_zci(
|
||||
qr/.+ true if the length of 'hello' is zero./,
|
||||
re(qr/.+ true if the length of 'hello' is zero./),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -104,9 +105,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'bash if [[ "abc" -lt "cba" ]]' => test_zci(
|
||||
qr/.+ true if "abc" is numerically less than "cba"./,
|
||||
re(qr/.+ true if "abc" is numerically less than "cba"./),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -120,4 +121,4 @@ ddg_goodie_test(
|
|||
'bash if [ ![ 1 -lt 2 ] ]' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "beam_me_up_scotty";
|
||||
|
@ -32,4 +33,4 @@ ddg_goodie_test(
|
|||
'scotty beam us up' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env perl
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
use utf8;
|
||||
|
@ -77,4 +78,4 @@ ddg_goodie_test(
|
|||
%ctrl_tests
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'binary_conversion';
|
||||
|
@ -56,4 +57,4 @@ ddg_goodie_test(
|
|||
'to binary' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -65,4 +66,4 @@ ddg_goodie_test(
|
|||
'what do number and letter codes in a lens name mean' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "birth_stone";
|
||||
|
@ -35,4 +36,4 @@ ddg_goodie_test(
|
|||
'may birth stone' => build_test('May', 'Emerald')
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "bitsum";
|
||||
|
@ -46,4 +47,4 @@ ddg_goodie_test(
|
|||
'bitsum 0b' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "blood_donor";
|
||||
|
@ -89,4 +90,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use Convert::Braille;
|
||||
use utf8;
|
||||
|
@ -43,4 +44,4 @@ ddg_goodie_test(
|
|||
'braille to braille is good' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,13 +3,14 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'caesar_cipher';
|
||||
zci is_cached => 1;
|
||||
|
||||
my $decode_response = {
|
||||
data => '-ANY-', # We only need to check it is the right template.
|
||||
data => ignore(), # We only need to check it is the right template.
|
||||
meta => {
|
||||
sourceUrl => 'https://en.wikipedia.org/wiki/Caesar_cipher',
|
||||
sourceName => 'Wikipedia',
|
||||
|
@ -70,4 +71,4 @@ ddg_goodie_test(
|
|||
'how to decode caesar' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'root';
|
||||
|
@ -49,4 +50,4 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
);
|
||||
done_testing;
|
||||
done_testing;
|
185
t/Calculator.t
185
t/Calculator.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use DDG::Goodie::Calculator; # For function subtests.
|
||||
use utf8;
|
||||
|
@ -18,7 +19,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 - 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0</
|
||||
result => re(qr/>0</)
|
||||
}
|
||||
),
|
||||
'solve 2+2' => test_zci(
|
||||
|
@ -27,7 +28,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 + 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>4</
|
||||
result => re(qr/>4</)
|
||||
}
|
||||
),
|
||||
'2^8' => test_zci(
|
||||
|
@ -36,7 +37,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 8'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>256</
|
||||
result => re(qr/>256</)
|
||||
}
|
||||
),
|
||||
'2 *7' => test_zci(
|
||||
|
@ -45,7 +46,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 * 7'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>14</
|
||||
result => re(qr/>14</)
|
||||
}
|
||||
),
|
||||
'4 ∙ 5' => test_zci(
|
||||
|
@ -54,7 +55,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['4 * 5'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>20</
|
||||
result => re(qr/>20</)
|
||||
}
|
||||
),
|
||||
'6 ⋅ 7' => test_zci(
|
||||
|
@ -63,7 +64,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['6 * 7'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>42</
|
||||
result => re(qr/>42</)
|
||||
}
|
||||
),
|
||||
'3 × dozen' => test_zci(
|
||||
|
@ -72,7 +73,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['3 * dozen'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>36</
|
||||
result => re(qr/>36</)
|
||||
}
|
||||
),
|
||||
'dozen ÷ 4' => test_zci(
|
||||
|
@ -81,7 +82,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['dozen / 4'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>3</
|
||||
result => re(qr/>3</)
|
||||
}
|
||||
),
|
||||
'1 dozen * 2' => test_zci(
|
||||
|
@ -90,7 +91,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1 dozen * 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>24</
|
||||
result => re(qr/>24</)
|
||||
}
|
||||
),
|
||||
'dozen + dozen' => test_zci(
|
||||
|
@ -99,7 +100,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['dozen + dozen'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>24</
|
||||
result => re(qr/>24</)
|
||||
}
|
||||
),
|
||||
'2divided by 4' => test_zci(
|
||||
|
@ -108,7 +109,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 divided by 4'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0.5</
|
||||
result => re(qr/>0.5</)
|
||||
}
|
||||
),
|
||||
'2^2' => test_zci(
|
||||
|
@ -117,7 +118,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>4</
|
||||
result => re(qr/>4</)
|
||||
}
|
||||
),
|
||||
'2^0.2' => test_zci(
|
||||
|
@ -126,7 +127,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 0.2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.14869835499704</
|
||||
result => re(qr/>1\.14869835499704</)
|
||||
}
|
||||
),
|
||||
'cos(0)' => test_zci(
|
||||
|
@ -135,7 +136,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['cos(0)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</
|
||||
result => re(qr/>1</)
|
||||
}
|
||||
),
|
||||
'tan(1)' => test_zci(
|
||||
|
@ -144,7 +145,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['tan(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.5574077246549</
|
||||
result => re(qr/>1\.5574077246549</)
|
||||
}
|
||||
),
|
||||
'tanh(1)' => test_zci(
|
||||
|
@ -153,7 +154,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['tanh(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0\.761594155955765</
|
||||
result => re(qr/>0\.761594155955765</)
|
||||
}
|
||||
),
|
||||
'cotan(1)' => test_zci(
|
||||
|
@ -162,7 +163,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['cotan(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0\.642092615934331</
|
||||
result => re(qr/>0\.642092615934331</)
|
||||
}
|
||||
),
|
||||
'sin(1)' => test_zci(
|
||||
|
@ -171,7 +172,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sin(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0\.841470984807897</
|
||||
result => re(qr/>0\.841470984807897</)
|
||||
}
|
||||
),
|
||||
'csc(1)' => test_zci(
|
||||
|
@ -180,7 +181,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['csc(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.18839510577812</
|
||||
result => re(qr/>1\.18839510577812</)
|
||||
}
|
||||
),
|
||||
'sec(1)' => test_zci(
|
||||
|
@ -189,7 +190,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sec(1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.85081571768093</
|
||||
result => re(qr/>1\.85081571768093</)
|
||||
}
|
||||
),
|
||||
'log(3)' => test_zci(
|
||||
|
@ -198,7 +199,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log(3)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.09861228866811</
|
||||
result => re(qr/>1\.09861228866811</)
|
||||
}
|
||||
),
|
||||
'ln(3)' => test_zci(
|
||||
|
@ -207,7 +208,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log(3)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.09861228866811</
|
||||
result => re(qr/>1\.09861228866811</)
|
||||
}
|
||||
),
|
||||
'log10(100.00)' => test_zci(
|
||||
|
@ -216,7 +217,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log10(100.00)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2</
|
||||
result => re(qr/>2</)
|
||||
}
|
||||
),
|
||||
'log_10(100.00)' => test_zci(
|
||||
|
@ -225,7 +226,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log_10(100.00)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2</
|
||||
result => re(qr/>2</)
|
||||
}
|
||||
),
|
||||
'log_2(16)' => test_zci(
|
||||
|
@ -234,7 +235,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log_2(16)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>4</
|
||||
result => re(qr/>4</)
|
||||
}
|
||||
),
|
||||
'log_23(25)' => test_zci(
|
||||
|
@ -243,7 +244,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log_23(25)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.0265928122321</
|
||||
result => re(qr/>1\.0265928122321</)
|
||||
}
|
||||
),
|
||||
'log23(25)' => test_zci(
|
||||
|
@ -252,7 +253,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['log23(25)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.0265928122321</
|
||||
result => re(qr/>1\.0265928122321</)
|
||||
}
|
||||
),
|
||||
'$3.43+$34.45' => test_zci(
|
||||
|
@ -261,7 +262,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['$3.43 + $34.45'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>\$37\.88</
|
||||
result => re(qr/>\$37\.88</)
|
||||
}
|
||||
),
|
||||
'$3.45+$34.45' => test_zci(
|
||||
|
@ -270,7 +271,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['$3.45 + $34.45'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>\$37\.90</
|
||||
result => re(qr/>\$37\.90</)
|
||||
}
|
||||
),
|
||||
'$3+$34' => test_zci(
|
||||
|
@ -279,7 +280,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['$3 + $34'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>\$37\.00</
|
||||
result => re(qr/>\$37\.00</)
|
||||
}
|
||||
),
|
||||
'$3,4+$34,4' => test_zci(
|
||||
|
@ -288,7 +289,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['$3,4 + $34,4'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>\$37,80</
|
||||
result => re(qr/>\$37,80</)
|
||||
}
|
||||
),
|
||||
'64*343' => test_zci(
|
||||
|
@ -297,7 +298,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['64 * 343'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>21,952</
|
||||
result => re(qr/>21,952</)
|
||||
}
|
||||
),
|
||||
'1E2 + 1' => test_zci(
|
||||
|
@ -306,7 +307,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(1 * 10 ^ 2) + 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>101</
|
||||
result => re(qr/>101</)
|
||||
}
|
||||
),
|
||||
'1 + 1E2' => test_zci(
|
||||
|
@ -315,7 +316,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1 + (1 * 10 ^ 2)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>101</
|
||||
result => re(qr/>101</)
|
||||
}
|
||||
),
|
||||
'2 * 3 + 1E2' => test_zci(
|
||||
|
@ -324,7 +325,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 * 3 + (1 * 10 ^ 2)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>106</
|
||||
result => re(qr/>106</)
|
||||
}
|
||||
),
|
||||
'1E2 + 2 * 3' => test_zci(
|
||||
|
@ -333,7 +334,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(1 * 10 ^ 2) + 2 * 3'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>106</
|
||||
result => re(qr/>106</)
|
||||
}
|
||||
),
|
||||
'1E2 / 2' => test_zci(
|
||||
|
@ -342,7 +343,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(1 * 10 ^ 2) / 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>50</
|
||||
result => re(qr/>50</)
|
||||
}
|
||||
),
|
||||
'2 / 1E2' => test_zci(
|
||||
|
@ -351,7 +352,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 / (1 * 10 ^ 2)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0\.02</
|
||||
result => re(qr/>0\.02</)
|
||||
}
|
||||
),
|
||||
'424334+2253828' => test_zci(
|
||||
|
@ -360,7 +361,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['424334 + 2253828'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2,678,162</
|
||||
result => re(qr/>2,678,162</)
|
||||
}
|
||||
),
|
||||
'4.243,34+22.538,28' => test_zci(
|
||||
|
@ -369,7 +370,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['4.243,34 + 22.538,28'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>26\.781,62</
|
||||
result => re(qr/>26\.781,62</)
|
||||
}
|
||||
),
|
||||
'sin(1,0) + 1,05' => test_zci(
|
||||
|
@ -378,7 +379,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sin(1,0) + 1,05'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1,8914709848079</
|
||||
result => re(qr/>1,8914709848079</)
|
||||
}
|
||||
),
|
||||
'21 + 15 x 0 + 5' => test_zci(
|
||||
|
@ -387,7 +388,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['21 + 15 * 0 + 5'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>26</
|
||||
result => re(qr/>26</)
|
||||
}
|
||||
),
|
||||
'0.8158 - 0.8157' => test_zci(
|
||||
|
@ -396,7 +397,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['0.8158 - 0.8157'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0\.0001</
|
||||
result => re(qr/>0\.0001</)
|
||||
}
|
||||
),
|
||||
'2,90 + 4,6' => test_zci(
|
||||
|
@ -405,7 +406,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2,90 + 4,6'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>7,50</
|
||||
result => re(qr/>7,50</)
|
||||
}
|
||||
),
|
||||
'2,90 + sec(4,6)' => test_zci(
|
||||
|
@ -414,7 +415,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2,90 + sec(4,6)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>-6,01642861135959</
|
||||
result => re(qr/>-6,01642861135959</)
|
||||
}
|
||||
),
|
||||
'100 - 96.54' => test_zci(
|
||||
|
@ -423,7 +424,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['100 - 96.54'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>3\.46</
|
||||
result => re(qr/>3\.46</)
|
||||
}
|
||||
),
|
||||
'1. + 1.' => test_zci(
|
||||
|
@ -432,7 +433,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1. + 1.'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2</
|
||||
result => re(qr/>2</)
|
||||
}
|
||||
),
|
||||
'1 + sin(pi)' => test_zci(
|
||||
|
@ -441,7 +442,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1 + sin(pi)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</
|
||||
result => re(qr/>1</)
|
||||
}
|
||||
),
|
||||
'1 - 1' => test_zci(
|
||||
|
@ -450,7 +451,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1 - 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0</
|
||||
result => re(qr/>0</)
|
||||
}
|
||||
),
|
||||
'sin(pi/2)' => test_zci(
|
||||
|
@ -459,7 +460,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sin(pi / 2)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</
|
||||
result => re(qr/>1</)
|
||||
}
|
||||
),
|
||||
'sin(pi)' => test_zci(
|
||||
|
@ -468,7 +469,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sin(pi)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0</
|
||||
result => re(qr/>0</)
|
||||
}
|
||||
),
|
||||
'cos(2pi)' => test_zci(
|
||||
|
@ -477,7 +478,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['cos(2 pi)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</
|
||||
result => re(qr/>1</)
|
||||
}
|
||||
),
|
||||
'5 squared' => test_zci(
|
||||
|
@ -486,7 +487,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['5 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>25</
|
||||
result => re(qr/>25</)
|
||||
}
|
||||
),
|
||||
'sqrt(4)' => test_zci(
|
||||
|
@ -495,7 +496,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sqrt(4)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2</
|
||||
result => re(qr/>2</)
|
||||
}
|
||||
),
|
||||
'1.0 + 5 squared' => test_zci(
|
||||
|
@ -504,7 +505,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1.0 + 5 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>26</
|
||||
result => re(qr/>26</)
|
||||
}
|
||||
),
|
||||
'3 squared + 4 squared' => test_zci(
|
||||
|
@ -513,7 +514,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['3 ^ 2 + 4 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>25</
|
||||
result => re(qr/>25</)
|
||||
}
|
||||
),
|
||||
'2,2 squared' => test_zci(
|
||||
|
@ -522,7 +523,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2,2 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>4,84</
|
||||
result => re(qr/>4,84</)
|
||||
}
|
||||
),
|
||||
'0.8^2 + 0.6^2' => test_zci(
|
||||
|
@ -531,7 +532,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['0.8 ^ 2 + 0.6 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</,
|
||||
result => re(qr/>1</),
|
||||
}
|
||||
),
|
||||
'2 squared ^ 3' => test_zci(
|
||||
|
@ -540,7 +541,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 2 ^ 3'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>256</
|
||||
result => re(qr/>256</)
|
||||
}
|
||||
),
|
||||
'2 squared ^ 3.06' => test_zci(
|
||||
|
@ -549,7 +550,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 2 ^ 3.06'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>323\.972172143725</
|
||||
result => re(qr/>323\.972172143725</)
|
||||
}
|
||||
),
|
||||
'2^3 squared' => test_zci(
|
||||
|
@ -558,7 +559,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 ^ 3 ^ 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>512</
|
||||
result => re(qr/>512</)
|
||||
}
|
||||
),
|
||||
'sqrt(2)' => test_zci(
|
||||
|
@ -567,7 +568,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sqrt(2)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.4142135623731</
|
||||
result => re(qr/>1\.4142135623731</)
|
||||
}
|
||||
),
|
||||
'sqrt(3 pi / 4 + 1) + 1' => test_zci(
|
||||
|
@ -576,7 +577,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['sqrt(3 pi / 4 + 1) + 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2\.83199194599549</
|
||||
result => re(qr/>2\.83199194599549</)
|
||||
}
|
||||
),
|
||||
'4 score + 7' => test_zci(
|
||||
|
@ -585,7 +586,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['4 score + 7'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>87</
|
||||
result => re(qr/>87</)
|
||||
}
|
||||
),
|
||||
'418.1 / 2' => test_zci(
|
||||
|
@ -594,7 +595,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['418.1 / 2'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>209\.05</
|
||||
result => re(qr/>209\.05</)
|
||||
}
|
||||
),
|
||||
'418.005 / 8' => test_zci(
|
||||
|
@ -603,7 +604,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['418.005 / 8'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>52\.250625</
|
||||
result => re(qr/>52\.250625</)
|
||||
}
|
||||
),
|
||||
'(pi^4+pi^5)^(1/6)' => test_zci(
|
||||
|
@ -612,7 +613,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(pi ^ 4 + pi ^ 5) ^ (1 / 6)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2\.71828180861191</
|
||||
result => re(qr/>2\.71828180861191</)
|
||||
}
|
||||
),
|
||||
'(pi^4+pi^5)^(1/6)+1' => test_zci(
|
||||
|
@ -621,7 +622,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(pi ^ 4 + pi ^ 5) ^ (1 / 6) + 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>3\.71828180861191</
|
||||
result => re(qr/>3\.71828180861191</)
|
||||
}
|
||||
),
|
||||
'5^4^(3-2)^1' => test_zci(
|
||||
|
@ -630,7 +631,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['5 ^ 4 ^ (3 - 2) ^ 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>625</
|
||||
result => re(qr/>625</)
|
||||
}
|
||||
),
|
||||
'(5-4)^(3-2)^1' => test_zci(
|
||||
|
@ -639,7 +640,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(5 - 4) ^ (3 - 2) ^ 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1</
|
||||
result => re(qr/>1</)
|
||||
}
|
||||
),
|
||||
'(5+4-3)^(2-1)' => test_zci(
|
||||
|
@ -648,7 +649,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(5 + 4 - 3) ^ (2 - 1)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>6</
|
||||
result => re(qr/>6</)
|
||||
}
|
||||
),
|
||||
'5^((4-3)*(2+1))+6' => test_zci(
|
||||
|
@ -657,7 +658,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['5 ^ ((4 - 3) * (2 + 1)) + 6'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>131</
|
||||
result => re(qr/>131</)
|
||||
}
|
||||
),
|
||||
'20x07' => test_zci(
|
||||
|
@ -666,7 +667,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['20 * 07'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>140</
|
||||
result => re(qr/>140</)
|
||||
}
|
||||
),
|
||||
'83.166.167.160/33' => test_zci(
|
||||
|
@ -675,7 +676,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['83.166.167.160 / 33'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2\.520\.186\.883,63636</
|
||||
result => re(qr/>2\.520\.186\.883,63636</)
|
||||
}
|
||||
),
|
||||
'123.123.123.123/255.255.255.256' => test_zci(
|
||||
|
@ -684,7 +685,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['123.123.123.123 / 255.255.255.256'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0,482352941174581</
|
||||
result => re(qr/>0,482352941174581</)
|
||||
}
|
||||
),
|
||||
'4E5 +1 ' => test_zci(
|
||||
|
@ -693,7 +694,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(4 * 10 ^ 5) + 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>400,001</
|
||||
result => re(qr/>400,001</)
|
||||
}
|
||||
),
|
||||
'4e5 +1 ' => test_zci(
|
||||
|
@ -702,7 +703,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(4 * 10 ^ 5) + 1'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>400,001</
|
||||
result => re(qr/>400,001</)
|
||||
}
|
||||
),
|
||||
'3e-2* 9 ' => test_zci(
|
||||
|
@ -711,7 +712,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(3 * 10 ^- 2) * 9'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0.27</
|
||||
result => re(qr/>0.27</)
|
||||
}
|
||||
),
|
||||
'7e-4 *8' => test_zci(
|
||||
|
@ -720,7 +721,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(7 * 10 ^- 4) * 8'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>0.0056</
|
||||
result => re(qr/>0.0056</)
|
||||
}
|
||||
),
|
||||
'6 * 2e-11' => test_zci(
|
||||
|
@ -729,7 +730,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['6 * (2 * 10 ^- 11)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>1\.2 \* 10<sup>-10<\/sup></
|
||||
result => re(qr/>1\.2 \* 10<sup>-10<\/sup></)
|
||||
}
|
||||
),
|
||||
'7 + 7e-7' => test_zci(
|
||||
|
@ -738,7 +739,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['7 + (7 * 10 ^- 7)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>7.0000007</
|
||||
result => re(qr/>7.0000007</)
|
||||
}
|
||||
),
|
||||
'1 * 7 + e-7' => test_zci(
|
||||
|
@ -747,7 +748,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1 * 7 + e - 7'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>2.71828182845905</
|
||||
result => re(qr/>2.71828182845905</)
|
||||
}
|
||||
),
|
||||
'7 * e- 5' => test_zci(
|
||||
|
@ -756,7 +757,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['7 * e - 5'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>14.0279727992134</
|
||||
result => re(qr/>14.0279727992134</)
|
||||
}
|
||||
),
|
||||
'pi/1e9' => test_zci(
|
||||
|
@ -765,7 +766,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['pi / (1 * 10 ^ 9)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>3\.14159265358979 \* 10<sup>-9<\/sup></
|
||||
result => re(qr/>3\.14159265358979 \* 10<sup>-9<\/sup></)
|
||||
}
|
||||
),
|
||||
'pi*1e9' => test_zci(
|
||||
|
@ -774,7 +775,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['pi * (1 * 10 ^ 9)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>3,141,592,653\.58979</
|
||||
result => re(qr/>3,141,592,653\.58979</)
|
||||
}
|
||||
),
|
||||
'1 234 + 5 432' => test_zci(
|
||||
|
@ -783,7 +784,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1234 + 5432'],
|
||||
operation => 'Calculate',
|
||||
result => qr/6,666/
|
||||
result => re(qr/6,666/)
|
||||
}
|
||||
),
|
||||
'1_234 + 5_432' => test_zci(
|
||||
|
@ -792,7 +793,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['1234 + 5432'],
|
||||
operation => 'Calculate',
|
||||
result => qr/6,666/
|
||||
result => re(qr/6,666/)
|
||||
}
|
||||
),
|
||||
'(0.4e^(0))*cos(0)' => test_zci(
|
||||
|
@ -801,7 +802,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['(0.4e ^ (0)) * cos(0)'],
|
||||
operation => 'Calculate',
|
||||
result => qr'0.4'
|
||||
result => re(qr'0.4')
|
||||
}
|
||||
),
|
||||
'2pi' => test_zci(
|
||||
|
@ -810,7 +811,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['2 pi'],
|
||||
operation => 'Calculate',
|
||||
result => qr"6.28318530717958"
|
||||
result => re(qr"6.28318530717958")
|
||||
}
|
||||
),
|
||||
'fact(3)' => test_zci(
|
||||
|
@ -819,7 +820,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['fact(3)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>6</
|
||||
result => re(qr/>6</)
|
||||
}
|
||||
),
|
||||
'factorial(3)' => test_zci(
|
||||
|
@ -828,7 +829,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => ['fact(3)'],
|
||||
operation => 'Calculate',
|
||||
result => qr/>6</
|
||||
result => re(qr/>6</)
|
||||
}
|
||||
),
|
||||
'123.123.123.123/255.255.255.255' => undef,
|
||||
|
@ -860,4 +861,4 @@ ddg_goodie_test(
|
|||
'(01780) 111 111' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'calendar_conversion';
|
||||
|
@ -48,4 +49,4 @@ ddg_goodie_test(
|
|||
'22nd Aug 2003 in gregorian time' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use Test::MockTime qw( :all );
|
||||
|
||||
|
@ -14,9 +15,9 @@ ddg_goodie_test(
|
|||
DDG::Goodie::CalendarToday
|
||||
)],
|
||||
'calendar' => test_zci(
|
||||
qr/\nS M T W T F S[ ]+[A-Za-z]+ [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S[ ]+[A-Za-z]+ [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -27,9 +28,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'calendar november' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -40,9 +41,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'calendar november 12th' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -53,9 +54,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'calendar last november' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -66,9 +67,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'calendar next november' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -217,7 +218,7 @@ S M T W T F S November 2009
|
|||
29 30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -236,7 +237,7 @@ S M T W T F S November 2015
|
|||
|29| 30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -255,7 +256,7 @@ S M T W T F S November 2015
|
|||
|29| 30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -275,7 +276,7 @@ S M T W T F S November 1980
|
|||
30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -294,7 +295,7 @@ S M T W T F S November 2009
|
|||
29 30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -305,9 +306,9 @@ S M T W T F S November 2009
|
|||
}
|
||||
),
|
||||
'next november on a calendar' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -318,9 +319,9 @@ S M T W T F S November 2009
|
|||
}
|
||||
),
|
||||
'calendar for november' => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -339,7 +340,7 @@ S M T W T F S November 2009
|
|||
29 30
|
||||
",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -351,9 +352,9 @@ S M T W T F S November 2009
|
|||
),
|
||||
'22/8/2003 to the hijri calendar' => undef,
|
||||
"today's calendar" => test_zci(
|
||||
qr/\nS M T W T F S [A-Z][a-z]+ [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S [A-Z][a-z]+ [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -364,9 +365,9 @@ S M T W T F S November 2009
|
|||
}
|
||||
),
|
||||
"november's calendar" => test_zci(
|
||||
qr/\nS M T W T F S November [0-9]{4}\n.+/,
|
||||
re(qr/\nS M T W T F S November [0-9]{4}\n.+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -379,14 +380,14 @@ S M T W T F S November 2009
|
|||
);
|
||||
|
||||
# Special focus on relative dates, examining the "today" circle
|
||||
my $test_location_tz = qr/\(EDT, UTC-4\)/;
|
||||
my $test_location_tz = re(qr/\(EDT, UTC-4\)/);
|
||||
set_fixed_time("2014-06-11T09:45:56");
|
||||
ddg_goodie_test(
|
||||
[qw(
|
||||
DDG::Goodie::CalendarToday
|
||||
)],
|
||||
"calendar yesterday" => test_zci(
|
||||
qr/June 2014.*\|10\|/s,
|
||||
re(qr/June 2014.*\|10\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2014",
|
||||
|
@ -445,7 +446,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar today" => test_zci(
|
||||
qr/June 2014.*\|11\|/s,
|
||||
re(qr/June 2014.*\|11\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2014",
|
||||
|
@ -504,7 +505,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar tomorrow" => test_zci(
|
||||
qr/June 2014.*\|12\|/s,
|
||||
re(qr/June 2014.*\|12\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2014",
|
||||
|
@ -563,7 +564,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar 20 days ago" => test_zci(
|
||||
qr/May 2014.*\|22\|/s,
|
||||
re(qr/May 2014.*\|22\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "May 2014",
|
||||
|
@ -627,7 +628,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar in 20 days" => test_zci(
|
||||
qr/July 2014.*\| 1\|/s,
|
||||
re(qr/July 2014.*\| 1\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "July 2014",
|
||||
|
@ -689,7 +690,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar last week" => test_zci(
|
||||
qr/June 2014.*\| 4\|/s,
|
||||
re(qr/June 2014.*\| 4\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2014",
|
||||
|
@ -748,7 +749,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar next week" =>
|
||||
test_zci(qr/June 2014.*\|18\|/s,
|
||||
test_zci(re(qr/June 2014.*\|18\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2014",
|
||||
|
@ -807,7 +808,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar last year" =>
|
||||
test_zci(qr/June 2013.*\|11\|/s,
|
||||
test_zci(re(qr/June 2013.*\|11\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2013",
|
||||
|
@ -874,7 +875,7 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"calendar next year" =>
|
||||
test_zci(qr/June 2015.*\|11\|/s,
|
||||
test_zci(re(qr/June 2015.*\|11\|/s),
|
||||
structured_answer => {
|
||||
data => {
|
||||
month_year => "June 2015",
|
||||
|
@ -937,4 +938,3 @@ ddg_goodie_test(
|
|||
restore_time();
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "calling_codes";
|
||||
|
@ -93,4 +94,4 @@ ddg_goodie_test(
|
|||
"calling code 599" => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "camel_case";
|
||||
|
@ -44,4 +45,4 @@ ddg_goodie_test(
|
|||
'camelcase this' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'chars';
|
||||
|
@ -103,4 +104,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'chess960_position';
|
||||
|
@ -15,7 +16,7 @@ ddg_goodie_test(
|
|||
'chess960 random' => test_zci(
|
||||
'Chess 960',
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => "text",
|
||||
item => 0,
|
||||
|
@ -28,4 +29,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
use Test::MockTime qw( :all );
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -132,4 +133,3 @@ ddg_goodie_test(
|
|||
restore_time();
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "coffee_to_water_ratio";
|
||||
|
@ -79,4 +80,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
43
t/Coin.t
43
t/Coin.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'coin';
|
||||
|
@ -11,85 +12,85 @@ zci is_cached => 0;
|
|||
ddg_goodie_test(
|
||||
[qw( DDG::Goodie::Coin )],
|
||||
'flip a coin' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'flip coin' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'flip 1 coin' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'flip 2 coins' => test_zci(
|
||||
qr/(heads|tails), (heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails), (heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [2],
|
||||
operation => 'Flip coin',
|
||||
result => qr/(heads|tails), /
|
||||
result => re(qr/(heads|tails), /)
|
||||
}
|
||||
),
|
||||
'toss a coin' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'toss 1 coin' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'toss 2 coins' => test_zci(
|
||||
qr/(heads|tails), (heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails), (heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [2],
|
||||
operation => 'Flip coin',
|
||||
result => qr/(heads|tails), /
|
||||
result => re(qr/(heads|tails), /)
|
||||
}
|
||||
),
|
||||
'heads or tails' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'heads or tails?' => test_zci(
|
||||
qr/(heads|tails) \(random\)/,
|
||||
re(qr/(heads|tails) \(random\)/),
|
||||
structured_answer => {
|
||||
input => [1],
|
||||
operation => 'Flip coin',
|
||||
result => qr/^(heads|tails)$/
|
||||
result => re(qr/^(heads|tails)$/)
|
||||
}
|
||||
),
|
||||
'flip 4 coins' => test_zci(
|
||||
qr/((heads|tails),? ){4}\(random\)/,
|
||||
re(qr/((heads|tails),? ){4}\(random\)/),
|
||||
structured_answer => {
|
||||
input => [4],
|
||||
operation => 'Flip coin',
|
||||
result => qr/(heads|tails),? /
|
||||
result => re(qr/(heads|tails),? /)
|
||||
}
|
||||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'color_code';
|
||||
|
@ -13,7 +14,7 @@ my $green_answer = 'Hex: #00FF00 ~ RGBA(0, 255, 0, 1) ~ RGB(0%, 100%, 0%) ~ HSL(
|
|||
|
||||
my %basic_answer = (
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "combination";
|
||||
|
@ -38,4 +39,4 @@ ddg_goodie_test(
|
|||
'1000000000000 choose 2000' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
use utf8;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "constants";
|
||||
|
@ -54,4 +55,4 @@ ddg_goodie_test(
|
|||
"why?" => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -2,6 +2,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
zci answer_type => 'conversions';
|
||||
|
@ -2815,4 +2816,4 @@ ddg_goodie_test(
|
|||
'1E300 miles in metres' => undef,
|
||||
'5 pas.i to atm' => undef,
|
||||
);
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -102,14 +103,14 @@ ddg_goodie_test(
|
|||
'convert 39.75 degrees to farenheit' => undef,
|
||||
|
||||
#Check for to-format name
|
||||
'16.5° S, 68.15° W dms' => test_zci(qr/./,
|
||||
'16.5° S, 68.15° W dms' => test_zci(re(qr/./),
|
||||
structured_answer => {
|
||||
input => ["16.5° S", "68.15° W"],
|
||||
operation => "Convert to DMS",
|
||||
result => "16° 30′ S, 68° 9′ W",
|
||||
}
|
||||
),
|
||||
'16° 30′ S, 68° 9′ W decimal' => test_zci(qr/./,
|
||||
'16° 30′ S, 68° 9′ W decimal' => test_zci(re(qr/./),
|
||||
structured_answer => {
|
||||
input => ["16° 30′ S", "68° 9′ W"],
|
||||
operation => "Convert to decimal",
|
||||
|
@ -119,4 +120,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "country_codes";
|
||||
|
@ -44,4 +45,4 @@ ddg_goodie_test(
|
|||
'iso code for english' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'crypthashcheck';
|
||||
|
@ -171,4 +172,3 @@ ddg_goodie_test(
|
|||
|
||||
done_testing;
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'currency_in';
|
||||
|
@ -84,4 +85,4 @@ ddg_goodie_test(
|
|||
)
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
60
t/Cusip.t
60
t/Cusip.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "cusip";
|
||||
|
@ -56,7 +57,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip check 037833100' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -64,7 +65,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 844741108' => test_zci("844741108 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -72,7 +73,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'037833100 cusip' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -80,7 +81,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'037833100 cusip check' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -90,7 +91,7 @@ ddg_goodie_test(
|
|||
# starting white space should be stripped
|
||||
'cusip 037833100' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -100,7 +101,7 @@ ddg_goodie_test(
|
|||
# ending white space should be stripped
|
||||
'cusip 037833100 ' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -110,7 +111,7 @@ ddg_goodie_test(
|
|||
# starting and ending white space should be stripped
|
||||
'cusip 037833100 ' => test_zci("037833100 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -120,7 +121,7 @@ ddg_goodie_test(
|
|||
# same AAPL queries with an incorrect check digit
|
||||
'cusip 03783310A' => test_zci("03783310A is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -128,7 +129,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 03783310A' => test_zci("03783310A is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -136,7 +137,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 03783310A ' => test_zci("03783310A is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -144,7 +145,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 03783310A ' => test_zci("03783310A is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -154,7 +155,7 @@ ddg_goodie_test(
|
|||
# check CUSIP IDs with capital letters (these are for GOOG and Blackberry)
|
||||
'cusip 38259P706' => test_zci("38259P706 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -162,7 +163,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 38259P508' => test_zci("38259P508 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -170,7 +171,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 09228F103' => test_zci("09228F103 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -180,7 +181,7 @@ ddg_goodie_test(
|
|||
# check the same CUSIP IDs with lower case letters
|
||||
'cusip 38259p706' => test_zci("38259P706 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -188,7 +189,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 38259p508' => test_zci("38259P508 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -196,7 +197,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 09228f103' => test_zci("09228F103 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -208,7 +209,7 @@ ddg_goodie_test(
|
|||
# if possible, these tests should be replaced with verified CUSIP IDs
|
||||
'cusip 037833*00' => test_zci("037833*00 is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -216,7 +217,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 037833*02' => test_zci("037833*02 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -224,7 +225,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 0378331#0' => test_zci("0378331#0 is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -232,7 +233,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 0378331#7' => test_zci("0378331#7 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -240,7 +241,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 037833@00' => test_zci("037833\@00 is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -248,7 +249,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 037833@01' => test_zci("037833\@01 is a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -259,7 +260,7 @@ ddg_goodie_test(
|
|||
# even though they are always invalid IDs
|
||||
'cusip 03783310*' => test_zci("03783310* is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -267,7 +268,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 03783310#' => test_zci("03783310# is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -275,7 +276,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip 03783310@' => test_zci("03783310\@ is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -285,7 +286,7 @@ ddg_goodie_test(
|
|||
# Odd CUSIP IDs should not break the IA
|
||||
'cusip ********8' => test_zci("********8 is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -293,7 +294,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip ########9' => test_zci("########9 is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -301,7 +302,7 @@ ddg_goodie_test(
|
|||
),
|
||||
'cusip @#*@#*@#*' => test_zci("\@#*\@#*\@#* is not a properly formatted CUSIP number.",
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
}
|
||||
|
@ -310,4 +311,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
2
t/DHL.t
2
t/DHL.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'dhl';
|
||||
|
@ -28,4 +29,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use Test::MockTime qw( :all );
|
||||
use DDG::Test::Goodie;
|
||||
use DDG::Test::Location;
|
||||
|
@ -125,4 +126,4 @@ location_test([ qw( DDG::Goodie::DateMath ) ],
|
|||
'time ago' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use Test::MockTime qw( :all );
|
||||
|
||||
|
@ -70,4 +71,4 @@ ddg_goodie_test(
|
|||
|
||||
restore_time();
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use Test::MockTime qw( :all );
|
||||
|
||||
|
@ -76,57 +77,57 @@ ddg_goodie_test(
|
|||
},
|
||||
),
|
||||
'days between jan 1 and jan 15 inclusive' => test_zci(
|
||||
qr/^There are 15 days between.+inclusive\.$/,
|
||||
re(qr/^There are 15 days between.+inclusive\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between, inclusive',
|
||||
result => 15
|
||||
},
|
||||
),
|
||||
'days between jan 1 and 15th feb' => test_zci(
|
||||
qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/,
|
||||
re(qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 45
|
||||
},
|
||||
),
|
||||
'number of days between jan 1 and 15th feb' => test_zci(
|
||||
qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/,
|
||||
re(qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 45
|
||||
},
|
||||
),
|
||||
'number of days from jan 1 and 15th feb' => test_zci(
|
||||
qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/,
|
||||
re(qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 45
|
||||
},
|
||||
),
|
||||
'days from jan 1 and 15th feb' => test_zci(
|
||||
qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/,
|
||||
re(qr/^There are 45 days between.+and 15 Feb [0-9]{4}\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 45
|
||||
},
|
||||
),
|
||||
'days between today and tomorrow' => test_zci(
|
||||
qr/^There are 1 days between.+ and.+\.$/,
|
||||
re(qr/^There are 1 days between.+ and.+\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 1
|
||||
},
|
||||
),
|
||||
'how many days between feb 2 and feb 17' => test_zci(
|
||||
qr/^There are 15 days between.+ and.+\.$/,
|
||||
re(qr/^There are 15 days between.+ and.+\.$/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Days between',
|
||||
result => 15
|
||||
},
|
||||
|
@ -149,4 +150,4 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
restore_time();
|
||||
done_testing;
|
||||
done_testing;
|
39
t/Dessert.t
39
t/Dessert.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'dessert';
|
||||
|
@ -13,81 +14,81 @@ ddg_goodie_test(
|
|||
'DDG::Goodie::Dessert'
|
||||
],
|
||||
'desserts beginning with a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'desserts beginning with A' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'A'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'A'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'dessert start with a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'desserts starting with a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'dessert starts with a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'desserts beginning with z' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'z'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'z'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'a dessert that begins with a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'a dessert that starts with the letter a' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'a'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'a'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
}
|
||||
),
|
||||
'dessert that begins with the letter z' => test_zci(
|
||||
qr/(.*?) is a dessert that begins with 'z'\.$/,
|
||||
re(qr/(.*?) is a dessert that begins with 'z'\.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
}
|
||||
|
@ -95,4 +96,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'dewey_decimal';
|
||||
|
@ -21,4 +22,4 @@ ddg_goodie_test(
|
|||
'dewey 644' => test_zci('644 is household utilities in the Dewey Decimal System.', html => '644 is <a href="/?q=household">household</a> utilities in the Dewey Decimal System.'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
111
t/Dice.t
111
t/Dice.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'dice_roll';
|
||||
|
@ -17,9 +18,9 @@ ddg_goodie_test(
|
|||
|
||||
# Check trigger kicks in.
|
||||
'throw dice' => test_zci(
|
||||
qr/^., .$/,
|
||||
re(qr/^., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -29,9 +30,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'throw dices' => test_zci(
|
||||
qr/^., .$/,
|
||||
re(qr/^., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -41,9 +42,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'roll dice' => test_zci(
|
||||
qr/^., .$/,
|
||||
re(qr/^., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -53,9 +54,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'throw die' => test_zci(
|
||||
qr/^.$/,
|
||||
re(qr/^.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -68,9 +69,9 @@ ddg_goodie_test(
|
|||
|
||||
# Simple "dice" query
|
||||
"roll 5 dice" => test_zci(
|
||||
qr/., ., ., ., .$/,
|
||||
re(qr/., ., ., ., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -82,9 +83,9 @@ ddg_goodie_test(
|
|||
|
||||
# Simple shorthand query
|
||||
"roll 2d6" => test_zci(
|
||||
qr/^\d (\+|-) \d$/,
|
||||
re(qr/^\d (\+|-) \d$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -96,9 +97,9 @@ ddg_goodie_test(
|
|||
|
||||
# Query with numbers as words
|
||||
"roll five dice" => test_zci(
|
||||
qr/., ., ., ., .$/,
|
||||
re(qr/., ., ., ., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -108,9 +109,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll twenty five dice" => test_zci(
|
||||
qr/., ., ., ., .$/,
|
||||
re(qr/., ., ., ., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -120,9 +121,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll fifty-four dice" => test_zci(
|
||||
qr/., ., ., ., .$/,
|
||||
re(qr/., ., ., ., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -132,9 +133,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll seven dices" => test_zci(
|
||||
qr/., ., ., ., .$/,
|
||||
re(qr/., ., ., ., .$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -147,9 +148,9 @@ ddg_goodie_test(
|
|||
"roll foo dice" => undef,
|
||||
|
||||
"throw 1d20" => test_zci(
|
||||
qr/^\d{1,2}$/,
|
||||
re(qr/^\d{1,2}$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -159,9 +160,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll d20" => test_zci(
|
||||
qr/^\d{1,2}$/,
|
||||
re(qr/^\d{1,2}$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -173,9 +174,9 @@ ddg_goodie_test(
|
|||
|
||||
# Simple shorthand queries with +-
|
||||
"roll 3d12 + 4" => test_zci(
|
||||
qr/^\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2}$/,
|
||||
re(qr/^\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2}$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -185,9 +186,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll 3d8 - 8" => test_zci(
|
||||
qr/^\d (\+|-) \d (\+|-) \d (\+|-) \d$/,
|
||||
re(qr/^\d (\+|-) \d (\+|-) \d (\+|-) \d$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -197,9 +198,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll 4d6-l" => test_zci(
|
||||
qr/^([1-6] \+ ){3}[1-6] - [1-6]$/,
|
||||
re(qr/^([1-6] \+ ){3}[1-6] - [1-6]$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -211,9 +212,9 @@ ddg_goodie_test(
|
|||
|
||||
# Simple conjunctive "dice" query
|
||||
"throw 2 dice and 3 dice" => test_zci(
|
||||
qr/., .., ., .Total: \d+$/,
|
||||
re(qr/., .., ., .Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -225,9 +226,9 @@ ddg_goodie_test(
|
|||
|
||||
# Shorthand conjunctive query
|
||||
"roll 2w6 and d20" => test_zci(
|
||||
qr/^\d (\+|-) \d = \d+\d+Total: \d+$/,
|
||||
re(qr/^\d (\+|-) \d = \d+\d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -239,9 +240,9 @@ ddg_goodie_test(
|
|||
|
||||
# Shorthand conjunctive queries with +-
|
||||
"roll 2d6 and 3d12 + 4" => test_zci(
|
||||
qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/,
|
||||
re(qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -251,9 +252,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll 2d6 and 3d12 - 4" => test_zci(
|
||||
qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = -?\d+Total: \d+$/,
|
||||
re(qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = -?\d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -263,9 +264,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"throw 3d12 - 4 and 2d6" => test_zci(
|
||||
qr/^\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = -?\d{1,2}\d (\+|-) \d = \d+Total: \d+$/,
|
||||
re(qr/^\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = -?\d{1,2}\d (\+|-) \d = \d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -275,9 +276,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"throw 2d6 and 3d12 + 4" => test_zci(
|
||||
qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/,
|
||||
re(qr/^\d (\+|-) \d = \d+\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -287,9 +288,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll 2d6 and 4w6-l" => test_zci(
|
||||
qr/^\d (\+|-) \d = \d+([1-6] \+ ){3}[1-6] - [1-6] = \d{1,2}Total: \d+$/,
|
||||
re(qr/^\d (\+|-) \d = \d+([1-6] \+ ){3}[1-6] - [1-6] = \d{1,2}Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -299,9 +300,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
"roll 2 dice and 3d5 + 4" => test_zci(
|
||||
qr/^., .\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/,
|
||||
re(qr/^., .\d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} (\+|-) \d{1,2} = \d+Total: \d+$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -325,9 +326,9 @@ ddg_goodie_test(
|
|||
"roll 2d3 and 2d4-a" => undef,
|
||||
|
||||
"throw die" => test_zci(
|
||||
qr/^.$/,
|
||||
re(qr/^.$/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -338,9 +339,9 @@ ddg_goodie_test(
|
|||
),
|
||||
|
||||
'roll 3d12' => test_zci(
|
||||
qr/\d{1,2} \+ \d{1,2} \+ \d{1,2}/,
|
||||
re(qr/\d{1,2} \+ \d{1,2} \+ \d{1,2}/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
options => {
|
||||
|
@ -350,9 +351,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'roll 3d12 and 2d4' => test_zci(
|
||||
qr/\d{1,2} \+ \d{1,2} \+ \d{1,2} = \d+[1-4]+ \+ [1-4]+ = \dTotal: \d+/,
|
||||
re(qr/\d{1,2} \+ \d{1,2} \+ \d{1,2} = \d+[1-4]+ \+ [1-4]+ = \dTotal: \d+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -362,9 +363,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'roll 2 dice and 3d5' => test_zci(
|
||||
qr/[1-5]+ \+ [1-5]+ \+ [1-5]+ = \d+Total: \d+/,
|
||||
re(qr/[1-5]+ \+ [1-5]+ \+ [1-5]+ = \d+Total: \d+/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'list',
|
||||
options => {
|
||||
|
@ -375,4 +376,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'duckduckgo';
|
||||
|
@ -174,4 +175,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'conversion';
|
||||
|
@ -41,4 +42,4 @@ ddg_goodie_test(
|
|||
'11px to em at base-pixel size 23px' => build_test('0.478em', '11', 'px', '23'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'email_validation';
|
||||
|
@ -11,63 +12,63 @@ zci is_cached => 1;
|
|||
ddg_goodie_test(
|
||||
['DDG::Goodie::EmailValidator'],
|
||||
'validate my email foo@example.com' => test_zci(
|
||||
qr/appears to be valid/,
|
||||
re(qr/appears to be valid/),
|
||||
structured_answer => {
|
||||
input => ['foo@example.com'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/appears to be valid/
|
||||
result => re(qr/appears to be valid/)
|
||||
}
|
||||
),
|
||||
'validate my email foo+abc@example.com' => test_zci(
|
||||
qr/appears to be valid/,
|
||||
re(qr/appears to be valid/),
|
||||
structured_answer => {
|
||||
input => ['foo+abc@example.com'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/appears to be valid/
|
||||
result => re(qr/appears to be valid/)
|
||||
}
|
||||
),
|
||||
'validate my email foo.bar@example.com' => test_zci(
|
||||
qr/appears to be valid/,
|
||||
re(qr/appears to be valid/),
|
||||
structured_answer => {
|
||||
input => ['foo.bar@example.com'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/appears to be valid/
|
||||
result => re(qr/appears to be valid/)
|
||||
}
|
||||
),
|
||||
'validate user@exampleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com'
|
||||
=> test_zci(
|
||||
qr/Please check the address/,
|
||||
re(qr/Please check the address/),
|
||||
structured_answer => {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => 'Email address validation',
|
||||
result => qr/Please check the address/,
|
||||
result => re(qr/Please check the address/),
|
||||
}
|
||||
),
|
||||
'validate foo@example.com' => test_zci(
|
||||
qr/appears to be valid/,
|
||||
re(qr/appears to be valid/),
|
||||
structured_answer => {
|
||||
input => ['foo@example.com'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/appears to be valid/
|
||||
result => re(qr/appears to be valid/)
|
||||
}
|
||||
),
|
||||
'validate foo@!!!.com' => test_zci(
|
||||
qr/Please check the fully qualified domain name/,
|
||||
re(qr/Please check the fully qualified domain name/),
|
||||
structured_answer => {
|
||||
input => ['foo@!!!.com'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/Please check the fully qualified domain name/,
|
||||
result => re(qr/Please check the fully qualified domain name/),
|
||||
}
|
||||
),
|
||||
'validate foo@example.lmnop' => test_zci(
|
||||
qr/Please check the top-level domain/,
|
||||
re(qr/Please check the top-level domain/),
|
||||
structured_answer => {
|
||||
input => ['foo@example.lmnop'],
|
||||
operation => 'Email address validation',
|
||||
result => qr/Please check the top-level domain/,
|
||||
result => re(qr/Please check the top-level domain/),
|
||||
}
|
||||
),
|
||||
'validate foo' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'figlet';
|
||||
|
@ -205,4 +206,4 @@ ddg_goodie_test(
|
|||
'big text' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "factors";
|
||||
|
@ -30,4 +31,4 @@ ddg_goodie_test(
|
|||
'72 factors' => build_test('Factors of 72: 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72', '72', '1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36, 72'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'fedex';
|
||||
|
@ -33,4 +34,4 @@ ddg_goodie_test(
|
|||
)
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "fen_viewer";
|
||||
|
@ -20,4 +21,4 @@ ddg_goodie_test(
|
|||
'fen ' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'fibonacci';
|
||||
|
@ -30,4 +31,4 @@ ddg_goodie_test(
|
|||
'what are fibonacci numbers?' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "firefoxos";
|
||||
|
@ -10,7 +11,7 @@ zci is_cached => 1;
|
|||
|
||||
#Structured answer template data
|
||||
my $templateData = {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
meta => {
|
||||
sourceName => "Mozilla Developer Network",
|
||||
sourceUrl => "https://developer.mozilla.org/en-US/Apps/Reference/Firefox_OS_device_APIs"
|
||||
|
@ -39,4 +40,4 @@ ddg_goodie_test(
|
|||
'firefox os api' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
use utf8;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'flip_text';
|
||||
|
@ -38,4 +39,4 @@ ddg_goodie_test(
|
|||
'spin text <<"hello\' % & * () = + . #@!^(/world">>' => build_test('<<"hello\' % & * () = + . #@!^(/world">>','<<„pʃɹoʍ/)∨¡@# ˙ + = () ⁎ ⅋ % ,oʃʃǝɥ„>>'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -34,4 +34,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci is_cached => 1;
|
||||
|
@ -26,4 +27,4 @@ ddg_goodie_test(
|
|||
'frequency of B in battle' => test_zci('Frequency: b:1/6'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -8,6 +8,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'frequency_spectrum';
|
||||
|
@ -18,10 +19,10 @@ ddg_goodie_test(
|
|||
|
||||
#Primary example
|
||||
'50 hz' => test_zci(
|
||||
#qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/,
|
||||
qr/radio/,
|
||||
#re(qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/),
|
||||
re(qr/radio/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -34,9 +35,9 @@ ddg_goodie_test(
|
|||
|
||||
#Secondary example
|
||||
'400 thz' => test_zci(
|
||||
qr/infrared/,
|
||||
re(qr/infrared/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -49,10 +50,10 @@ ddg_goodie_test(
|
|||
|
||||
#Misc
|
||||
'1,000 hz' => test_zci(
|
||||
#qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/,
|
||||
qr/radio/,
|
||||
#re(qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/),
|
||||
re(qr/radio/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -63,9 +64,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'1000000.99 hz' => test_zci(
|
||||
qr/radio.+MF/,
|
||||
re(qr/radio.+MF/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -76,9 +77,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'29.1 hz' => test_zci(
|
||||
qr/radio.+ELF/,
|
||||
re(qr/radio.+ELF/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -91,10 +92,10 @@ ddg_goodie_test(
|
|||
|
||||
#No whitespace between number and unit
|
||||
'50hz' => test_zci(
|
||||
#qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/,
|
||||
qr/radio/,
|
||||
#re(qr/radio.+SLF.+audible.+double-bass.+piano.+tuba/),
|
||||
re(qr/radio/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -105,9 +106,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'400terahertz' => test_zci(
|
||||
qr/infrared/,
|
||||
re(qr/infrared/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -120,9 +121,9 @@ ddg_goodie_test(
|
|||
|
||||
#Mixed case
|
||||
'400 THz' => test_zci(
|
||||
qr/infrared/,
|
||||
re(qr/infrared/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -134,10 +135,10 @@ ddg_goodie_test(
|
|||
),
|
||||
|
||||
'1000 HZ' => test_zci(
|
||||
#qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/,
|
||||
qr/radio/,
|
||||
#re(qr/radio.+audible.+human.+voice.+viola.+violin.+guitar.+mandolin.+banjo.+piano.+saxophone.+flute.+clarinet.+oboe/),
|
||||
re(qr/radio/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -150,9 +151,9 @@ ddg_goodie_test(
|
|||
|
||||
#Commas in number
|
||||
'1,000,000.99 hz' => test_zci(
|
||||
qr/radio.+MF/,
|
||||
re(qr/radio.+MF/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -165,9 +166,9 @@ ddg_goodie_test(
|
|||
|
||||
#Can you test with all the colours of the wind?
|
||||
'650 nm' => test_zci(
|
||||
qr/visible.+red/,
|
||||
re(qr/visible.+red/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -178,9 +179,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'610 nanometers' => test_zci(
|
||||
qr/visible.+orange/,
|
||||
re(qr/visible.+orange/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -191,9 +192,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'580 nanometres' => test_zci(
|
||||
qr/visible.+yellow/,
|
||||
re(qr/visible.+yellow/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -204,9 +205,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'536 nanometer' => test_zci(
|
||||
qr/visible.+green/,
|
||||
re(qr/visible.+green/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -217,9 +218,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'478.1 nm' => test_zci(
|
||||
qr/visible.+blue/,
|
||||
re(qr/visible.+blue/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -230,9 +231,9 @@ ddg_goodie_test(
|
|||
}
|
||||
),
|
||||
'380.000000000 nanometres' => test_zci(
|
||||
qr/visible.+violet/,
|
||||
re(qr/visible.+violet/),
|
||||
structured_answer => {
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'text',
|
||||
item => 0,
|
||||
|
@ -258,4 +259,4 @@ ddg_goodie_test(
|
|||
'600 nmeters' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
5
t/GUID.t
5
t/GUID.t
|
@ -3,12 +3,13 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'guid';
|
||||
zci is_cached => 0;
|
||||
|
||||
my @answer = (qr/^([a-zA-Z]|\d){8}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){12}$/, structured_answer => { input =>[], operation => 'Random GUID', result =>qr/^([a-zA-Z]|\d){8}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){12}$/});
|
||||
my @answer = (re(qr/^([a-zA-Z]|\d){8}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){12}$/), structured_answer => { input =>[], operation => 'Random GUID', result =>re(qr/^([a-zA-Z]|\d){8}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){4}-([a-zA-Z]|\d){12}$/)});
|
||||
|
||||
ddg_goodie_test([qw( DDG::Goodie::GUID ) ],
|
||||
|
||||
|
@ -25,4 +26,4 @@ ddg_goodie_test([qw( DDG::Goodie::GUID ) ],
|
|||
'what is a guid' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 2048;
|
||||
|
@ -16,7 +17,7 @@ ddg_goodie_test(
|
|||
'Play 2048',
|
||||
structured_answer => {
|
||||
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
|
||||
# data => [{
|
||||
# dimension => 4,
|
||||
|
@ -35,7 +36,7 @@ ddg_goodie_test(
|
|||
'Play 256',
|
||||
structured_answer => {
|
||||
|
||||
data => '-ANY-',
|
||||
data => ignore(),
|
||||
|
||||
# data => [{
|
||||
# dimension => 7,
|
||||
|
@ -53,4 +54,4 @@ ddg_goodie_test(
|
|||
'2048 online' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -35,4 +35,4 @@ ddg_goodie_test(
|
|||
'please generate mac address' => build_test(),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -1,6 +1,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -9,8 +10,8 @@ zci is_cached => 0;
|
|||
|
||||
sub build_result {
|
||||
my $result = shift;
|
||||
return $result, structured_answer => {
|
||||
data => "-ANY-",
|
||||
return re($result), structured_answer => {
|
||||
data => ignore(),
|
||||
templates => {
|
||||
group => 'info',
|
||||
options => {
|
||||
|
@ -75,4 +76,4 @@ ddg_goodie_test(
|
|||
'30 words of utter Shakespearean nonsense' => build_test(werds($shake_word, 30)),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'golden_ratio';
|
||||
|
@ -29,4 +30,4 @@ ddg_goodie_test(
|
|||
'golden ratio ?:123.345' => test_zci('Golden ratio: 76.2314023423558 : 123.345'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "greatest_common_factor";
|
||||
|
@ -46,4 +47,4 @@ ddg_goodie_test(
|
|||
'gcd 0 0' => build_test('0 and 0', 0),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'guitarchord';
|
||||
|
@ -14,32 +15,32 @@ ddg_goodie_test(
|
|||
'G#m6 guitar chord' => test_zci(
|
||||
'G#m6',
|
||||
heading=>'G#m6',
|
||||
html => qr#.*Guitar chord diagram for G\#m6.*#s
|
||||
html => re(qr#.*Guitar chord diagram for G\#m6.*#s)
|
||||
),
|
||||
'Abaug7 guitar chord' => test_zci(
|
||||
'Abaug7',
|
||||
heading=>'Abaug7',
|
||||
html => qr#.*Guitar chord diagram for Abaug7.*#s
|
||||
html => re(qr#.*Guitar chord diagram for Abaug7.*#s)
|
||||
),
|
||||
'A7/b9 guitar chord' => test_zci(
|
||||
'A7(b9)',
|
||||
heading=>'A7(b9)',
|
||||
html => qr#.*Guitar chord diagram for A7\(b9\).*#s
|
||||
html => re(qr#.*Guitar chord diagram for A7\(b9\).*#s)
|
||||
),
|
||||
'guitar chord Cm7' => test_zci(
|
||||
'Cm7',
|
||||
heading=>'Cm7',
|
||||
html => qr#.*Guitar chord diagram for Cm7.*#s
|
||||
html => re(qr#.*Guitar chord diagram for Cm7.*#s)
|
||||
),
|
||||
'guitar chord Db7sus4' => test_zci(
|
||||
'Db7sus4',
|
||||
heading=>'Db7sus4',
|
||||
html => qr#.*Guitar chord diagram for Db7sus4.*#s
|
||||
html => re(qr#.*Guitar chord diagram for Db7sus4.*#s)
|
||||
),
|
||||
'guitar chord f min' => test_zci(
|
||||
'Fm',
|
||||
heading=>'Fm',
|
||||
html => qr#.*Guitar chord diagram for Fm.*#s
|
||||
html => re(qr#.*Guitar chord diagram for Fm.*#s)
|
||||
),
|
||||
# check that certain things don't trigger it:
|
||||
'C# programming' => undef,
|
||||
|
@ -50,4 +51,4 @@ ddg_goodie_test(
|
|||
'G' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
2
t/HKDK.t
2
t/HKDK.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'hkdk';
|
||||
|
@ -23,4 +24,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'html_entity';
|
||||
|
@ -10,8 +11,8 @@ zci is_cached => 1;
|
|||
|
||||
sub any_structured_answer {
|
||||
return {
|
||||
input => '-ANY-',
|
||||
result => '-ANY-',
|
||||
input => ignore(),
|
||||
result => ignore(),
|
||||
operation => "HTML Entity Decode"
|
||||
};
|
||||
}
|
||||
|
@ -36,9 +37,9 @@ ddg_goodie_test(
|
|||
'htmlentity for #x3c' => test_zci("Decoded HTML Entity: <", structured_answer => any_structured_answer()),
|
||||
|
||||
# "¢" succeeds
|
||||
'html decode ¢' => test_zci(qr/.*/, structured_answer => any_structured_answer()),
|
||||
'html decode ¢' => test_zci(re(qr/.*/), structured_answer => any_structured_answer()),
|
||||
# "¢" also succeeds (missing back ";" is OK)
|
||||
'html decode ¢' => test_zci(qr/.*/, structured_answer => any_structured_answer()),
|
||||
'html decode ¢' => test_zci(re(qr/.*/), structured_answer => any_structured_answer()),
|
||||
# "cent" fails during the regex match because of the missing front "&" (stricter for text to eliminate false positive encoding hits)
|
||||
'html decode cent' => undef,
|
||||
# "cent;" fails during the regex match for the same reasons as above
|
||||
|
@ -55,11 +56,11 @@ ddg_goodie_test(
|
|||
'html decode apostrophe' => undef,
|
||||
|
||||
# natural querying
|
||||
'What is the decoded html entity for π?' => test_zci(qr/.*/, structured_answer => any_structured_answer()),
|
||||
'What is the decoded html entity for π?' => test_zci(re(qr/.*/), structured_answer => any_structured_answer()),
|
||||
# natural querying
|
||||
'what is decoded html entity for #960 ?' => test_zci(qr/.*/, structured_answer => any_structured_answer()),
|
||||
'what is decoded html entity for #960 ?' => test_zci(re(qr/.*/), structured_answer => any_structured_answer()),
|
||||
# no "html" in query
|
||||
'the decoded entity for ō is?' => test_zci(qr/.*/, structured_answer => any_structured_answer()),
|
||||
'the decoded entity for ō is?' => test_zci(re(qr/.*/), structured_answer => any_structured_answer()),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -12,7 +13,7 @@ zci is_cached => 1;
|
|||
sub make_structured_answer {
|
||||
my ($qr) = @_;
|
||||
return {
|
||||
input => '-ANY-',
|
||||
input => ignore(),
|
||||
operation => "HTML Entity Encode",
|
||||
result => $qr,
|
||||
};
|
||||
|
@ -40,26 +41,26 @@ ddg_goodie_test(
|
|||
[qw(DDG::Goodie::HTMLEntitiesEncode)],
|
||||
|
||||
# Simple tests
|
||||
'html code em dash' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(qr/mdash/)),
|
||||
'html em dash' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(qr/mdash/)),
|
||||
'em-dash html' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(qr/mdash/)), # hyphens ignored
|
||||
'html encode "em-dash"' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(qr/mdash/)), # quotes ignored
|
||||
'ApoSTrophe escapehtml' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(qr/#39/)), # mixed cases in query
|
||||
'html code em dash' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(re(qr/mdash/))),
|
||||
'html em dash' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(re(qr/mdash/))),
|
||||
'em-dash html' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(re(qr/mdash/))), # hyphens ignored
|
||||
'html encode "em-dash"' => test_zci("Encoded HTML Entity: —", structured_answer => make_structured_answer(re(qr/mdash/))), # quotes ignored
|
||||
'ApoSTrophe escapehtml' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(re(qr/#39/))), # mixed cases in query
|
||||
|
||||
# Basic varieties in querying accented chars
|
||||
'html entity A-acute' => test_zci("Encoded HTML Entity: Á",structured_answer => make_structured_answer(qr/Aacute/)),
|
||||
'html entity for E Grave' => test_zci("Encoded HTML Entity: È", structured_answer => make_structured_answer(qr/Egrave/)),
|
||||
'html Ograve' => test_zci("Encoded HTML Entity: Ò", structured_answer => make_structured_answer(qr/Ograve/)),
|
||||
'html entity A-acute' => test_zci("Encoded HTML Entity: Á",structured_answer => make_structured_answer(re(qr/Aacute/))),
|
||||
'html entity for E Grave' => test_zci("Encoded HTML Entity: È", structured_answer => make_structured_answer(re(qr/Egrave/))),
|
||||
'html Ograve' => test_zci("Encoded HTML Entity: Ò", structured_answer => make_structured_answer(re(qr/Ograve/))),
|
||||
|
||||
# Single typed-in character queries
|
||||
'html escape &' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(qr/amp/)), # &
|
||||
'html escape "' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(qr/quot/)), # "
|
||||
'how to html escape &?' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(qr/amp/)), # ?
|
||||
'how to html escape "&"?' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(qr/amp/)), # &
|
||||
'how to html escape ??' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(qr/#63/)), # ?
|
||||
'how do you html escape a "?"?' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(qr/#63/)), # ?
|
||||
'html escape """' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(qr/quot/)), # "
|
||||
'$ sign htmlentity' => test_zci("Encoded HTML Entity: $", structured_answer => make_structured_answer(qr/#36/)), # $
|
||||
'html escape &' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(re(qr/amp/))), # &
|
||||
'html escape "' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(re(qr/quot/))), # "
|
||||
'how to html escape &?' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(re(qr/amp/))), # ?
|
||||
'how to html escape "&"?' => test_zci("Encoded HTML Entity: &", structured_answer => make_structured_answer(re(qr/amp/))), # &
|
||||
'how to html escape ??' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(re(qr/#63/))), # ?
|
||||
'how do you html escape a "?"?' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(re(qr/#63/))), # ?
|
||||
'html escape """' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(re(qr/quot/))), # "
|
||||
'$ sign htmlentity' => test_zci("Encoded HTML Entity: $", structured_answer => make_structured_answer(re(qr/#36/))), # $
|
||||
|
||||
# Return two matching entities for ambiguous query
|
||||
'pound symbol html encode ' => test_zci(
|
||||
|
@ -71,9 +72,9 @@ ddg_goodie_test(
|
|||
),
|
||||
|
||||
# Ignore words and whitespace
|
||||
'html code of pilcrow sign' => test_zci("Encoded HTML Entity: ¶", structured_answer => make_structured_answer(qr/#182/)), # of, sign
|
||||
'html escape greater than symbol' => test_zci("Encoded HTML Entity: >", structured_answer => make_structured_answer(qr/gt/)), # symbol
|
||||
'space html character code' => test_zci("Encoded HTML Entity: ", structured_answer => make_structured_answer(qr/nbsp/)), # Ignore extra whitespace
|
||||
'html code of pilcrow sign' => test_zci("Encoded HTML Entity: ¶", structured_answer => make_structured_answer(re(qr/#182/))), # of, sign
|
||||
'html escape greater than symbol' => test_zci("Encoded HTML Entity: >", structured_answer => make_structured_answer(re(qr/gt/))), # symbol
|
||||
'space html character code' => test_zci("Encoded HTML Entity: ", structured_answer => make_structured_answer(re(qr/nbsp/))), # Ignore extra whitespace
|
||||
|
||||
# Better hash hits substitutions
|
||||
# 'right angle brackets' should work even though the defined key contains the singular 'bracket'
|
||||
|
@ -85,7 +86,7 @@ ddg_goodie_test(
|
|||
}, ["Single right pointing angle quote (›)", "Double right pointing angle quote (»)"], "right angle brackets")
|
||||
),
|
||||
# 'double quotes' should work even though the defined key contains the singular 'quote'
|
||||
'double quotes htmlescape' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(qr/quot/)),
|
||||
'double quotes htmlescape' => test_zci("Encoded HTML Entity: "", structured_answer => make_structured_answer(re(qr/quot/))),
|
||||
|
||||
# Should not work
|
||||
'html encode +' => undef,
|
||||
|
@ -93,24 +94,24 @@ ddg_goodie_test(
|
|||
'html encode is it magic' => undef,
|
||||
|
||||
# Natural querying
|
||||
'What is the html character code for pi' => test_zci("Encoded HTML Entity: π", structured_answer => make_structured_answer(qr/#960/)),
|
||||
'whatis html entity for en-dash' => test_zci("Encoded HTML Entity: –", structured_answer => make_structured_answer(qr/ndash/)), # whatis spelling
|
||||
'how do I escape the greater-than symbol html' => test_zci("Encoded HTML Entity: >", structured_answer => make_structured_answer(qr/gt/)),
|
||||
'What is the html character code for pi' => test_zci("Encoded HTML Entity: π", structured_answer => make_structured_answer(re(qr/#960/))),
|
||||
'whatis html entity for en-dash' => test_zci("Encoded HTML Entity: –", structured_answer => make_structured_answer(re(qr/ndash/))), # whatis spelling
|
||||
'how do I escape the greater-than symbol html' => test_zci("Encoded HTML Entity: >", structured_answer => make_structured_answer(re(qr/gt/))),
|
||||
|
||||
# the "a/A" belonging to "acute" matters, but the "a" immediately after "character" is removed
|
||||
'How to get a a acute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(qr/aacute/)),
|
||||
'how to get a a-acute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(qr/aacute/)),
|
||||
'how to get a aacute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(qr/aacute/)),
|
||||
'how to get a A acute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(qr/Aacute/)),
|
||||
'how to get a A-acute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(qr/Aacute/)),
|
||||
'how to get a Aacute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(qr/Aacute/)),
|
||||
'How to get a a acute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(re(qr/aacute/))),
|
||||
'how to get a a-acute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(re(qr/aacute/))),
|
||||
'how to get a aacute character in html code' => test_zci("Encoded HTML Entity: á", structured_answer => make_structured_answer(re(qr/aacute/))),
|
||||
'how to get a A acute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(re(qr/Aacute/))),
|
||||
'how to get a A-acute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(re(qr/Aacute/))),
|
||||
'how to get a Aacute character in html code' => test_zci("Encoded HTML Entity: Á", structured_answer => make_structured_answer(re(qr/Aacute/))),
|
||||
|
||||
# Question marks ignored
|
||||
'the encoded html entity of apostrophe is?' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(qr/#39/)),
|
||||
'how to encode an apostrophe in html ? ' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(qr/#39/)), # spaces around the end
|
||||
'the encoded html entity of apostrophe is?' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(re(qr/#39/))),
|
||||
'how to encode an apostrophe in html ? ' => test_zci("Encoded HTML Entity: '", structured_answer => make_structured_answer(re(qr/#39/))), # spaces around the end
|
||||
|
||||
# Question mark matters
|
||||
'how to encode "?" in html' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(qr/#63/)),
|
||||
'how to encode "?" in html' => test_zci("Encoded HTML Entity: ?", structured_answer => make_structured_answer(re(qr/#63/))),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use DDG::Test::Location;
|
||||
use DDG::Request;
|
||||
|
@ -48,7 +49,7 @@ ddg_goodie_test(
|
|||
query_raw => "$query",
|
||||
location => test_location("$locations[$_]")
|
||||
),
|
||||
test_zci(qr/24 Hour Suicide Hotline/, structured_answer => { input => [], operation => qr/24 Hour Suicide Hotline/, result => qr/[0-9]{2}/}),
|
||||
test_zci(re(qr/24 Hour Suicide Hotline/), structured_answer => { input => [], operation => re(qr/24 Hour Suicide Hotline/), result => re(qr/[0-9]{2}/)}),
|
||||
} 0 .. scalar @locations - 1
|
||||
} 0 .. scalar @queries - 1),
|
||||
(map {
|
||||
|
@ -63,4 +64,4 @@ ddg_goodie_test(
|
|||
} 0 .. scalar @ok_queries - 1),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'ascii';
|
||||
|
@ -35,4 +36,4 @@ ddg_goodie_test(
|
|||
'ascii 0x466f7220736f6d6520726561736f6e2c2049206465636964656420746f2061736b20612073656172636820656e67696e6520746f20636f6e766572742068657820746f2041534349492e0d0a436f6f6c2c20746869732073656172636820656e67696e6520646f65732069742c20756e74696c20492072756e206f7574206f662073706163652e' => build_test('0x466f7220736f6d6520726561736f6e2c2049206465636964656420746f2061736b20612073656172636820656e67696e6520746f20636f6e766572742068657820746f2041534349492e0d0a436f6f6c2c20746869732073656172636820656e67696e6520646f65732069742c20756e74696c20492072756e206f7574206f662073706163652e', 'For some reason, I decided to ask a search engine to convert hex to ASCII.<code title="carriage return">[CR]</code><code title="linefeed">[LF]</code>Cool, this search engine does it, until I run out of …'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'hex_to_dec';
|
||||
|
@ -62,4 +63,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
2
t/IDN.t
2
t/IDN.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -27,4 +28,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
2
t/IPS.t
2
t/IPS.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'ips';
|
||||
|
@ -28,4 +29,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "iso639";
|
||||
|
@ -55,4 +56,4 @@ ddg_goodie_test(
|
|||
"iso639 xyz" => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use Locale::Country;
|
||||
|
||||
|
@ -50,4 +51,4 @@ ddg_goodie_test(
|
|||
"day of independence of bhutan" => answer("Bhutan", "December 17th, 1907")
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/Jira.t
3
t/Jira.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'jira';
|
||||
|
@ -61,4 +62,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "john_cena";
|
||||
|
@ -32,4 +33,4 @@ ddg_goodie_test(
|
|||
'famous wrestler' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/Kana.t
3
t/Kana.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -179,4 +180,4 @@ ddg_goodie_test(
|
|||
'ハ.ツha.tsu in romaji' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'kernel_taint';
|
||||
|
@ -19,4 +20,4 @@ ddg_goodie_test(
|
|||
'2 kernel taint description' => test_zci('- A module was force loaded by insmod -f. Set by modutils >= 2.4.9 and module-init-tools.', html => '<ul><li>A module was force loaded by insmod -f. Set by modutils >= 2.4.9 and module-init-tools.</li></ul><a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/sysctl/kernel.txt">Read more</a>')
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'lasership';
|
||||
|
@ -24,4 +25,3 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
done_testing;
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'Latex';
|
||||
|
@ -14,17 +15,17 @@ ddg_goodie_test(
|
|||
)],
|
||||
"latex integral" => test_zci('LaTeX command: \int_lowerbound^upperbound
|
||||
Example: $\int_a^b f(x)dx$',
|
||||
html => qr/\\int_lowerbound\^upperbound/,
|
||||
html => re(qr/\\int_lowerbound\^upperbound/),
|
||||
heading => 'Integral (LaTeX)'),
|
||||
|
||||
"tex integral" => test_zci('LaTeX command: \int_lowerbound^upperbound
|
||||
Example: $\int_a^b f(x)dx$',
|
||||
html => qr/\\int_lowerbound\^upperbound/,
|
||||
html => re(qr/\\int_lowerbound\^upperbound/),
|
||||
heading => 'Integral (LaTeX)'),
|
||||
'latex summation' => test_zci('LaTeX command: \sum_{lower}^{upper}
|
||||
Example: $\sum_{i=0}^{10} x^{2}$',
|
||||
html => qr/\\sum_\{lower\}\^\{upper\}/,
|
||||
html => re(qr/\\sum_\{lower\}\^\{upper\}/),
|
||||
heading => 'Summation (LaTeX)'),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -5,6 +5,7 @@ use warnings;
|
|||
|
||||
use Test::MockTime qw( :all );
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'leap_year';
|
||||
|
@ -137,4 +138,4 @@ ddg_goodie_test(
|
|||
);
|
||||
restore_time();
|
||||
|
||||
done_testing();
|
||||
done_testing();
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
use utf8;
|
||||
|
@ -56,4 +57,4 @@ ddg_goodie_test(
|
|||
'l33tsp34k' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/Loan.t
3
t/Loan.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use DDG::Test::Location;
|
||||
use DDG::Request;
|
||||
|
@ -237,4 +238,4 @@ ddg_goodie_test (
|
|||
);
|
||||
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -1,6 +1,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use utf8;
|
||||
|
||||
|
@ -9,8 +10,8 @@ zci is_cached => 0;
|
|||
|
||||
sub build_result {
|
||||
my $result = shift;
|
||||
return $result, structured_answer => {
|
||||
data => "-ANY-",
|
||||
return re($result), structured_answer => {
|
||||
data => ignore(),
|
||||
meta => {
|
||||
sourceName => "Lipsum",
|
||||
sourceUrl => "http://lipsum.com/"
|
||||
|
@ -83,4 +84,4 @@ ddg_goodie_test(
|
|||
);
|
||||
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'lowercase';
|
||||
|
@ -38,4 +39,4 @@ ddg_goodie_test(
|
|||
'how to lowercase text' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/MD4.t
3
t/MD4.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "md4";
|
||||
|
@ -85,4 +86,4 @@ ddg_goodie_test(
|
|||
'md5 this string' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
3
t/MD5.t
3
t/MD5.t
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'md5';
|
||||
|
@ -180,4 +181,4 @@ ddg_goodie_test(
|
|||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "mac_address";
|
||||
|
@ -57,4 +58,4 @@ ddg_goodie_test(
|
|||
'mac address 1E:00:00:00:00:00' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,14 +3,15 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "magic_eight_ball";
|
||||
zci is_cached => 0;
|
||||
|
||||
my $possibleAnswers = qr/(It is certain|It is decidedly so|Without a doubt|Yes, definitely|You may rely on it|As I see it, yes|Most likely|Outlook good|Yes|Signs point to yes|Reply hazy try again|Ask again later|Better not tell you now|Cannot predict now|Concentrate and ask again|Don't count on it|My reply is no|My sources say no|Outlook not so good|Very doubtful)/;
|
||||
my $possibleAnswers = re(qr/(It is certain|It is decidedly so|Without a doubt|Yes, definitely|You may rely on it|As I see it, yes|Most likely|Outlook good|Yes|Signs point to yes|Reply hazy try again|Ask again later|Better not tell you now|Cannot predict now|Concentrate and ask again|Don't count on it|My reply is no|My sources say no|Outlook not so good|Very doubtful)/);
|
||||
|
||||
my $possibleStructuredAnswer = qr/^(?:It is certain|It is decidedly so|Without a doubt|Yes, definitely|You may rely on it|As I see it, yes|Most likely|Outlook good|Yes|Signs point to yes|Reply hazy try again|Ask again later|Better not tell you now|Cannot predict now|Concentrate and ask again|Don't count on it|My reply is no|My sources say no|Outlook not so good|Very doubtful)$/;
|
||||
my $possibleStructuredAnswer = re(qr/^(?:It is certain|It is decidedly so|Without a doubt|Yes, definitely|You may rely on it|As I see it, yes|Most likely|Outlook good|Yes|Signs point to yes|Reply hazy try again|Ask again later|Better not tell you now|Cannot predict now|Concentrate and ask again|Don't count on it|My reply is no|My sources say no|Outlook not so good|Very doubtful)$/);
|
||||
|
||||
ddg_goodie_test(
|
||||
[qw( DDG::Goodie::MagicEightBall )],
|
||||
|
@ -43,4 +44,4 @@ ddg_goodie_test(
|
|||
'magic 8ball' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'xkcd_sandwich';
|
||||
|
@ -34,4 +35,4 @@ ddg_goodie_test(
|
|||
'0 make me a sandwich' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'markdown_reference';
|
||||
|
@ -71,4 +72,4 @@ ddg_goodie_test(
|
|||
'markdown cheat sheet list' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
use utf8;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
use URI::Escape;
|
||||
|
||||
|
@ -141,4 +142,4 @@ sub make_structured_answer {
|
|||
};
|
||||
};
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'moon_phase';
|
||||
|
@ -14,8 +15,8 @@ my $quarter = qr/(?:First|Third)$space_plus(?:Quarter)/;
|
|||
my $named = qr/(?:New|Full)$space_plus(?:Moon)/;
|
||||
my $phases = qr/$wax_wane|$quarter|$named/;
|
||||
|
||||
my $ascii_answer = qr/^The current lunar phase is: $phases$/;
|
||||
my $html_answer = qr%^The current lunar phase is: <a href="\?q=$phases">$phases</a>$%;
|
||||
my $ascii_answer = re(qr/^The current lunar phase is: $phases$/);
|
||||
my $html_answer = re(qr%^The current lunar phase is: <a href="\?q=$phases">$phases</a>$%);
|
||||
|
||||
ddg_goodie_test(
|
||||
[qw( DDG::Goodie::MoonPhases)],
|
||||
|
@ -24,7 +25,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => [],
|
||||
operation => 'Current lunar phase',
|
||||
result => $phases,
|
||||
result => re($phases),
|
||||
}
|
||||
),
|
||||
'lunar phase' => test_zci(
|
||||
|
@ -32,7 +33,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => [],
|
||||
operation => 'Current lunar phase',
|
||||
result => $phases,
|
||||
result => re($phases),
|
||||
}
|
||||
),
|
||||
'phase of the moon' => test_zci(
|
||||
|
@ -40,7 +41,7 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => [],
|
||||
operation => 'Current lunar phase',
|
||||
result => $phases,
|
||||
result => re($phases),
|
||||
}
|
||||
),
|
||||
'what is the current lunar phase' => test_zci(
|
||||
|
@ -48,9 +49,9 @@ ddg_goodie_test(
|
|||
structured_answer => {
|
||||
input => [],
|
||||
operation => 'Current lunar phase',
|
||||
result => $phases,
|
||||
result => re($phases),
|
||||
}
|
||||
),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use warnings;
|
||||
use utf8;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'morse';
|
||||
|
@ -43,4 +44,4 @@ ddg_goodie_test([qw(
|
|||
'morse code for cheat sheet' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => 'nletterwords';
|
||||
|
@ -16,8 +17,8 @@ ddg_goodie_test(
|
|||
'1 char words' => test_zci('Random 1 letter words: a, I.'),
|
||||
'1 character word' => test_zci('Random 1 letter words: a, I.'),
|
||||
'one letter words' => test_zci('Random 1 letter words: a, I.'),
|
||||
'5 letter words' => test_zci(qr/Random 5 letter words: ((\w){5},? ?){30}/),
|
||||
'12 character word' => test_zci(qr/Random 12 letter words: ((\w){12},? ?){30}/),
|
||||
'5 letter words' => test_zci(re(qr/Random 5 letter words: ((\w){5},? ?){30}/)),
|
||||
'12 character word' => test_zci(re(qr/Random 12 letter words: ((\w){12},? ?){30}/)),
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -5,6 +5,7 @@ use strict;
|
|||
use warnings;
|
||||
use Locale::Country;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "name_days";
|
||||
|
@ -176,4 +177,4 @@ ddg_goodie_test(
|
|||
'name day' => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
|
@ -3,6 +3,7 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use DDG::Test::Goodie;
|
||||
|
||||
zci answer_type => "note_frequency";
|
||||
|
@ -37,4 +38,4 @@ ddg_goodie_test(
|
|||
"notefreq c9" => undef,
|
||||
);
|
||||
|
||||
done_testing;
|
||||
done_testing;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue