提交 352690e1 编写于 作者: R Ronak Jangir

Removed mocha from Railites PluginGeneratorTest

上级 6073dcd3
require 'generators/generators_test_helper' require 'generators/generators_test_helper'
require 'rails/generators/rails/plugin/plugin_generator' require 'rails/generators/rails/plugin/plugin_generator'
require 'generators/shared_generator_tests' require 'generators/shared_generator_tests'
require 'mocha/setup' # FIXME: stop using mocha
DEFAULT_PLUGIN_FILES = %w( DEFAULT_PLUGIN_FILES = %w(
.gitignore .gitignore
......
...@@ -28,9 +28,22 @@ def test_skeleton_is_created ...@@ -28,9 +28,22 @@ def test_skeleton_is_created
def assert_generates_with_bundler(options = {}) def assert_generates_with_bundler(options = {})
generator([destination_root], options) generator([destination_root], options)
generator.expects(:bundle_command).with('install').once
generator.stubs(:bundle_command).with('exec spring binstub --all') command_check = -> command do
quietly { generator.invoke_all } @install_called ||= 0
case command
when 'install'
@install_called += 1
assert_equal 1, @install_called, "install expected to be called once, but was called #{@install_called} times"
when 'exec spring binstub --all'
# Called when running tests with spring, let through unscathed.
end
end
generator.stub :bundle_command, command_check do
quietly { generator.invoke_all }
end
end end
def test_generation_runs_bundle_install def test_generation_runs_bundle_install
...@@ -91,8 +104,15 @@ def test_template_is_executed_when_supplied_an_https_path ...@@ -91,8 +104,15 @@ def test_template_is_executed_when_supplied_an_https_path
template = %{ say "It works!" } template = %{ say "It works!" }
template.instance_eval "def read; self; end" # Make the string respond to read template.instance_eval "def read; self; end" # Make the string respond to read
generator([destination_root], template: path).expects(:open).with(path, 'Accept' => 'application/x-thor-template').returns(template) check_open = -> *args do
quietly { assert_match(/It works!/, capture(:stdout) { generator.invoke_all }) } assert_equal [ path, 'Accept' => 'application/x-thor-template' ], args
template
end
generator = generator([destination_root], template: path)
generator([destination_root], template: path).stub(:open, check_open, template) do
quietly { assert_match(/It works!/, capture(:stdout) { generator.invoke_all }) }
end
end end
def test_dev_option def test_dev_option
...@@ -107,18 +127,19 @@ def test_edge_option ...@@ -107,18 +127,19 @@ def test_edge_option
end end
def test_skip_gemfile def test_skip_gemfile
generator([destination_root], skip_gemfile: true).expects(:bundle_command).never assert_not_called(generator([destination_root], skip_gemfile: true), :bundle_command) do
quietly { generator.invoke_all } quietly { generator.invoke_all }
assert_no_file 'Gemfile' assert_no_file 'Gemfile'
end
end end
def test_skip_bundle def test_skip_bundle
generator([destination_root], skip_bundle: true).expects(:bundle_command).never assert_not_called(generator([destination_root], skip_bundle: true), :bundle_command) do
quietly { generator.invoke_all } quietly { generator.invoke_all }
# skip_bundle is only about running bundle install, ensure the Gemfile is still
# skip_bundle is only about running bundle install, ensure the Gemfile is still # generated.
# generated. assert_file 'Gemfile'
assert_file 'Gemfile' end
end end
def test_skip_git def test_skip_git
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册