diff options
Diffstat (limited to 'railties/test/application/url_generation_test.rb')
-rw-r--r-- | railties/test/application/url_generation_test.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/railties/test/application/url_generation_test.rb b/railties/test/application/url_generation_test.rb new file mode 100644 index 0000000000..f22b9fda3d --- /dev/null +++ b/railties/test/application/url_generation_test.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +require "isolation/abstract_unit" + +module ApplicationTests + class UrlGenerationTest < ActiveSupport::TestCase + include ActiveSupport::Testing::Isolation + + def app + Rails.application + end + + test "it works" do + require "rails" + require "action_controller/railtie" + require "action_view/railtie" + + class MyApp < Rails::Application + config.session_store :cookie_store, key: "_myapp_session" + config.active_support.deprecation = :log + config.eager_load = false + end + + Rails.application.initialize! + + class ::ApplicationController < ActionController::Base + end + + class ::OmgController < ::ApplicationController + def index + render plain: omg_path + end + end + + MyApp.routes.draw do + get "/" => "omg#index", as: :omg + end + + require "rack/test" + extend Rack::Test::Methods + + get "/" + assert_equal "/", last_response.body + end + + def test_routes_know_the_relative_root + require "rails" + require "action_controller/railtie" + require "action_view/railtie" + + relative_url = "/hello" + ENV["RAILS_RELATIVE_URL_ROOT"] = relative_url + app = Class.new(Rails::Application) + assert_equal relative_url, app.routes.relative_url_root + ENV["RAILS_RELATIVE_URL_ROOT"] = nil + end + end +end |