aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/console_test.rb18
-rw-r--r--railties/test/commands/console_test.rb21
2 files changed, 18 insertions, 21 deletions
diff --git a/railties/test/application/console_test.rb b/railties/test/application/console_test.rb
index 588682d3d4..592bd73924 100644
--- a/railties/test/application/console_test.rb
+++ b/railties/test/application/console_test.rb
@@ -119,9 +119,11 @@ class FullStackConsoleTest < ActiveSupport::TestCase
assert output.include?(expected), "#{expected.inspect} expected, but got:\n\n#{output}"
end
- def write_prompt(command)
+ def write_prompt(command, expected_output = nil)
@master.puts command
assert_output command
+ assert_output expected_output if expected_output
+ assert_output "> "
end
def kill(pid)
@@ -143,21 +145,17 @@ class FullStackConsoleTest < ActiveSupport::TestCase
def test_sandbox
pid = spawn_console
- write_prompt "Post.count"
- assert_output "=> 0"
-
+ write_prompt "Post.count", "=> 0"
write_prompt "Post.create"
- assert_output "=> "
-
- write_prompt "Post.count"
- assert_output "=> 1"
+ write_prompt "Post.count", "=> 1"
kill pid
pid = spawn_console
- write_prompt "Post.count"
- assert_output "=> 0"
+ write_prompt "Post.count", "=> 0"
+ write_prompt "Post.transaction { Post.create; raise }"
+ write_prompt "Post.count", "=> 0"
ensure
kill pid
end
diff --git a/railties/test/commands/console_test.rb b/railties/test/commands/console_test.rb
index 6be4a5fe89..3c784b43be 100644
--- a/railties/test/commands/console_test.rb
+++ b/railties/test/commands/console_test.rb
@@ -58,10 +58,7 @@ class Rails::ConsoleTest < ActiveSupport::TestCase
end
def test_console_defaults_to_IRB
- config = mock("config", console: nil)
- app = mock("app", config: config)
- app.expects(:load_console).returns(nil)
-
+ app = build_app(console: nil)
assert_equal IRB, Rails::Console.new(app).console
end
@@ -127,13 +124,15 @@ class Rails::ConsoleTest < ActiveSupport::TestCase
end
def app
- @app ||= begin
- config = mock("config", console: FakeConsole)
- app = mock("app", config: config)
- app.stubs(:sandbox=).returns(nil)
- app.expects(:load_console)
- app
- end
+ @app ||= build_app(console: FakeConsole)
+ end
+
+ def build_app(config)
+ config = mock("config", config)
+ app = mock("app", config: config)
+ app.stubs(:sandbox=).returns(nil)
+ app.expects(:load_console)
+ app
end
def parse_arguments(args)