padrino-gen 0.12.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +1 -1
  3. data/lib/padrino-gen.rb +0 -1
  4. data/lib/padrino-gen/generators/app.rb +22 -14
  5. data/lib/padrino-gen/generators/app/app.rb.tt +0 -1
  6. data/lib/padrino-gen/generators/cli.rb +1 -2
  7. data/lib/padrino-gen/generators/components/actions.rb +1 -1
  8. data/lib/padrino-gen/generators/components/mocks/rr.rb +2 -2
  9. data/lib/padrino-gen/generators/components/orms/activerecord.rb +3 -0
  10. data/lib/padrino-gen/generators/components/orms/datamapper.rb +21 -0
  11. data/lib/padrino-gen/generators/components/orms/dynamoid.rb +67 -0
  12. data/lib/padrino-gen/generators/components/orms/minirecord.rb +3 -0
  13. data/lib/padrino-gen/generators/components/tests/cucumber.rb +1 -1
  14. data/lib/padrino-gen/generators/components/tests/minitest.rb +1 -1
  15. data/lib/padrino-gen/generators/components/tests/rspec.rb +4 -4
  16. data/lib/padrino-gen/generators/model.rb +73 -29
  17. data/lib/padrino-gen/generators/project.rb +7 -3
  18. data/lib/padrino-gen/generators/project/config/apps.rb.tt +0 -1
  19. data/lib/padrino-gen/generators/templates/Gemfile.tt +1 -1
  20. data/lib/padrino-gen/padrino-tasks/activerecord.rb +43 -39
  21. data/lib/padrino-gen/padrino-tasks/database.rb +2 -1
  22. data/lib/padrino-gen/padrino-tasks/sql-helpers.rb +24 -16
  23. data/test/helper.rb +4 -3
  24. data/test/test_app_generator.rb +13 -13
  25. data/test/test_cli.rb +4 -4
  26. data/test/test_component_generator.rb +18 -18
  27. data/test/test_controller_generator.rb +26 -26
  28. data/test/test_generator.rb +2 -3
  29. data/test/test_mailer_generator.rb +10 -10
  30. data/test/test_migration_generator.rb +42 -27
  31. data/test/test_model_generator.rb +95 -74
  32. data/test/test_plugin_generator.rb +23 -23
  33. data/test/test_project_generator.rb +100 -83
  34. data/test/test_task_generator.rb +7 -7
  35. metadata +9 -8
@@ -1,4 +1,5 @@
1
- if PadrinoTasks.load?(:database, true)
1
+ has_seeds = File.file?('db/seeds.rb')
2
+ if PadrinoTasks.load?(:database, has_seeds)
2
3
  namespace :db do
3
4
  desc 'Load the seed data from db/seeds.rb'
4
5
  task :seed => :environment do
@@ -1,27 +1,31 @@
1
1
  module Padrino
2
- module Generators
2
+ module Generators
3
3
  module SqlHelpers
4
4
  def self.create_db(adapter, user, password, host, database, charset, collation)
5
5
  case adapter
6
6
  when 'postgres'
7
+ environment = {}
8
+ environment['PGPASSWORD'] = password unless password.blank?
9
+
7
10
  arguments = []
8
11
  arguments << "--encoding=#{charset}" if charset
9
12
  arguments << "--host=#{host}" if host
10
13
  arguments << "--username=#{user}" if user
11
14
  arguments << database
12
- system("createdb", *arguments)
15
+
16
+ Process.wait Process.spawn(environment, 'createdb', *arguments)
13
17
  when 'mysql'
14
- arguments = ["--user=#{user}"]
15
- arguments << "--password=#{password}" unless password.blank?
16
-
17
- unless %w[127.0.0.1 localhost].include?(host)
18
- arguments << "--host=#{host}"
19
- end
18
+ environment = {}
19
+ environment['MYSQL_PWD'] = password unless password.blank?
20
+
21
+ arguments = []
22
+ arguments << "--user=#{user}" if user
23
+ arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
20
24
 
21
25
  arguments << '-e'
22
26
  arguments << "CREATE DATABASE #{database} DEFAULT CHARACTER SET #{charset} DEFAULT COLLATE #{collation}"
