From 198a355fee7a8a7438f37818b83c3ca1a91ee9ea Mon Sep 17 00:00:00 2001 From: namusyaka Date: Wed, 13 Aug 2014 16:45:05 +0900 Subject: [PATCH 1/3] Fix a test that was not working well --- padrino-admin/test/generators/test_admin_app_generator.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/padrino-admin/test/generators/test_admin_app_generator.rb b/padrino-admin/test/generators/test_admin_app_generator.rb index 7e230ac0b..c68198e23 100644 --- a/padrino-admin/test/generators/test_admin_app_generator.rb +++ b/padrino-admin/test/generators/test_admin_app_generator.rb @@ -208,11 +208,8 @@ seeds_rb.puts "# Old Seeds Content" end - capture_io do - $stdout.expects(:print).with { |value| value =~ /Overwrite\s.*?\/db\/seeds.rb/ }.never - $stdin.stubs(:gets).returns('y') - generate(:admin_app, "--root=#{@apptmp}/sample_project") - end + out, err = capture_io { generate(:admin_app, "--root=#{@apptmp}/sample_project") } + refute_match /Overwrite\s.*?\/db\/seeds.rb/, out assert_file_exists "#{@apptmp}/sample_project/db/seeds.old" assert_match_in_file 'Account.create(', "#{@apptmp}/sample_project/db/seeds.rb" From 230b54b1e67c99fe843814ae943757bbb2d02c19 Mon Sep 17 00:00:00 2001 From: namusyaka Date: Wed, 13 Aug 2014 16:46:12 +0900 Subject: [PATCH 2/3] Update a few stubs for the thor generator Thor has been using Readline.readline instead of $stdin.gets in this case --- padrino-gen/test/test_component_generator.rb | 24 ++++++++------------ 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/padrino-gen/test/test_component_generator.rb b/padrino-gen/test/test_component_generator.rb index 052c5648b..0375e2bf5 100644 --- a/padrino-gen/test/test_component_generator.rb +++ b/padrino-gen/test/test_component_generator.rb @@ -79,25 +79,21 @@ def teardown capture_io { generate(:project, 'sample_project', '-renderer=slim', "--root=#{@apptmp}") } components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") assert_equal 'slim', components_chosen[:renderer] - $stdin.stub(:gets, 'yes') do - out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") } - assert_match(/applying.*?haml.*?renderer/, out) - assert_match(/Switch renderer to/, out) - components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") - assert_equal 'haml', components_chosen[:renderer] - end + Readline.stubs(:readline).returns('yes').once + out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") } + assert_match(/applying.*?haml.*?renderer/, out) + components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") + assert_equal 'haml', components_chosen[:renderer] end it 'should when deny changes, will not be applied' do capture_io { generate(:project, 'sample_project', '-renderer=slim', "--root=#{@apptmp}") } components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") assert_equal 'slim', components_chosen[:renderer] - $stdin.stub(:gets, 'no') do - out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") } - refute_match(/applying.*?haml.*?renderer/, out) - assert_match(/Switch renderer to/, out) - components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") - assert_equal 'slim', components_chosen[:renderer] - end + Readline.stubs(:readline).returns('no').once + out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") } + refute_match(/applying.*?haml.*?renderer/, out) + components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components") + assert_equal 'slim', components_chosen[:renderer] end end From f5eafea9e5f1fc6f62f22087c92a308261e04b21 Mon Sep 17 00:00:00 2001 From: namusyaka Date: Wed, 13 Aug 2014 16:51:08 +0900 Subject: [PATCH 3/3] Get rid of an unnecessary test This test case is an unnecessary, because the generator will abort if model already exists --- padrino-gen/test/test_model_generator.rb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/padrino-gen/test/test_model_generator.rb b/padrino-gen/test/test_model_generator.rb index 2cddbb874..b857bc2b4 100644 --- a/padrino-gen/test/test_model_generator.rb +++ b/padrino-gen/test/test_model_generator.rb @@ -57,15 +57,6 @@ def teardown assert_match_in_file(/DataMapper.finalize/m,"#{@apptmp}/sample_project/config/boot.rb") end - it 'should generate only generate model once' do - capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=activerecord') } - response_success = capture_io { generate(:model, 'user', "-r=#{@apptmp}/sample_project") } - out, err = capture_io { generate(:model, 'user', "-r=#{@apptmp}/sample_project") } - assert_match_in_file(/class User < ActiveRecord::Base/m, "#{@apptmp}/sample_project/models/user.rb") - assert_match(/identical\e\[0m models\/user\.rb/, out) - assert_match(/identical\e\[0m test\/models\/user_test\.rb/, out) - end - it 'should generate migration file versions properly' do capture_io { generate(:project, 'sample_project', "--migration_format=number", "--root=#{@apptmp}", '--script=none', '-t=bacon', '-d=activerecord') } capture_io { generate(:model, 'user', "-r=#{@apptmp}/sample_project") }