X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/be86e4824fe57c203c8916568527d38314d8423f..74694bcdcd7682259cf979d355e077438f0d4741:/test/helpers/browse_helper_test.rb
diff --git a/test/helpers/browse_helper_test.rb b/test/helpers/browse_helper_test.rb
index e313858e5..2bfdf5cb1 100644
--- a/test/helpers/browse_helper_test.rb
+++ b/test/helpers/browse_helper_test.rb
@@ -131,6 +131,12 @@ class BrowseHelperTest < ActionView::TestCase
html = format_value("operator:wikidata", "Q12;Q98")
assert_dom_equal "Q12;Q98", html
+
+ html = format_value("name:etymology:wikidata", "Q123")
+ assert_dom_equal "Q123", html
+
+ html = format_value("colour", "#f00")
+ assert_dom_equal %(#f00), html
end
def test_icon_tags
@@ -345,6 +351,108 @@ class BrowseHelperTest < ActionView::TestCase
assert_equal "tel:+1(234)567-890", link
end
+ def test_colour_preview
+ # basic positive tests
+ colour = colour_preview("colour", "red")
+ assert_equal "red", colour
+
+ colour = colour_preview("colour", "Red")
+ assert_equal "Red", colour
+
+ colour = colour_preview("colour", "darkRed")
+ assert_equal "darkRed", colour
+
+ colour = colour_preview("colour", "#f00")
+ assert_equal "#f00", colour
+
+ colour = colour_preview("colour", "#fF0000")
+ assert_equal "#fF0000", colour
+
+ # other tag variants:
+ colour = colour_preview("building:colour", "#f00")
+ assert_equal "#f00", colour
+
+ colour = colour_preview("ref:colour", "#f00")
+ assert_equal "#f00", colour
+
+ colour = colour_preview("int_ref:colour", "green")
+ assert_equal "green", colour
+
+ colour = colour_preview("roof:colour", "#f00")
+ assert_equal "#f00", colour
+
+ colour = colour_preview("seamark:beacon_lateral:colour", "#f00")
+ assert_equal "#f00", colour
+
+ # negative tests:
+ colour = colour_preview("colour", "")
+ assert_nil colour
+
+ colour = colour_preview("colour", " ")
+ assert_nil colour
+
+ colour = colour_preview("colour", nil)
+ assert_nil colour
+
+ # ignore US spelling variant
+ colour = colour_preview("color", "red")
+ assert_nil colour
+
+ # irrelevant tag names
+ 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
+
+ colour = colour_preview("colour", "#ff")
+ assert_nil colour
+
+ colour = colour_preview("colour", "#ffff")
+ assert_nil colour
+
+ colour = colour_preview("colour", "#fffffff")
+ assert_nil colour
+
+ colour = colour_preview("colour", "#ggg")
+ assert_nil colour
+
+ colour = colour_preview("colour", "#ff 00 00")
+ assert_nil colour
+
+ # invalid w3c color names:
+ colour = colour_preview("colour", "r")
+ assert_nil colour
+
+ colour = colour_preview("colour", "ffffff")
+ assert_nil colour
+
+ colour = colour_preview("colour", "f00")
+ assert_nil colour
+
+ colour = colour_preview("colour", "xxxred")
+ assert_nil colour
+
+ colour = colour_preview("colour", "dark red")
+ assert_nil colour
+
+ colour = colour_preview("colour", "dark_red")
+ assert_nil colour
+
+ colour = colour_preview("colour", "ADarkDummyLongColourNameWithAPurpleUndertone")
+ assert_nil colour
+ end
+
def add_old_tags_selection(old_node)
{ "building" => "yes",
"shop" => "gift",