23
27
 
24
- system('mysql',*arguments)
28
+ Process.wait Process.spawn(environment, 'mysql', *arguments)
25
29
  else
26
30
  raise "Adapter #{adapter} not supported for creating databases yet."
27
31
  end
@@ -30,23 +34,27 @@ module Padrino
30
34
  def self.drop_db(adapter, user, password, host, database)
31
35
  case adapter
32
36
  when 'postgres'
37
+ environment = {}
38
+ environment['PGPASSWORD'] = password unless password.blank?
39
+
33
40
  arguments = []
34
41
  arguments << "--host=#{host}" if host
35
42
  arguments << "--username=#{user}" if user
36
43
  arguments << database
37
- system("dropdb", *arguments)
44
+
45
+ Process.wait Process.spawn(environment, 'dropdb', *arguments)
38
46
  when 'mysql'
39
- arguments = ["--user=#{user}"]
40
- arguments << "--password=#{password}" unless password.blank?
47
+ environment = {}
48
+ environment['MYSQL_PWD'] = password unless password.blank?
41
49
 
42
- unless %w[127.0.0.1 localhost].include?(host)
43
- arguments << "--host=#{host}"
44
- end
50
+ arguments = []
51
+ arguments << "--user=#{user}" if user
52
+ arguments << "--host=#{host}" unless %w[127.0.0.1 localhost].include?(host)
45
53
 
46
54
  arguments << '-e'
47
55
  arguments << "DROP DATABASE IF EXISTS #{database}"
48
56
 
49
- system('mysql',*arguments)
57
+ Process.wait Process.spawn(environment, 'mysql', *arguments)
50
58
  else
51
59
  raise "Adapter #{adapter} not supported for dropping databases yet."
52
60
  end
data/test/helper.rb CHANGED
@@ -1,8 +1,9 @@
1
1
  require File.expand_path('../../../load_paths', __FILE__)
2
- require File.join(File.dirname(__FILE__), '..', '..', 'padrino-core', 'test', 'mini_shoulda')
2
+ require 'minitest/autorun'
3
+ require 'minitest/pride'
4
+ require 'mocha/setup'
3
5
  require 'rack/test'
4
6
  require 'rack'
5
- require 'uuid'
6
7
  require 'webrat'
7
8
  require 'fakeweb'
8
9
  require 'thor/group'
@@ -90,7 +91,7 @@ class MiniTest::Spec
90
91
  end
91
92
 
92
93
  def assert_no_match_in_file(pattern, file)
93
- File.exist?(file) ? assert_no_match(pattern, File.read(file)) : assert_file_exists(file)
94
+ File.exist?(file) ? refute_match(pattern, File.read(file)) : assert_file_exists(file)
94
95
  end
95
96
 
96
97
  # expects_generated :model, "post title:string body:text"
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/helper')
2
2
 
3
3
  describe "AppGenerator" do
4
4
  def setup
5
- @apptmp = "#{Dir.tmpdir}/padrino-tests/#{UUID.new.generate}"
5
+ @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
7
7
  end
8
8
 
@@ -10,14 +10,14 @@ describe "AppGenerator" do
10
10
  `rm -rf #{@apptmp}`
11
11
  end
12
12
 
13
- context 'the app generator' do
14
- should "fail outside app root" do
13
+ describe 'the app generator' do
14
+ it 'should fail outside app root' do
15
15
  out, err = capture_io { generate(:app, 'demo_root', "-r=#{@apptmp}") }
16
16
  assert_match(/not at the root/, out)
17
17
  assert_no_file_exists("#{@apptmp}/demo_root")
18
18
  end
19
19
 
20
- should "create correctly a new padrino application" do
20
+ it 'should create correctly a new padrino application' do
21
21
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
22
22
  capture_io { generate(:app, 'demo', "--root=#{@apptmp}/sample_project") }
23
23
  assert_file_exists("#{@apptmp}/sample_project")
@@ -35,7 +35,7 @@ describe "AppGenerator" do
35
35
  assert_match_in_file(/set :session_secret, '[0-9A-z]*'/, "#{@apptmp}/sample_project/config/apps.rb")
