1 # frozen_string_literal: true
5 class BrowseHelperTest < ActionView::TestCase
7 include ApplicationHelper
9 def test_printable_element_name
10 node = create(:node, :with_history, :version => 2)
11 node_v1 = node.old_nodes.find_by(:version => 1)
12 node_v2 = node.old_nodes.find_by(:version => 2)
13 node_v1.redact!(create(:redaction))
15 add_tags_selection(node)
16 add_old_tags_selection(node_v2)
17 add_old_tags_selection(node_v1)
19 node_with_ref_without_name = create(:node)
20 create(:node_tag, :node => node_with_ref_without_name, :k => "ref", :v => "3.1415926")
22 deleted_node = create(:node, :deleted)
24 assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
25 assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
26 assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
27 assert_dom_equal node.id.to_s, printable_element_name(node_v1)
28 assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
30 I18n.with_locale "pt" do
31 assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
32 assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
33 assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
34 assert_dom_equal node.id.to_s, printable_element_name(node_v1)
35 assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
38 I18n.with_locale "pt-BR" do
39 assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
40 assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
41 assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
42 assert_dom_equal node.id.to_s, printable_element_name(node_v1)
43 assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
46 I18n.with_locale "de" do
47 assert_dom_equal deleted_node.id.to_s, printable_element_name(deleted_node)
48 assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node)
49 assert_dom_equal "<bdi>Test Node</bdi> (<bdi>#{node.id}</bdi>)", printable_element_name(node_v2)
50 assert_dom_equal node.id.to_s, printable_element_name(node_v1)
51 assert_dom_equal "<bdi>3.1415926</bdi> (<bdi>#{node_with_ref_without_name.id}</bdi>)", printable_element_name(node_with_ref_without_name)
55 def test_element_strikethrough
56 node = create(:node, :with_history, :version => 2)
57 node_v1 = node.old_nodes.find_by(:version => 1)
58 node_v2 = node.old_nodes.find_by(:version => 2)
59 node_v1.redact!(create(:redaction))
61 normal_output = element_strikethrough(node_v2) { "test" }
62 assert_equal "test", normal_output
64 redacted_output = element_strikethrough(node_v1) { "test" }
65 assert_equal "<s>test</s>", redacted_output
67 deleted_output = element_strikethrough(create(:node, :deleted)) { "test" }
68 assert_equal "<s>test</s>", deleted_output
72 node = create(:node, :with_history, :version => 2)
73 node_v1 = node.old_nodes.find_by(:version => 1)
74 node_v2 = node.old_nodes.find_by(:version => 2)
75 node_v1.redact!(create(:redaction))
77 add_tags_selection(node)
78 add_old_tags_selection(node_v2)
79 add_old_tags_selection(node_v1)
81 icon = element_icon("node", create(:node))
82 icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
83 assert_dom icon_dom, "img:root", :count => 1 do
84 assert_dom "> @title", 0
87 icon = element_icon("node", create(:node, :deleted))
88 icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
89 assert_dom icon_dom, "img:root", :count => 1 do
90 assert_dom "> @title", 0
93 icon = element_icon("node", node)
94 icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
95 assert_dom icon_dom, "img:root", :count => 1 do
96 assert_dom "> @title", "building=yes, shop=gift, and tourism=museum"
99 icon = element_icon("node", node_v2)
100 icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
101 assert_dom icon_dom, "img:root", :count => 1 do
102 assert_dom "> @title", "building=yes, shop=gift, and tourism=museum"
105 icon = element_icon("node", node_v1)
106 icon_dom = Rails::Dom::Testing.html_document_fragment.parse(icon)
107 assert_dom icon_dom, "img:root", :count => 1 do
108 assert_dom "> @title", 0
114 def add_old_tags_selection(old_node)
115 { "building" => "yes",
117 "tourism" => "museum",
118 "name" => "Test Node",
119 "name:pt" => "Nó teste" }.each do |key, value|
120 create(:old_node_tag, :old_node => old_node, :k => key, :v => value)
124 def add_tags_selection(node)
125 { "building" => "yes",
127 "tourism" => "museum",
128 "name" => "Test Node",
129 "name:pt" => "Nó teste" }.each do |key, value|
130 create(:node_tag, :node => node, :k => key, :v => value)
134 def preferred_languages
135 Locale.list(I18n.locale)