1 # -*- coding: utf-8 -*-
 
   5 class BrowseHelperTest < ActionView::TestCase
 
   7   include ApplicationHelper
 
  15   def test_printable_name
 
  16     assert_equal "17", printable_name(current_nodes(:redacted_node))
 
  17     assert_equal "<bdi>Test Node</bdi> (18)", printable_name(current_nodes(:node_with_name))
 
  18     assert_equal "<bdi>Test Node</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
 
  19     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
 
  20     assert_equal "<bdi>Test Node</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
 
  21     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
 
  25     assert_equal "17", printable_name(current_nodes(:redacted_node))
 
  26     assert_equal "<bdi>проверки узла</bdi> (18)", printable_name(current_nodes(:node_with_name))
 
  27     assert_equal "<bdi>проверки узла</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
 
  28     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
 
  29     assert_equal "<bdi>проверки узла</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
 
  30     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
 
  34     assert_equal "17", printable_name(current_nodes(:redacted_node))
 
  35     assert_equal "<bdi>Test Node</bdi> (18)", printable_name(current_nodes(:node_with_name))
 
  36     assert_equal "<bdi>Test Node</bdi> (18)", printable_name(nodes(:node_with_name_current_version))
 
  37     assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
 
  38     assert_equal "<bdi>Test Node</bdi> (18, v2)", printable_name(nodes(:node_with_name_current_version), true)
 
  39     assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
 
  43     assert_equal "node", link_class("node", current_nodes(:visible_node))
 
  44     assert_equal "node deleted", link_class("node", current_nodes(:invisible_node))
 
  45     assert_equal "node deleted", link_class("node", current_nodes(:redacted_node))
 
  46     assert_equal "node building yes shop gift tourism museum", link_class("node", current_nodes(:node_with_name))
 
  47     assert_equal "node building yes shop gift tourism museum", link_class("node", nodes(:node_with_name_current_version))
 
  48     assert_equal "node deleted", link_class("node", nodes(:node_with_name_redacted_version))
 
  52     assert_equal "", link_title(current_nodes(:visible_node))
 
  53     assert_equal "", link_title(current_nodes(:invisible_node))
 
  54     assert_equal "", link_title(current_nodes(:redacted_node))
 
  55     assert_equal "building=yes, shop=gift, and tourism=museum", link_title(current_nodes(:node_with_name))
 
  56     assert_equal "building=yes, shop=gift, and tourism=museum", link_title(nodes(:node_with_name_current_version))
 
  57     assert_equal "", link_title(nodes(:node_with_name_redacted_version))
 
  61     html = format_key("highway")
 
  62     assert_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Key:highway?uselang=en\" title=\"The wiki description page for the highway tag\">highway</a>", html
 
  64     html = format_key("unknown")
 
  65     assert_equal "unknown", html
 
  69     html = format_value("highway", "primary")
 
  70     assert_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=en\" title=\"The wiki description page for the highway=primary tag\">primary</a>", html
 
  72     html = format_value("highway", "unknown")
 
  73     assert_equal "unknown", html
 
  75     html = format_value("unknown", "unknown")
 
  76     assert_equal "unknown", html
 
  80     tags = icon_tags(current_nodes(:node_with_name))
 
  81     assert_equal 3, tags.count
 
  82     assert tags.include?(["building", "yes"])
 
  83     assert tags.include?(["tourism", "museum"])
 
  84     assert tags.include?(["shop", "gift"])
 
  86     tags = icon_tags(nodes(:node_with_name_current_version))
 
  87     assert_equal 3, tags.count
 
  88     assert tags.include?(["building", "yes"])
 
  89     assert tags.include?(["tourism", "museum"])
 
  90     assert tags.include?(["shop", "gift"])
 
  92     tags = icon_tags(nodes(:node_with_name_redacted_version))
 
  93     assert_equal 3, tags.count
 
  94     assert tags.include?(["building", "yes"])
 
  95     assert tags.include?(["tourism", "museum"])
 
  96     assert tags.include?(["shop", "gift"])
 
 100     link = wiki_link("key", "highway")
 
 101     assert_equal "http://wiki.openstreetmap.org/wiki/Key:highway?uselang=en", link
 
 103     link = wiki_link("tag", "highway=primary")
 
 104     assert_equal "http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=en", link
 
 108     link = wiki_link("key", "highway")
 
 109     assert_equal "http://wiki.openstreetmap.org/wiki/DE:Key:highway?uselang=de", link
 
 111     link = wiki_link("tag", "highway=primary")
 
 112     assert_equal "http://wiki.openstreetmap.org/wiki/DE:Tag:highway=primary?uselang=de", link
 
 116     link = wiki_link("key", "highway")
 
 117     assert_equal "http://wiki.openstreetmap.org/wiki/Tr:Key:highway?uselang=tr", link
 
 119     link = wiki_link("tag", "highway=primary")
 
 120     assert_equal "http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=tr", link
 
 123   def test_wikipedia_link
 
 124     link = wikipedia_link("wikipedia", "http://en.wikipedia.org/wiki/Full%20URL")
 
 127     link = wikipedia_link("wikipedia", "https://en.wikipedia.org/wiki/Full%20URL")
 
 130     link = wikipedia_link("wikipedia", "Test")
 
 131     assert_equal "http://en.wikipedia.org/wiki/Test?uselang=en", link[:url]
 
 132     assert_equal "Test", link[:title]
 
 134     link = wikipedia_link("wikipedia", "de:Test")
 
 135     assert_equal "http://de.wikipedia.org/wiki/de:Test?uselang=en", link[:url]
 
 136     assert_equal "de:Test", link[:title]
 
 138     link = wikipedia_link("wikipedia:fr", "de:Test")
 
 139     assert_equal "http://fr.wikipedia.org/wiki/de:Test?uselang=en", link[:url]
 
 140     assert_equal "de:Test", link[:title]
 
 142     I18n.locale = "pt-BR"
 
 144     link = wikipedia_link("wikipedia", "zh-classical:Test#Section")
 
 145     assert_equal "http://zh-classical.wikipedia.org/wiki/zh-classical:Test?uselang=pt-BR#Section", link[:url]
 
 146     assert_equal "zh-classical:Test#Section", link[:title]
 
 148     link = wikipedia_link("foo", "Test")