Skip to content

Instantly share code, notes, and snippets.

@domcleal
Created January 23, 2017 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save domcleal/a3cd06d542ab8e23b98eb2f67b81e10d to your computer and use it in GitHub Desktop.
Save domcleal/a3cd06d542ab8e23b98eb2f67b81e10d to your computer and use it in GitHub Desktop.
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
source "https://rubygems.org"
gem "rails", github: "rails/rails"
gem "arel", github: "rails/arel"
end
require "action_controller/railtie"
class TestApp < Rails::Application
config.root = File.dirname(__FILE__)
secrets.secret_token = "secret_token"
secrets.secret_key_base = "secret_key_base"
config.logger = Logger.new($stdout)
Rails.logger = config.logger
routes.draw do
get "/" => "test#type"
end
end
class TestController < ActionController::Base
include Rails.application.routes.url_helpers
def type
Rails.logger.info "PATH_INFO=#{request.env['PATH_INFO'].inspect}, format=#{request.format.to_s}"
render plain: request.format
end
end
require "minitest/autorun"
require "rack/test"
class BugTest < ActionController::TestCase
setup do
@controller = TestController.new
@routes = ActionDispatch::Routing::RouteSet.new.tap do |r|
r.draw do
ActiveSupport::Deprecation.silence do
get ':controller(/:action(/:id))'
end
end
end
end
def test_missing_format_defaults_back_to_html
# uncomment to make the test pass
#get :type
get :type, format: 'json'
assert_equal 'application/json', @response.body
get :type
assert_equal 'text/html', @response.body
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment