178 lines
6.5 KiB
Perl
178 lines
6.5 KiB
Perl
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Test::More;
|
|
use DDG::Test::Goodie;
|
|
|
|
zci answer_type => 'duckduckgo';
|
|
zci is_cached => 1;
|
|
|
|
my $id = 'duck_duck_go';
|
|
|
|
# The results should be static, so these facilitate easier testing of triggers.
|
|
my @about_result = (
|
|
'Want to know more about us? https://duckduckgo.com/about',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Want to know more about us?',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Visit our About page',
|
|
subtitle_url => 'https://duckduckgo.com/about'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @blog_result = (
|
|
'Want to stay up to date with DuckDuckGo? https://duck.co/blog',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Want to stay up to date with DuckDuckGo?',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Visit the official DuckDuckGo blog',
|
|
subtitle_url => 'https://duck.co/blog'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @help_result = (
|
|
'Need some help? https://duck.co/help',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Need some help?',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Visit our help page',
|
|
subtitle_url => 'https://duck.co/help'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @irc_result = (
|
|
'Want to chat with us on IRC? http://webchat.freenode.net/?channels=duckduckgo',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Want to chat with us on IRC?',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Visit #duckduckgo on irc.freenode.net',
|
|
subtitle_url => 'http://webchat.freenode.net/?channels=duckduckgo'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @merch_result = (
|
|
'Looking for DuckDuckGo gear? (Thanks for the support!) https://duck.co/help/community/swag',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Looking for DuckDuckGo gear? (Thanks for the support!)',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Check out the DuckDuckGo store for t-shirts, stickers, and other items',
|
|
subtitle_url => 'https://duck.co/help/community/swag'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @tor_result = (
|
|
'DuckDuckGo is available on Tor http://3g2upl4pq6kufc4m.onion.link',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'DuckDuckGo is available on Tor',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Visit our onion address',
|
|
subtitle_url => 'http://3g2upl4pq6kufc4m.onion.link'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @shorturl_result = (
|
|
'Need a quicker way to visit DuckDuckGo? http://ddg.gg',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Need a quicker way to visit DuckDuckGo?',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'You can also find us at http://ddg.gg',
|
|
subtitle_url => 'http://ddg.gg'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
my @zci_result = (
|
|
'Zero Click Info is another term for our Instant Answers that show above the search results http://duckduckhack.com',
|
|
structured_answer => {
|
|
data => {
|
|
title => 'Zero Click Info is another term for our Instant Answers that show above the search results',
|
|
subtitle_image => undef,
|
|
subtitle_text => 'Learn more about Instant Answers',
|
|
subtitle_url => 'http://duckduckhack.com'
|
|
},
|
|
templates => {
|
|
group => 'text',
|
|
options => {
|
|
subtitle_content => 'DDH.duck_duck_go.subtitle_content'
|
|
}
|
|
}
|
|
});
|
|
|
|
ddg_goodie_test(
|
|
[qw( DDG::Goodie::DuckDuckGo )],
|
|
# Primary example queries
|
|
'duckduckgo help' => test_zci(@help_result),
|
|
# Secondary example queries
|
|
"ddg tor" => test_zci(@tor_result),
|
|
'short URL for duck duck go' => test_zci(@shorturl_result),
|
|
# Other queries
|
|
'duckduckgo Zero-Click Info' => test_zci(@zci_result),
|
|
'ddg zeroclick' => test_zci(@zci_result),
|
|
'duckduckgo about' => test_zci(@about_result),
|
|
'ddg merch' => test_zci(@merch_result),
|
|
'duckduckgo irc' => test_zci(@irc_result),
|
|
"duckduckgo's about" => test_zci(@about_result),
|
|
'duck duck go merchandise' => test_zci(@merch_result),
|
|
"ddgs irc" => test_zci(@irc_result),
|
|
"the duckduckgo blog" => test_zci(@blog_result),
|
|
'the short url of duck duck go' => test_zci(@shorturl_result),
|
|
'about duckduck go' => test_zci(@about_result),
|
|
'duck duckgos help' => test_zci(@help_result),
|
|
"where is the ddg irc" => test_zci(@irc_result),
|
|
'what is the short url for duckduckgo?' => test_zci(@shorturl_result),
|
|
'ddg on onion' => test_zci(@tor_result),
|
|
'tor on duck duck go' => test_zci(@tor_result),
|
|
'duckduckgo onion service' => test_zci(@tor_result),
|
|
"ddg in tor" => test_zci(@tor_result),
|
|
'duckduckgo t-shirt' => test_zci(@merch_result),
|
|
'ddg t shirts' => test_zci(@merch_result),
|
|
'duck duck go tee' => test_zci(@merch_result),
|
|
# Intentionally ignored queries
|
|
irc => undef,
|
|
);
|
|
|
|
done_testing;
|
|
|