Methods
Instance Public methods
assert_output(expected, timeout = 1)
Link
# File railties/test/application/console_test.rb, line 120 def assert_output(expected, timeout = 1) timeout = Time.now + timeout output = "" until output.include?(expected) || Time.now > timeout if IO.select([@master], [], [], 0.1) output << @master.read(1) end end assert output.include?(expected), "#{expected.inspect} expected, but got:\n\n#{output}" end
setup()
Link
# File railties/test/application/console_test.rb, line 103 def setup skip "PTY unavailable" unless defined?(PTY) && PTY.respond_to?(:open) build_app app_file 'app/models/post.rb', <<-CODE class Post < ActiveRecord::Base end CODE system "#{app_path}/bin/rails runner 'Post.connection.create_table :posts'" @master, @slave = PTY.open end
spawn_console()
Link
teardown()
Link
test_sandbox()
Link
# File railties/test/application/console_test.rb, line 149 def test_sandbox spawn_console write_prompt "Post.count", "=> 0" write_prompt "Post.create" write_prompt "Post.count", "=> 1" @master.puts "quit" spawn_console write_prompt "Post.count", "=> 0" write_prompt "Post.transaction { Post.create; raise }" write_prompt "Post.count", "=> 0" @master.puts "quit" end