36
36
  end
37
37
 
38
- should "create correctly a new padrino application with an underscore name" do
38
+ it 'should create correctly a new padrino application with an underscore name' do
39
39
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
40
40
  capture_io { generate(:app, 'demo_app', "--root=#{@apptmp}/sample_project") }
41
41
  assert_file_exists("#{@apptmp}/sample_project")
@@ -53,7 +53,7 @@ describe "AppGenerator" do
53
53
  assert_match_in_file(/set :session_secret, '[0-9A-z]*'/, "#{@apptmp}/sample_project/config/apps.rb")
54
54
  end
55
55
 
56
- should "generate tiny app skeleton" do
56
+ it 'should generate tiny app skeleton' do
57
57
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
58
58
  capture_io { generate(:app, 'demo','--tiny',"--root=#{@apptmp}/sample_project") }
59
59
  assert_file_exists("#{@apptmp}/sample_project")
@@ -67,7 +67,7 @@ describe "AppGenerator" do
67
67
  assert_no_file_exists("#{@apptmp}/sample_project/demo/controllers")
68
68
  end
69
69
 
70
- should "correctly create a new controller inside a padrino application" do
70
+ it 'should correctly create a new controller inside a padrino application' do
71
71
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
72
72
  capture_io { generate(:app, 'demo', "--root=#{@apptmp}/sample_project") }
73
73
  capture_io { generate(:controller, 'demo_items', "-r=#{@apptmp}/sample_project", '-a=demo') }
@@ -76,7 +76,7 @@ describe "AppGenerator" do
76
76
  assert_file_exists("#{@apptmp}/sample_project/demo/views/demo_items")
77
77
  end
78
78
 
79
- should "correctly create a new mailer inside a padrino application" do
79
+ it 'should correctly create a new mailer inside a padrino application' do
80
80
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
81
81
  capture_io { generate(:app, 'demo_app', "--root=#{@apptmp}/sample_project") }
82
82
  capture_io { generate(:mailer, 'demo', "-r=#{@apptmp}/sample_project", '-a=demo_app') }
@@ -84,11 +84,11 @@ describe "AppGenerator" do
84
84
 
85
85
  # only destroys what it generated.
86
86
  # hence, the folder will still exists if other changes were made to it.
87
- should "destroys itself" do
87
+ it 'should destroys itself' do
88
88
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
89
89
  capture_io { generate(:app, 'demo', "--root=#{@apptmp}/sample_project") }
90
- out, err = capture_io { generate(:app, 'demo', "--root=#{@apptmp}/sample_project", '-d') }
91
- assert_no_match(/has been mounted/, out)
90
+ out, err = capture_io { generate_with_parts(:app, 'demo', "--root=#{@apptmp}/sample_project", '-d', :apps => "demo") }
91
+ refute_match(/has been mounted/, out)
92
92
  assert_no_dir_exists("#{@apptmp}/sample_project/public/demo")
93
93
  assert_no_file_exists("#{@apptmp}/sample_project/demo/app.rb")
94
94
  assert_no_dir_exists("#{@apptmp}/sample_project/demo/controllers")
@@ -97,7 +97,7 @@ describe "AppGenerator" do
97
97
  assert_no_match_in_file(/Padrino\.mount\("Demo"\).to\("\/demo"\)/,"#{@apptmp}/sample_project/config/apps.rb")
98
98
  end
99
99
 
100
- should "abort if app name already exists" do
100
+ it 'should abort if app name already exists' do
101
101
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
102
102
  out, err = capture_io { generate(:app, 'kernel', "--root=#{@apptmp}/sample_project") }
103
103
  assert_match(/Kernel already exists/, out)
@@ -107,7 +107,7 @@ describe "AppGenerator" do
107
107
  assert_no_file_exists("#{@apptmp}/sample_project/kernel/app.rb")
108
108
  end
109
109
 
110
- should "abort if app name already exists in root" do
110
+ it 'should abort if app name already exists in root' do
111
111
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
112
112
  capture_io { generate(:app, 'subapp', "--root=#{@apptmp}/sample_project") }
