@@ -339,4 +339,50 @@ def check_element_history_pages(get_path)
339339 assert_no_link "Older Versions"
340340 end
341341 end
342+
343+ test "shows tag diff in way history" do
344+ way = create ( :way , :with_history , :version => 2 )
345+ way_v1 = way . old_ways . find_by ( :version => 1 )
346+ way_v2 = way . old_ways . find_by ( :version => 2 )
347+
348+ # 1. No change
349+ create ( :old_way_tag , :old_way => way_v1 , :k => "ref" , :v => "A1" )
350+ create ( :old_way_tag , :old_way => way_v2 , :k => "ref" , :v => "A1" )
351+
352+ # 2. Modification
353+ create ( :old_way_tag , :old_way => way_v1 , :k => "highway" , :v => "trunk" )
354+ create ( :old_way_tag , :old_way => way_v2 , :k => "highway" , :v => "tertiary" )
355+
356+ # 3. Addition
357+ create ( :old_way_tag , :old_way => way_v2 , :k => "maxspeed" , :v => "50" )
358+
359+ # 4. Removal
360+ create ( :old_way_tag , :old_way => way_v1 , :k => "operator" , :v => "OldOp" )
361+
362+ visit way_history_path ( way )
363+
364+ within_sidebar do
365+ assert_text "Tag changes from version v1 to v2"
366+
367+ find ( "details summary" , :text => "Tag changes from version v1 to v2" ) . click
368+
369+ within "details" do
370+ # Modification
371+ assert_css "th[rowspan='2']" , :text => "highway"
372+ assert_css "td.table-success" , :text => "tertiary"
373+ assert_css "td.table-danger" , :text => "trunk"
374+
375+ # Addition
376+ assert_css "th.table-success" , :text => "maxspeed"
377+ assert_css "td.table-success" , :text => "50"
378+
379+ # Removal
380+ assert_css "th.table-danger" , :text => "operator"
381+ assert_css "td.table-danger" , :text => "OldOp"
382+
383+ # No change (should NOT be here)
384+ assert_no_text "ref"
385+ end
386+ end
387+ end
342388end
0 commit comments