require "abstract_unit" unless defined?(Rails) && defined?(Rails::Info) module Rails class Info; end end end require "active_support/core_ext/kernel/reporting" class InfoTest < ActiveSupport::TestCase def setup Rails.send :remove_const, :Info silence_warnings { load "rails/info.rb" } end def test_property_with_block_swallows_exceptions_and_ignores_property assert_nothing_raised do Rails::Info.module_eval do property("Bogus") { raise } end end assert !property_defined?("Bogus") end def test_property_with_string Rails::Info.module_eval do property "Hello", "World" end assert_property "Hello", "World" end def test_property_with_block Rails::Info.module_eval do property("Goodbye") { "World" } end assert_property "Goodbye", "World" end def test_rails_version assert_property "Rails version", File.read(File.realpath("../../RAILS_VERSION", __dir__)).chomp end def test_html_includes_middleware Rails::Info.module_eval do property "Middleware", ["Rack::Lock", "Rack::Static"] end html = Rails::Info.to_html assert_includes html, '