113
113
  out, err = capture_io { generate_with_parts(:app, 'subapp', "--root=#{@apptmp}/sample_project", :apps => "subapp") }
data/test/test_cli.rb CHANGED
@@ -3,7 +3,7 @@ require 'padrino-gen/generators/cli'
3
3
 
4
4
  describe "Cli" do
5
5
  def setup
6
- @apptmp = "#{Dir.tmpdir}/padrino-tests/#{UUID.new.generate}"
6
+ @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
7
7
  `mkdir -p #{@apptmp}`
8
8
  end
9
9
 
@@ -11,14 +11,14 @@ describe "Cli" do
11
11
  `rm -rf #{@apptmp}`
12
12
  end
13
13
 
14
- context 'the cli' do
14
+ describe 'the cli' do
15
15
 
16
- should "fail without arguments" do
16
+ it 'should fail without arguments' do
17
17
  out, err = capture_io { generate(:cli) }
18
18
  assert_match(/Please specify generator to use/, out)
19
19
  end
20
20
 
21
- should "work correctly if we have a project" do
21
+ it 'should work correctly if we have a project' do
22
22
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
23
23
  capture_io { generate(:cli, "--root=#{@apptmp}/sample_project") }
24
24
  skip "Make a great asserition"
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/helper')
2
2
 
3
3
  describe "ComponentGenerator" do
4
4
  def setup
5
- @apptmp = "#{Dir.tmpdir}/padrino-tests/#{UUID.new.generate}"
5
+ @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
7
7
  end
8
8
 
@@ -10,49 +10,49 @@ describe "ComponentGenerator" do
10
10
  `rm -rf #{@apptmp}`
11
11
  end
12
12
 
13
- context 'the controller generator' do
14
- should "fail outside app root" do
13
+ describe 'the controller generator' do
14
+ it 'should fail outside app root' do
15
15
  out, err = capture_io { generate(:component, 'demo', "-r=#{@apptmp}") }
16
16
  assert_match(/not at the root/, out)
17
17
  end
18
18
  end
19
19
 
20
20
 
21
- context "add components" do
22
- should "properly generate default" do
21
+ describe "add components" do
22
+ it 'should properly generate default' do
23
23
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
24
24
  out, err = capture_io { generate(:component, '--orm=activerecord', "-r=#{@apptmp}/sample_project") }
25
25
  assert_match(/applying.*?activerecord.*?orm/, out)
26
26
  assert_match_in_file(/gem 'activerecord', '>= 3.1', :require => 'active_record'/, "#{@apptmp}/sample_project/Gemfile")
27
27
  assert_match_in_file(/gem 'sqlite3'/, "#{@apptmp}/sample_project/Gemfile")
28
- assert_no_match(/Switch renderer to/, out)
28
+ refute_match(/Switch renderer to/, out)
29
29
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
30
30
  assert_equal 'activerecord', components_chosen[:orm]
31
31
  end
32
32
 
33
- should "properly generate with adapter" do
33
+ it 'should properly generate with adapter' do
34
34
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
35
35
  out, err = capture_io { generate(:component, '--orm=sequel', '--adapter=postgres', "-r=#{@apptmp}/sample_project") }
36
36
  assert_match_in_file(/gem 'pg'/, "#{@apptmp}/sample_project/Gemfile")
37
- assert_no_match(/Switch renderer to/, out)
37
+ refute_match(/Switch renderer to/, out)
38
38
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
39
39
  assert_equal 'sequel', components_chosen[:orm]
40
40
  end
41
41
 
42
- should "enable @app_name value" do
42
+ it 'should enable @app_name value' do
43
43
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
44
44
  out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "-r=#{@apptmp}/sample_project", :apps => "app") }
45
45
  assert_match_in_file(/SampleProject::App\.tap \{ \|app\| \}/, "#{@apptmp}/sample_project/features/support/env.rb")
46
46
  end
47
47
 
48
- should "generate component in specified app" do
48
+ it 'should generate component in specified app' do
49
49
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
50
50
  capture_io { generate(:app, 'compo', "-r=#{@apptmp}/sample_project") }
