From: Štefan Baebler Date: Tue, 6 Mar 2018 08:23:43 +0000 (+0100) Subject: Added support for int_ref and _bg, _tx colours for all ref keys X-Git-Tag: live~3183^2~14 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/25d5c58c5c8902812731ef8d202dd2f015771cb1 Added support for int_ref and _bg, _tx colours for all ref keys Improves #1779 --- diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index 802858f74..8e0c7648f 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -192,7 +192,7 @@ module BrowseHelper end def colour_preview(key, value) - return nil unless key =~ /^(|building:|ref:|roof:)colour$/ && !value.nil? + return nil unless (key =~ /^(|building:|ref:|roof:)colour$/ || key =~ /^(int_)?ref:colour(_(bg|tx))?$/) && !value.nil? # does value look like a colour? ( 3 or 6 digit hex code or w3c colour name) w3c_colors = %w[aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgrey darkgreen darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray diff --git a/test/helpers/browse_helper_test.rb b/test/helpers/browse_helper_test.rb index 27e0e7709..0c4f2b203 100644 --- a/test/helpers/browse_helper_test.rb +++ b/test/helpers/browse_helper_test.rb @@ -375,6 +375,21 @@ class BrowseHelperTest < ActionView::TestCase colour = colour_preview("ref:colour", "#f00") assert_equal "#f00", colour + colour = colour_preview("ref:colour_bg", "#fF0") + assert_equal "#fF0", colour + + colour = colour_preview("ref:colour_tx", "#fa0") + assert_equal "#fa0", colour + + colour = colour_preview("int_ref:colour", "green") + assert_equal "green", colour + + colour = colour_preview("int_ref:colour_bg", "#00f") + assert_equal "#00f", colour + + colour = colour_preview("int_ref:colour_tx", "WHITE") + assert_equal "WHITE", colour + colour = colour_preview("roof:colour", "#f00") assert_equal "#f00", colour @@ -396,6 +411,15 @@ class BrowseHelperTest < ActionView::TestCase colour = colour_preview("building", "red") assert_nil colour + colour = colour_preview("ref:colour_no", "red") + assert_nil colour + + colour = colour_preview("ref:colour-bg", "red") + assert_nil colour + + colour = colour_preview("int_ref", "red") + assert_nil colour + # invalid hex codes colour = colour_preview("colour", "#") assert_nil colour