Just built this little snippet in a hacknight, it simulates a geolcation via capybara, so you can test if you geo-magic actually works 🙂
View
<p>Finding your location... <span id="status">checking...</span></p> <script> Â jQuery(function () { Â Â var timeout = (document.location.href.indexOf('test_location') >= 0 ? 100 : 0); Â Â Â setTimeout(function(){ Â Â Â Â Â navigator.geolocation.getCurrentPosition(function(){ jQuery('#status').html("found you!"); }); Â Â Â }, timeout) Â }); </script>
Capybara test via selenium in rspec
 def simulate_location(lat, lng)    page.driver.browser.execute_script <<-JS window.navigator.geolocation.getCurrentPosition = function(success){ var position = {"coords" : { "latitude": "#{lat}", "longitude": "#{lng}" }}; success(position); } JS  end  it "can use location", :js => true do    visit '/?test_location=true'    simulate_location 20, 20    sleep 0.2 page.should have_content "found you!"  end