51
51
  out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "--app=compo", "-r=#{@apptmp}/sample_project", :apps => "compo") }
52
52
  assert_match_in_file(/SampleProject::Compo\.tap \{ \|app\| \}/, "#{@apptmp}/sample_project/features/support/env.rb")
53
53
  end
54
54
 
55
- should "not generate component in specified app if the app does not exist" do
55
+ it 'should not generate component in specified app if the app does not exist' do
56
56
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}") }
57
57
  out, err = capture_io { generate_with_parts(:component, '--test=cucumber', "--app=compo", "-r=#{@apptmp}/sample_project", :apps => "compo") }
58
58
  assert_match(/SampleProject::Compo does not exist./, out)
@@ -60,22 +60,22 @@ describe "ComponentGenerator" do
60
60
  end
61
61
  end
62
62
 
63
- context "specified of same the component" do
64
- should "does not change" do
63
+ describe "specified of same the component" do
64
+ it 'should does not change' do
65
65
  capture_io { generate(:project, 'sample_project', '--script=jquery', "--root=#{@apptmp}") }
66
66
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
67
67
  assert_equal 'jquery', components_chosen[:script]
68
68
  out, err = capture_io { generate(:component, '--script=jquery', "-r=#{@apptmp}/sample_project") }
69
69
  assert_match(/applying.*?jquery.*?script/, out)
70
- assert_no_match(/Switch renderer to/, out)
70
+ refute_match(/Switch renderer to/, out)
71
71
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
72
72
  assert_equal 'jquery', components_chosen[:script]
73
73
  end
74
74
  end
75
75
 
76
76
 
77
- context "component changes" do
78
- should "when allow changes, will be applied" do
77
+ describe "component changes" do
78
+ it 'should when allow changes, will be applied' do
79
79
  capture_io { generate(:project, 'sample_project', '-renderer=slim', "--root=#{@apptmp}") }
80
80
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
81
81
  assert_equal 'slim', components_chosen[:renderer]
@@ -87,13 +87,13 @@ describe "ComponentGenerator" do
87
87
  assert_equal 'haml', components_chosen[:renderer]
88
88
  end
89
89
  end
90
- should "when deny changes, will not be applied" do
90
+ it 'should when deny changes, will not be applied' do
91
91
  capture_io { generate(:project, 'sample_project', '-renderer=slim', "--root=#{@apptmp}") }
92
92
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
93
93
  assert_equal 'slim', components_chosen[:renderer]
94
94
  $stdin.stub(:gets, 'no') do
95
95
  out, err = capture_io { generate(:component, '--renderer=haml', "-r=#{@apptmp}/sample_project") }
96
- assert_no_match(/applying.*?haml.*?renderer/, out)
96
+ refute_match(/applying.*?haml.*?renderer/, out)
97
97
  assert_match(/Switch renderer to/, out)
98
98
  components_chosen = YAML.load_file("#{@apptmp}/sample_project/.components")
99
99
  assert_equal 'slim', components_chosen[:renderer]
@@ -2,7 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/helper')
2
2
 
3
3
  describe "ControllerGenerator" do
4
4
  def setup
5
- @apptmp = "#{Dir.tmpdir}/padrino-tests/#{UUID.new.generate}"
5
+ @apptmp = "#{Dir.tmpdir}/padrino-tests/#{SecureRandom.hex}"
6
6
  `mkdir -p #{@apptmp}`
7
7
  @controller_path = "#{@apptmp}/sample_project/app/controllers/demo_items.rb"
8
8
  @controller_test_path = "#{@apptmp}/sample_project/test/app/controllers/demo_items_controller_test.rb"
@@ -12,14 +12,14 @@ describe "ControllerGenerator" do
12
12
  `rm -rf #{@apptmp}`
13
13
  end
14
14
 
15
- context 'the controller generator' do
16
- should "fail outside app root" do
15
+ describe 'the controller generator' do
16
+ it 'should fail outside app root' do
17
17
  out, err = capture_io { generate(:controller, 'demo', "-r=#{@apptmp}") }
18
18
  assert_match(/not at the root/, out)
