- { min_zoom: 15, name: private, image: private.png }
- { min_zoom: 15, name: destination, image: destination.png }
- { min_zoom: 12, name: construction, image: construction.png }
+cyclosm:
+ # bicycle routes: roads.mss, road-colors.mss
+ - { min_zoom: 2, name: international_bike_route, width: 50, height: 1, fill: "#ff00ff", opacity: 0.75 }
+ - { min_zoom: 8, name: international_bike_route, width: 50, height: 1, fill: "#ff00ff", opacity: 0.6 }
+ - { min_zoom: 9, name: international_bike_route, width: 50, height: 2, fill: "#ff00ff", opacity: 0.6 }
+ - { min_zoom: 11, name: international_bike_route, width: 50, height: 3, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 12, name: international_bike_route, width: 50, height: 4, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 14, name: international_bike_route, width: 50, height: 5, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 15, name: international_bike_route, width: 50, height: 6, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 16, name: international_bike_route, width: 50, height: 7, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 17, name: international_bike_route, width: 50, height: 10, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 18, name: international_bike_route, width: 50, height: 14, fill: "#ff00ff", opacity: 0.25 }
+ - { min_zoom: 5, name: national_bike_route, width: 50, height: 1, fill: "#aa00ff", opacity: 0.75 }
+ - { min_zoom: 8, name: national_bike_route, width: 50, height: 1, fill: "#aa00ff", opacity: 0.6 }
+ - { min_zoom: 9, name: national_bike_route, width: 50, height: 2, fill: "#aa00ff", opacity: 0.6 }
+ - { min_zoom: 11, name: national_bike_route, width: 50, height: 3, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 12, name: national_bike_route, width: 50, height: 4, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 14, name: national_bike_route, width: 50, height: 5, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 15, name: national_bike_route, width: 50, height: 6, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 16, name: national_bike_route, width: 50, height: 7, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 17, name: national_bike_route, width: 50, height: 10, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 18, name: national_bike_route, width: 50, height: 14, fill: "#aa00ff", opacity: 0.25 }
+ - { min_zoom: 8, name: regional_bike_route, width: 50, height: 1, fill: "#5500ff", opacity: 0.6 }
+ - { min_zoom: 9, name: regional_bike_route, width: 50, height: 2, fill: "#5500ff", opacity: 0.6 }
+ - { min_zoom: 11, name: regional_bike_route, width: 50, height: 3, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 12, name: regional_bike_route, width: 50, height: 4, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 14, name: regional_bike_route, width: 50, height: 5, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 15, name: regional_bike_route, width: 50, height: 6, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 16, name: regional_bike_route, width: 50, height: 7, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 17, name: regional_bike_route, width: 50, height: 10, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 18, name: regional_bike_route, width: 50, height: 14, fill: "#5500ff", opacity: 0.25 }
+ - { min_zoom: 11, name: local_bike_route, width: 50, height: 3, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 12, name: local_bike_route, width: 50, height: 4, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 14, name: local_bike_route, width: 50, height: 5, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 15, name: local_bike_route, width: 50, height: 6, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 16, name: local_bike_route, width: 50, height: 7, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 17, name: local_bike_route, width: 50, height: 10, fill: "#0000ff", opacity: 0.25 }
+ - { min_zoom: 18, name: local_bike_route, width: 50, height: 14, fill: "#0000ff", opacity: 0.25 }
cyclemap:
- { min_zoom: 5, name: motorway, width: 50, height: 2, fill: "#9a9ab1" }
- { min_zoom: 9, name: motorway, width: 50, height: 3, fill: "#9a9ab1" }
- { min_zoom: 17, name: track, width: 50, height: 5, fill: white, casing: "#999", casing-dasharray: "5 3", casing-dashoffset: 1 }
- { min_zoom: 13, name: bridleway, width: 52, height: 3, line: green, line-width: 1.5, line-dasharray: "4 2" }
- { min_zoom: 8, name: cycleway, width: 50, height: 3, line: "#0100fe", line-width: 1.5, line-dasharray: "6 2" }
- - { min_zoom: 5, name: cycleway_national, width: 50, height: 2, fill: "#fe0000" }
- - { min_zoom: 12, name: cycleway_national, width: 50, height: 3, fill: "#fe0000" }
- - { min_zoom: 13, name: cycleway_national, width: 50, height: 12, fill: "#ffb3b3" }
- - { min_zoom: 7, name: cycleway_regional, width: 50, height: 2, fill: "#b638fb" }
- - { min_zoom: 12, name: cycleway_regional, width: 50, height: 3, fill: "#b638fb" }
- - { min_zoom: 13, name: cycleway_regional, width: 50, height: 10, fill: "#ddb5d9" }
- - { min_zoom: 8, name: cycleway_local, width: 50, height: 2, fill: "#0100fe" }
- - { min_zoom: 12, name: cycleway_local, width: 50, height: 3, fill: "#0100fe" }
- - { min_zoom: 13, name: cycleway_local, width: 50, height: 8, fill: "#b2b2ff" }
- - { min_zoom: 10, name: cycleway_mtb, width: 50, height: 2, fill: "#ff7b1c" }
- - { min_zoom: 13, name: cycleway_mtb, width: 50, height: 6, fill: "#fbcaa3" }
+ - { min_zoom: 5, name: national_bike_route, width: 50, height: 2, fill: "#fe0000" }
+ - { min_zoom: 12, name: national_bike_route, width: 50, height: 3, fill: "#fe0000" }
+ - { min_zoom: 13, name: national_bike_route, width: 50, height: 12, fill: "#ffb3b3" }
+ - { min_zoom: 7, name: regional_bike_route, width: 50, height: 2, fill: "#b638fb" }
+ - { min_zoom: 12, name: regional_bike_route, width: 50, height: 3, fill: "#b638fb" }
+ - { min_zoom: 13, name: regional_bike_route, width: 50, height: 10, fill: "#ddb5d9" }
+ - { min_zoom: 8, name: local_bike_route, width: 50, height: 2, fill: "#0100fe" }
+ - { min_zoom: 12, name: local_bike_route, width: 50, height: 3, fill: "#0100fe" }
+ - { min_zoom: 13, name: local_bike_route, width: 50, height: 8, fill: "#b2b2ff" }
+ - { min_zoom: 10, name: mountain_bike_route, width: 50, height: 2, fill: "#ff7b1c" }
+ - { min_zoom: 13, name: mountain_bike_route, width: 50, height: 6, fill: "#fbcaa3" }
- { min_zoom: 13, name: footway, width: 50, height: 3, line: "#bd6d6e", line-width: 1.5, line-dasharray: "6 2" }
- { min_zoom: 7, name: rail, width: 50, height: 3, line: "#999999", line-width: 1.5 }
- { min_zoom: 14, name: rail, width: 50, height: 4, fill: "#999999", line: white, line-dasharray: 4, line-width: 2 }
require "application_system_test_case"
class SearchTest < ApplicationSystemTestCase
- test "click on 'where is this' sets search input value and makes reverse geocoding request with zoom" do
+ def setup
+ stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/search\?})
+ .to_return(:status => 404)
+
+ stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?})
+ .to_return(:status => 404)
+
stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?.*zoom=$})
.to_return(:status => 400, :body => <<-BODY)
<?xml version="1.0" encoding="UTF-8"?>
</addressparts>
</reversegeocode>
BODY
+ end
+ test "click on 'where is this' sets search input value and makes reverse geocoding request with zoom" do
visit "/#map=15/51.76320/-0.00760"
assert_field "Search", :with => ""
assert_link "Broxbourne, Hertfordshire, East of England, England, United Kingdom"
end
- test "query search link sets search input value" do
- stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?})
- .to_return(:status => 404)
+ test "'Show address' from context menu makes reverse geocoding request with zoom" do
+ visit "/#map=15/51.76320/-0.00760"
+
+ find_by_id("map").right_click
+ click_on "Show address"
+ assert_link "Broxbourne, Hertfordshire, East of England, England, United Kingdom"
+ end
+
+ test "query search link sets search input value" do
visit search_path(:query => "2.341, 7.896")
assert_field "Search", :with => "2.341, 7.896"
end
test "latlon search link sets search input value" do
- stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?})
- .to_return(:status => 404)
-
visit search_path(:lat => "4.321", :lon => "9.876")
assert_field "Search", :with => "4.321, 9.876"
end
test "search adds viewbox param to Nominatim link" do
- stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/search\?})
- .to_return(:status => 404)
-
visit "/"
fill_in "query", :with => "paris"
end
test "search adds zoom param to reverse Nominatim link" do
- stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?})
- .to_return(:status => 404)
-
visit "/#map=7/1.234/6.789"
fill_in "query", :with => "60 30"