From e794e937e5045c0d45c985fedf0fb93e43361f35 Mon Sep 17 00:00:00 2001 From: Rob Emery Date: Sat, 29 Aug 2015 21:46:51 +0100 Subject: [PATCH] ColorCodes: Greyscale values no longer display complementary and analogous colours --- lib/DDG/Goodie/ColorCodes.pm | 22 ++++++++++++++++------ t/ColorCodes.t | 10 +++++++--- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/lib/DDG/Goodie/ColorCodes.pm b/lib/DDG/Goodie/ColorCodes.pm index a67845e13..fc5549570 100755 --- a/lib/DDG/Goodie/ColorCodes.pm +++ b/lib/DDG/Goodie/ColorCodes.pm @@ -85,9 +85,13 @@ sub create_output { my @analogous_colors = @{$input{'analogous'}}; my $complementary = uc $input{'complementary'}; - $text = "$hex ~ $rgb ~ $rgb_pct ~ $hsl ~ $cmyb"."\n" - . "Complementary: #$complementary\n" - . "Analogous: ".(join ", ", map { "#".uc $_ } @analogous_colors); + #greyscale colours have no hue and saturation + my $show_column_2 = !($input{'hsl'}->[0] eq 0 && $input{'hsl'}->[1] eq '0%'); + + $text = "$hex ~ $rgb ~ $rgb_pct ~ $hsl ~ $cmyb"; + my $column_2_text = "\n" . + "Complementary: #$complementary\n" . + "Analogous: ".(join ", ", map { "#".uc $_ } @analogous_colors); my $comps = "
" . "" @@ -108,12 +112,18 @@ sub create_output { . "Info" . " | " . "Picker

" - . "
" - . "
" + . "
"; + + my $column_2_html = "
" . "
$comps
" . "
$analogs
" . "
"; - + + if ($show_column_2) { + $html.= $column_2_html; + $text.= $column_2_text; + } + return ($text, $html); } diff --git a/t/ColorCodes.t b/t/ColorCodes.t index 685597fec..d1eadb0c3 100755 --- a/t/ColorCodes.t +++ b/t/ColorCodes.t @@ -60,10 +60,14 @@ ddg_goodie_test( 'Hex: #DC5F3C ~ RGBA(220, 95, 60, 1) ~ RGB(86%, 37%, 24%) ~ HSL(13, 70%, 55%) ~ CMYB(0%, 57%, 73%, 14%)'."\n".'Complementary: #3BB9DB'."\n".'Analogous: #DBAE3B, #DB3B69', html => qr/background:#dc5f3c/ ), - # Single full HTML check. + #Colours with no hue shouldn't have complements or analogs '#000000' => test_zci( - 'Hex: #000000 ~ RGBA(0, 0, 0, 1) ~ RGB(0%, 0%, 0%) ~ HSL(0, 0, 0) ~ CMYB(0%, 0%, 0%, 0%)', - html => qq(

Hex: #000000

RGBA(0, 0, 0, 1)

HSL(0, 0, 0)

CMYB(0%, 0%, 0%, 0%)

Images | Info | Picker

) + 'Hex: #000000 ~ RGBA(0, 0, 0, 1) ~ RGB(0%, 0%, 0%) ~ HSL(0, 0%, 0%) ~ CMYB(0%, 0%, 0%, 100%)', + html => qq(

Hex: #000000

RGBA(0, 0, 0, 1)

HSL(0, 0%, 0%)

CMYB(0%, 0%, 0%, 100%)

Images | Info | Picker

) + ), + '#FFFFFF' => test_zci( + 'Hex: #FFFFFF ~ RGBA(255, 255, 255, 1) ~ RGB(100%, 100%, 100%) ~ HSL(0, 0%, 100%) ~ CMYB(0%, 0%, 0%, 0%)', + html => qq(

Hex: #FFFFFF

RGBA(255, 255, 255, 1)

HSL(0, 0%, 100%)

CMYB(0%, 0%, 0%, 0%)

Images | Info | Picker

) ), # Queries to ignore. 'bluishblack html' => undef,