From 67f6e084f262619ff99af5c14d37553a6106c87d Mon Sep 17 00:00:00 2001 From: Manraj Singh Date: Tue, 25 Apr 2017 01:05:38 +0530 Subject: [PATCH] AsciiTable: Improves triggering (#4124) * AsciiTable: Triggering now for 'list of' * AsciiTable: Add more triggers * AsciiTable: Tests updated with new triggers --- lib/DDG/Goodie/AsciiTable.pm | 13 ++++++++++--- share/goodie/ascii_table/triggers.txt | 7 ++++++- t/AsciiTable.t | 7 +++++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/DDG/Goodie/AsciiTable.pm b/lib/DDG/Goodie/AsciiTable.pm index d3972d28c..4902c8ec5 100644 --- a/lib/DDG/Goodie/AsciiTable.pm +++ b/lib/DDG/Goodie/AsciiTable.pm @@ -10,12 +10,19 @@ zci answer_type => 'ascii_table'; zci is_cached => 1; -triggers start => share('triggers.txt')->slurp; +my @triggers = share("triggers.txt")->slurp; + +triggers startend => @triggers; + +chomp(@triggers); +my $keywords = join("|", map(quotemeta, @triggers)); my $ascii = LoadFile(share('data.yml')); -handle remainder => sub { - return unless $_ eq ''; +handle query_lc => sub { + s/^list of\b//; + + return unless m/$keywords/; return '', structured_answer => { diff --git a/share/goodie/ascii_table/triggers.txt b/share/goodie/ascii_table/triggers.txt index 677840c6c..da85c4ccd 100644 --- a/share/goodie/ascii_table/triggers.txt +++ b/share/goodie/ascii_table/triggers.txt @@ -19,4 +19,9 @@ ascii characters table ascii chart ascii codes chart ascii characters chart -ascii reference chart \ No newline at end of file +ascii reference chart +ascii character list +ascii characters list +ascii characters lookup +ascii character map +ascii character set table \ No newline at end of file diff --git a/t/AsciiTable.t b/t/AsciiTable.t index 832ffc306..f96b19972 100644 --- a/t/AsciiTable.t +++ b/t/AsciiTable.t @@ -13,6 +13,7 @@ zci is_cached => 1; my $ascii = LoadFile('share/goodie/ascii_table/data.yml'); sub build_structured_answer { + my $result = { title => 'ASCII Table', table => $ascii @@ -81,6 +82,12 @@ ddg_goodie_test( 'ascii reference' => build_test(), 'ascii characters' => build_test(), 'character codes' => build_test(), + 'ascii character map' => build_test(), + 'list of ascii characters' => build_test(), + 'list of ascii codes' => build_test(), + 'list of char codes' => build_test(), + 'list of vegetables' => undef, + 'list of ascii' => undef, 'ascii convertor' => undef, 'ascii conversion' => undef, 'convert ascii' => undef,