19
19
  assert_no_file_exists("#{@apptmp}/app/controllers/demo.rb")
20
20
  end
21
21
 
22
- should "generate controller within existing project" do
22
+ it 'should generate controller within existing project' do
23
23
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
24
24
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
25
25
  assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
@@ -28,7 +28,7 @@ describe "ControllerGenerator" do
28
28
  assert_file_exists(@controller_test_path)
29
29
  end
30
30
 
31
- should "generate controller within existing project with weird name" do
31
+ it 'should generate controller within existing project with weird name' do
32
32
  capture_io { generate(:project, 'warepedia', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
33
33
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/warepedia") }
34
34
  assert_match_in_file(/Warepedia::App.controllers :demo_items do/m, "#{@apptmp}/warepedia/app/controllers/demo_items.rb")
@@ -36,7 +36,7 @@ describe "ControllerGenerator" do
36
36
  assert_file_exists("#{@apptmp}/warepedia/app/views/demo_items")
37
37
  end
38
38
 
39
- should "generate controller in specified app" do
39
+ it 'should generate controller in specified app' do
40
40
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
41
41
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
42
42
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -46,43 +46,43 @@ describe "ControllerGenerator" do
46
46
  assert_match_in_file(/describe "DemoItemsController" do/m, @controller_test_path.gsub('app','subby'))
47
47
  end
48
48
 
49
- should "generate controller with specified layout" do
49
+ it 'should generate controller with specified layout' do
50
50
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
51
51
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-l=xyzlayout') }
52
52
  assert_match_in_file(/layout :xyzlayout/m, @controller_path)
53
53
  end
54
54
 
55
- should "generate controller without specified layout if empty" do
55
+ it 'should generate controller without specified layout if empty' do
56
56
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
57
57
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-l=') }
58
58
  assert_no_match_in_file(/layout/m, @controller_path)
59
59
  end
60
60
 
61
- should "generate controller with specified parent" do
61
+ it 'should generate controller with specified parent' do
62
62
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
63
63
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-p=user') }
64
64
  assert_match_in_file(/SampleProject::App.controllers :demo_items, :parent => :user do/m, @controller_path)
65
65
  end
66
66
 
67
- should "generate controller without specified parent" do
67
+ it 'should generate controller without specified parent' do
68
68
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
69
69
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-p=') }
70
70
  assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
71
71
  end
72
72
 
73
- should "generate controller with specified providers" do
73
+ it 'should generate controller with specified providers' do
74
74
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
75
75
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-f=:html, :js') }
76
76
  assert_match_in_file(/SampleProject::App.controllers :demo_items, :provides => \[:html, :js\] do/m, @controller_path)
77
77
  end
78
78
 
79
- should "generate controller without specified providers" do
79
+ it 'should generate controller without specified providers' do
80
80
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
81
81
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-f=') }
82
82
  assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
83
83
  end
84
84
 
85
- should "not fail if we don't have test component" do
85
+ it 'should not fail if we do not have test component' do
86
86
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--test=none') }
87
87
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
88
88
  assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
@@ -91,7 +91,7 @@ describe "ControllerGenerator" do
91
91
  assert_no_file_exists("#{@apptmp}/sample_project/test")
92
92
  end
93
93
 
94
- should "generate controller test for bacon" do
94
+ it 'should generate controller test for bacon' do
95
95
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
96
96
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
97
97
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -99,7 +99,7 @@ describe "ControllerGenerator" do
99
99
  assert_match_in_file(/describe "DemoItemsController" do/m, @controller_test_path.gsub('app','subby'))
100
100
  end
101
101
 
102
- should "generate controller test for riot" do
102
+ it 'should generate controller test for riot' do
103
103
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=riot') }
104
104
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
105
105
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -107,7 +107,7 @@ describe "ControllerGenerator" do
107
107
  assert_match_in_file(/context "DemoItemsController" do/m, @controller_test_path.gsub('app','subby'))
108
108
  end
109
109
 
110
- should "generate controller test for minitest" do
110
+ it 'should generate controller test for minitest' do
111
111
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=minitest') }
112
112
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
113
113
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -115,14 +115,14 @@ describe "ControllerGenerator" do
115
115
  assert_match_in_file(/describe "DemoItemsController" do/m, @controller_test_path.gsub('app', 'subby'))
116
116
  end
117
117
 
118
- should "generate controller test for rspec" do
118
+ it 'should generate controller test for rspec' do
119
119
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=rspec') }
120
120
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
121
121
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
122
122
  assert_match_in_file(/describe "DemoItemsController" do/m, "#{@apptmp}/sample_project/spec/subby/controllers/demo_items_controller_spec.rb")
123
123
  end
124
124
 
125
- should "generate controller test for shoulda" do
125
+ it 'should generate controller test for shoulda' do
126
126
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=shoulda') }
127
127
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
128
128
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -132,7 +132,7 @@ describe "ControllerGenerator" do
132
132
  assert_file_exists("#{@apptmp}/sample_project/test/subby/controllers/demo_items_controller_test.rb")
133
133
  end
134
134
 
135
- should "generate controller test for steak" do
135
+ it 'should generate controller test for steak' do
136
136
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=steak') }
137
137
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
138
138
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -140,7 +140,7 @@ describe "ControllerGenerator" do
140
140
  assert_match_in_file(/feature "DemoItemsController" do/m, "#{@apptmp}/sample_project/spec/subby/acceptance/controllers/demo_items_controller_spec.rb")
141
141
  end
142
142
 
143
- should "generate controller test for cucumber" do
143
+ it 'should generate controller test for cucumber' do
144
144
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=cucumber') }
145
145
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
146
146
  capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
@@ -148,7 +148,7 @@ describe "ControllerGenerator" do
148
148
  assert_match_in_file(/Capybara.app = /, "#{@apptmp}/sample_project/features/support/env.rb")
149
149
  end
150
150
 
151
- should "correctly generate file names" do
151
+ it 'should correctly generate file names' do
152
152
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=rspec') }
153
153
  capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
154
154
  assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
@@ -158,7 +158,7 @@ describe "ControllerGenerator" do
158
158
  end
159
159
 
160
160
  # Controller action generation
161
- should "generate actions for get:test post:yada" do
161
+ it 'should generate actions for get:test post:yada' do
162
162
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=shoulda') }
163
163
  capture_io { generate(:controller, 'demo_items', "get:test", "post:yada","-r=#{@apptmp}/sample_project") }
164
164
  assert_match_in_file(/get :test do\n\n end\n/m, @controller_path)
@@ -166,8 +166,8 @@ describe "ControllerGenerator" do
166
166
  end
167
167
  end
168
168
 
169
- context "the controller destroy option" do
170
- should "destroy controller files" do
169
+ describe "the controller destroy option" do
170
+ it 'should destroy controller files' do
171
171
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
172
172
  capture_io { generate(:controller, 'demo_items',"-r=#{@apptmp}/sample_project") }
173
173
  capture_io { generate(:controller, 'demo_items',"-r=#{@apptmp}/sample_project",'-d') }
@@ -176,7 +176,7 @@ describe "ControllerGenerator" do
176
176
  assert_no_file_exists("#{@apptmp}/sample_project/app/helpers/demo_items_helper.rb")
177
177
  end
178
178
 
179
- should "destroy controller files with rspec" do
179
+ it 'should destroy controller files with rspec' do
180
180
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=rspec') }
181
181
  capture_io { generate(:controller, 'demo_items',"-r=#{@apptmp}/sample_project") }
182
182
  capture_io { generate(:controller, 'demo_items',"-r=#{@apptmp}/sample_project",'-d') }
@@ -185,7 +185,7 @@ describe "ControllerGenerator" do
185
185
  assert_no_file_exists("#{@apptmp}/sample_project/spec/app/controllers/demo_items_controller_spec.rb")
186
186
  end
187
187
 
188
- should "destroy controller files in sub apps" do
188
+ it 'should destroy controller files in sub apps' do
189
189
  capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
190
190
  capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
191
191
  capture_io { generate(:controller, 'demo_items',"-a=/subby","-r=#{@apptmp}/sample_project") }