class UrlRewriterTests

Public Instance Methods

setup() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 20
def setup
  @params = {}
  @rewriter = Rewriter.new(@request) #.new(@request, @params)
  @routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
    r.draw do
      ActiveSupport::Deprecation.silence do
        get ":controller(/:action(/:id))"
      end
    end
  end
end
test_anchor() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 62
def test_anchor
  assert_equal(
    "http://test.host/c/a/i#anchor",
    @rewriter.rewrite(@routes, controller: "c", action: "a", id: "i", anchor: "anchor")
  )
end
test_anchor_should_be_uri_escaped() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 76
def test_anchor_should_be_uri_escaped
  assert_equal(
    "http://test.host/c/a/i#anc/hor",
    @rewriter.rewrite(@routes, controller: "c", action: "a", id: "i", anchor: Struct.new(:to_param).new("anc/hor"))
  )
end
test_anchor_should_call_to_param() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 69
def test_anchor_should_call_to_param
  assert_equal(
    "http://test.host/c/a/i#anchor",
    @rewriter.rewrite(@routes, controller: "c", action: "a", id: "i", anchor: Struct.new(:to_param).new("anchor"))
  )
end
test_port() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 32
def test_port
  assert_equal("http://test.host:1271/c/a/i",
    @rewriter.rewrite(@routes, controller: "c", action: "a", id: "i", port: 1271)
  )
end
test_protocol_with_and_without_separator() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 38
def test_protocol_with_and_without_separator
  assert_equal("https://test.host/c/a/i",
    @rewriter.rewrite(@routes, protocol: "https", controller: "c", action: "a", id: "i")
  )

  assert_equal("https://test.host/c/a/i",
    @rewriter.rewrite(@routes, protocol: "https://", controller: "c", action: "a", id: "i")
  )
end
test_trailing_slash() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 83
def test_trailing_slash
  options = { controller: "foo", action: "bar", id: "3", only_path: true }
  assert_equal "/foo/bar/3", @rewriter.rewrite(@routes, options)
  assert_equal "/foo/bar/3?query=string", @rewriter.rewrite(@routes, options.merge(query: "string"))
  options.update(trailing_slash: true)
  assert_equal "/foo/bar/3/", @rewriter.rewrite(@routes, options)
  options.update(query: "string")
  assert_equal "/foo/bar/3/?query=string", @rewriter.rewrite(@routes, options)
end
test_user_name_and_password() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 48
def test_user_name_and_password
  assert_equal(
    "http://david:secret@test.host/c/a/i",
    @rewriter.rewrite(@routes, user: "david", password: "secret", controller: "c", action: "a", id: "i")
  )
end
test_user_name_and_password_with_escape_codes() click to toggle source
# File actionpack/test/controller/url_rewriter_test.rb, line 55
def test_user_name_and_password_with_escape_codes
  assert_equal(
    "http://openid.aol.com%2Fnextangler:one+two%3F@test.host/c/a/i",
    @rewriter.rewrite(@routes, user: "openid.aol.com/nextangler", password: "one two?", controller: "c", action: "a", id: "i")
  )
end