generator-spec 0.5.0 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. data/.document +0 -0
  2. data/.gitignore +0 -0
  3. data/.rspec +0 -0
  4. data/LICENSE +0 -0
  5. data/README.markdown +19 -13
  6. data/Rakefile +14 -35
  7. data/VERSION +1 -1
  8. data/generator-spec.gemspec +63 -148
  9. data/lib/generator-spec.rb +12 -0
  10. data/lib/generator-spec/namespaces.rb +7 -0
  11. data/lib/{generator_spec/helpers/configure_rails.rb → generator-spec/rails/configure.rb} +3 -3
  12. data/lib/generator-spec/rspec.rb +1 -0
  13. data/lib/generator-spec/rspec/configure.rb +6 -0
  14. data/lib/{generator_spec/rspec_generator/generator_util.rb → generator-spec/rspec/generator.rb} +6 -6
  15. data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/configure.rb +0 -0
  16. data/lib/{generator_spec/require_generator.rb → generator-spec/rspec/generator/require.rb} +0 -0
  17. data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/routes.rb +0 -0
  18. data/lib/{generator_spec/rspec_generator → generator-spec/rspec/generator}/test_case.rb +0 -0
  19. data/lib/generator-spec/rspec/macro.rb +18 -0
  20. data/lib/generator-spec/rspec/matchers/generate_artifact.rb +34 -0
  21. data/lib/generator-spec/rspec/matchers/generate_artifacts.rb +33 -0
  22. data/lib/generators/controller/controller_generator.rb +15 -21
  23. data/lib/generators/helper/helper_generator.rb +13 -29
  24. data/lib/generators/migration/migration_generator.rb +6 -7
  25. data/lib/generators/migration/templates/create_users.erb +0 -0
  26. data/lib/generators/model/model_generator.rb +36 -55
  27. data/lib/generators/observer/observer_generator.rb +2 -0
  28. data/lib/generators/view/view_generator.rb +2 -0
  29. data/spec/generator_spec/generators/controller_gen_spec.rb +40 -0
  30. data/spec/generator_spec/generators/{helper_generator_spec.rb → helper_gen_spec.rb} +4 -8
  31. data/spec/generator_spec/generators/{migration_generator_spec.rb → migration_gen_spec.rb} +3 -8
  32. data/spec/generator_spec/generators/model_gen_spec.rb +36 -0
  33. data/spec/generator_spec/generators/{observer_generator_spec.rb → observer_gen_spec.rb} +12 -21
  34. data/spec/generator_spec/generators/{view_generator_spec.rb → view_gen_spec.rb} +9 -20
  35. data/spec/generator_spec/matchers/generate_artifact_spec.rb +36 -0
  36. data/spec/generator_spec/matchers/generate_artifacts_spec.rb +35 -0
  37. data/spec/spec_helper.rb +5 -6
  38. data/wiki/Custom Rails 3 Generators.textile b/data/wiki/Custom Rails 3 → Generators.textile +0 -0
  39. data/wiki/content_matchers.textile +0 -0
  40. data/wiki/file_matchers.textile +0 -0
  41. data/wiki/migration_matchers.textile +0 -0
  42. data/wiki/rails_helpers.textile +0 -0
  43. metadata +117 -154
  44. data/lib/generator_spec.rb +0 -12
  45. data/lib/generator_spec/extensions/core_ext.rb +0 -47
  46. data/lib/generator_spec/helpers/generator_helper.rb +0 -11
  47. data/lib/generator_spec/helpers/migration_helper.rb +0 -69
  48. data/lib/generator_spec/main.rb +0 -77
  49. data/lib/generator_spec/matchers/content/content_matcher.rb +0 -110
  50. data/lib/generator_spec/matchers/content/have_block.rb +0 -57
  51. data/lib/generator_spec/matchers/content/have_call.rb +0 -59
  52. data/lib/generator_spec/matchers/content/have_calls.rb +0 -60
  53. data/lib/generator_spec/matchers/content/have_class_self.rb +0 -40
  54. data/lib/generator_spec/matchers/content/have_comment.rb +0 -42
  55. data/lib/generator_spec/matchers/content/have_method.rb +0 -66
  56. data/lib/generator_spec/matchers/content/have_module.rb +0 -66
  57. data/lib/generator_spec/matchers/content/have_region.rb +0 -48
  58. data/lib/generator_spec/matchers/content/have_subclass.rb +0 -50
  59. data/lib/generator_spec/matchers/content/include_module.rb +0 -51
  60. data/lib/generator_spec/matchers/content/inherit_from.rb +0 -40
  61. data/lib/generator_spec/matchers/file/generate_directory.rb +0 -73
  62. data/lib/generator_spec/matchers/file/generate_file.rb +0 -103
  63. data/lib/generator_spec/matchers/file/generate_migration.rb +0 -54
  64. data/lib/generator_spec/matchers/file/have_file.rb +0 -115
  65. data/lib/generator_spec/matchers/helpers/content.rb +0 -18
  66. data/lib/generator_spec/matchers/helpers/file.rb +0 -26
  67. data/lib/generator_spec/matchers/helpers/migration.rb +0 -89
  68. data/lib/generator_spec/matchers/migration/have_column.rb +0 -29
  69. data/lib/generator_spec/matchers/migration/have_index.rb +0 -9
  70. data/lib/generator_spec/matchers/migration/have_table.rb +0 -18
  71. data/lib/generator_spec/matchers/migration/have_tbl_column.rb +0 -25
  72. data/lib/generator_spec/matchers/migration/have_up_down.rb +0 -15
  73. data/lib/generator_spec/rails_helpers/base_helper.rb +0 -171
  74. data/lib/generator_spec/rails_helpers/rails_app.rb +0 -166
  75. data/lib/generator_spec/rails_helpers/rails_controller.rb +0 -44
  76. data/lib/generator_spec/rails_helpers/rails_helper.rb +0 -40
  77. data/lib/generator_spec/rails_helpers/rails_mailer.rb +0 -39
  78. data/lib/generator_spec/rails_helpers/rails_migration.rb +0 -51
  79. data/lib/generator_spec/rails_helpers/rails_model.rb +0 -40
  80. data/lib/generator_spec/rails_helpers/rails_observer.rb +0 -39
  81. data/lib/generator_spec/rails_helpers/rails_orm.rb +0 -114
  82. data/lib/generator_spec/rails_helpers/rails_view.rb +0 -65
  83. data/rspec_for_generators.gemspec +0 -96
  84. data/spec/generator_spec/generators/controller_generator_spec.rb +0 -47
  85. data/spec/generator_spec/generators/model_generator_spec.rb +0 -41
  86. data/spec/generator_spec/matchers/content/class_self_spec.rb +0 -30
  87. data/spec/generator_spec/matchers/content/have_block_spec.rb +0 -57
  88. data/spec/generator_spec/matchers/content/have_call_spec.rb +0 -55
  89. data/spec/generator_spec/matchers/content/have_calls_spec.rb +0 -47
  90. data/spec/generator_spec/matchers/content/have_class_spec.rb +0 -34
  91. data/spec/generator_spec/matchers/content/have_method_spec.rb +0 -52
  92. data/spec/generator_spec/matchers/content/have_module_spec.rb +0 -34
  93. data/spec/generator_spec/matchers/content/have_region_spec.rb +0 -56
  94. data/spec/generator_spec/matchers/content/have_subclass_spec.rb +0 -34
  95. data/spec/generator_spec/matchers/content/include_module_spec.rb +0 -36
  96. data/spec/generator_spec/matchers/content/inherit_from_spec.rb +0 -34
  97. data/spec/generator_spec/matchers/file/directory_spec.rb +0 -0
  98. data/spec/generator_spec/matchers/file/file_spec.rb +0 -0
  99. data/spec/generator_spec/matchers/file/migration_spec.rb +0 -0
  100. data/spec/generator_spec/matchers/migration/have_column_spec.rb +0 -0
  101. data/spec/generator_spec/matchers/migration/have_index_spec.rb +0 -0
  102. data/spec/generator_spec/matchers/migration/have_table_spec.rb +0 -0
  103. data/spec/generator_spec/matchers/migration/have_tbl_column_spec.rb +0 -0
  104. data/spec/generator_spec/matchers/migration/have_up_down_spec.rb +0 -0
  105. data/spec/generator_spec/matchers/rails/controller_matcher_spec.rb +0 -27
  106. data/spec/generator_spec/matchers/rails/helper_matcher_spec.rb +0 -26
  107. data/spec/generator_spec/matchers/rails/mailer_matcher_spec.rb +0 -24
  108. data/spec/generator_spec/matchers/rails/model_matcher_spec.rb +0 -31
  109. data/spec/generator_spec/matchers/rails/observer_matcher_spec.rb +0 -19
  110. data/spec/generator_spec/matchers/rails/view_matcher_spec.rb +0 -23
  111. data/spec/generator_spec/rails_helpers/rails_app_spec.rb +0 -0
  112. data/spec/generator_spec/rails_helpers/rails_controller_spec.rb +0 -33
  113. data/spec/generator_spec/rails_helpers/rails_helper_spec.rb +0 -33
  114. data/spec/generator_spec/rails_helpers/rails_mailer_spec.rb +0 -33
  115. data/spec/generator_spec/rails_helpers/rails_migration_spec.rb +0 -0
  116. data/spec/generator_spec/rails_helpers/rails_model_spec.rb +0 -31
  117. data/spec/generator_spec/rails_helpers/rails_observer_spec.rb +0 -33
  118. data/spec/generator_spec/rails_helpers/rails_orm_spec.rb +0 -0
  119. data/spec/generator_spec/rails_helpers/rails_view_spec.rb +0 -31
@@ -1,34 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'subclass matcher' do
4
- context "content without subclass Greeting" do
5
- no_subclass = %q{
6
- class Hello
7
- def hello
8
- end
9
- end}
10
-
11
- it "should not have subclass Greeting" do
12
- no_subclass.should_not have_subclass :hello, :greeting do |content|
13
- puts content
14
- end
15
- end
16
- end
17
-
18
- context "content with subclass Greeting" do
19
- with_subclass = %q{
20
- class Hello < Greeting
21
- def hello
22
- end
23
- end}
24
-
25
- it "should not have subclass Greeting" do
26
- with_subclass.should have_subclass :hello, :greeting do |content|
27
- puts content
28
- end
29
- end
30
- end
31
- end
32
-
33
-
34
-
@@ -1,36 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'include module matcher' do
4
- context "content without include Greeting" do
5
- no_include = %q{
6
- class Hello < Greeting
7
- def hello
8
- end
9
- end}
10
-
11
- it "should not have include Greeting" do
12
- no_include.should_not include_module :greeting do |content|
13
- puts content
14
- end
15
- end
16
- end
17
-
18
- context "content with include Greeting" do
19
- with_module = %q{
20
- class Hello
21
- include Greeting
22
-
23
- def hello
24
- end
25
- end}
26
-
27
- it "should have include Greeting" do
28
- with_module.should include_module :greeting do |content|
29
- puts content
30
- end
31
- end
32
- end
33
- end
34
-
35
-
36
-
@@ -1,34 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'inherit matcher' do
4
- context "content with class that inherits from Greeting" do
5
- no_subclass = %q{
6
- class Hello
7
- def hello
8
- end
9
- end}
10
-
11
- it "should not inherit from Greeting" do
12
- no_subclass.should_not inherit_from :greeting do |content|
13
- puts content
14
- end
15
- end
16
- end
17
-
18
- context "content with subclass Greeting" do
19
- with_subclass = %q{
20
- class Hello < Greeting
21
- def hello
22
- end
23
- end}
24
-
25
- it "should not inherit_from Greeting" do
26
- with_subclass.should inherit_from :greeting do |content|
27
- puts content
28
- end
29
- end
30
- end
31
- end
32
-
33
-
34
-
File without changes
File without changes
File without changes
@@ -1,27 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'controller' do
4
- load_helper :controller
5
-
6
- before :each do
7
- create_empty_tmp :controller
8
- create_controller :account do
9
- %q{
10
- def index
11
- end
12
- }
13
- end
14
- end
15
-
16
- after :each do
17
- remove_controller :account
18
- end
19
-
20
- it "should have an account_controller file that contains an AccountController class with an index method inside" do
21
- Rails.application.should have_controller :account do |controller_file|
22
- controller_file.should have_controller_class :account do |klass|
23
- klass.should have_method :index
24
- end
25
- end
26
- end
27
- end
@@ -1,26 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'rails helper' do
4
- load_helper :helper
5
-
6
- before :each do
7
- create_helper :account do
8
- %q{
9
- def help_me
10
- end
11
- }
12
- end
13
- end
14
-
15
- after :each do
16
- remove_helper :account
17
- end
18
-
19
- it "should have an account_helper file that contains an AccountHelper class with a help_me method inside" do
20
- Rails.application.should have_helper :account do |file|
21
- file.should have_helper_class :account do |klass|
22
- klass.should have_method :help_me
23
- end
24
- end
25
- end
26
- end
@@ -1,24 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'mailer helper' do
4
- load_helper :mailer
5
-
6
- before :each do
7
- create_mailer :account do
8
- %q{
9
- def mail_it!
10
- end
11
- }
12
- end
13
- end
14
-
15
- after :each do
16
- remove_mailer :account
17
- end
18
-
19
- it "should have an account mailer file with a mail_it! method inside" do
20
- Rails.application.should have_mailer :account do |file|
21
- file.should have_method :mail_it!
22
- end
23
- end
24
- end
@@ -1,31 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'model helper' do
4
- use_orm :active_record
5
-
6
- before :each do
7
- create_model :account, :content => '# hello'
8
- end
9
-
10
- after :each do
11
- remove_model :account
12
- end
13
-
14
- it "should have an :account model file that contains an Account class" do
15
- Rails.application.should have_model :account do |file|
16
- file.should have_class :account
17
- end
18
- end
19
- end
20
-
21
- describe 'model helper - no ORM helper' do
22
- load_helper :model
23
-
24
- before :each do
25
- remove_model :account
26
- end
27
-
28
- it "should not be able to create a model without including an ORM helper" do
29
- lambda {create_model :account}.should raise_error
30
- end
31
- end
@@ -1,19 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'observer helper' do
4
- load_helper :observer
5
-
6
- before :each do
7
- create_observer :account
8
- end
9
-
10
- after :each do
11
- remove_observer :account
12
- end
13
-
14
- it "should have an :account observer file that contains an AccountObserver class" do
15
- Rails.application.should have_observer :account do |file|
16
- file.should have_observer_class :account
17
- end
18
- end
19
- end
@@ -1,23 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- describe 'rails view helper' do
4
- load_helper :view
5
-
6
- before :each do
7
- create_view :account, :edit do
8
- %q{
9
- <h1><%= title %></h1>
10
- }
11
- end
12
- end
13
-
14
- after :each do
15
- remove_view :account, :edit
16
- end
17
-
18
- it "should have an account/edit view file that displays a title" do
19
- Rails.application.should have_view :account, :edit do |file|
20
- file.should match /<%=\s*title\s*%>/
21
- end
22
- end
23
- end
File without changes
@@ -1,33 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe 'controller' do
4
- helpers :controller
5
-
6
- before :each do
7
- remove_controller :account
8
- create_controller :account do
9
- %q{
10
- def index
11
- end
12
- }
13
- end
14
- end
15
-
16
- after :each do
17
- # remove_controller :account
18
- end
19
-
20
- it "should have an account_controller file that contains an index method and two inserted comments" do
21
- insert_into_controller :account, :content => '# hello'
22
- insert_into_controller :account do
23
- '# goodbye'
24
- end
25
- read_controller(:account).should have_comment 'hello'
26
-
27
- Rails.application.should have_controller :account do |controller_file|
28
- controller_file.should have_method :index
29
- controller_file.should have_comment 'hello'
30
- controller_file.should have_comment 'goodbye'
31
- end
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe 'helper' do
4
- helpers :helper
5
-
6
- before :each do
7
- remove_helper :account
8
- create_helper :account do
9
- %q{
10
- def index
11
- end
12
- }
13
- end
14
- end
15
-
16
- after :each do
17
- # remove_helper :account
18
- end
19
-
20
- it "should have an account_helper file that contains an index method and two inserted comments" do
21
- insert_into_helper :account, :content => '# hello'
22
- insert_into_helper :account do
23
- '# goodbye'
24
- end
25
- read_helper(:account).should have_comment 'hello'
26
-
27
- Rails.application.should have_helper :account do |helper_file|
28
- helper_file.should have_method :index
29
- helper_file.should have_comment 'hello'
30
- helper_file.should have_comment 'goodbye'
31
- end
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe 'mailer' do
4
- load_helper :mailer
5
-
6
- before :each do
7
- remove_mailer :account
8
- create_mailer :account do
9
- %q{
10
- def index
11
- end
12
- }
13
- end
14
- end
15
-
16
- after :each do
17
- # remove_mailer :account
18
- end
19
-
20
- it "should have an account_mailer file that contains an index method and two inserted comments" do
21
- insert_into_mailer :account, :content => '# hello'
22
- insert_into_mailer :account do
23
- '# goodbye'
24
- end
25
- read_mailer(:account).should have_comment 'hello'
26
-
27
- Rails.application.should have_mailer :account do |mailer_file|
28
- mailer_file.should have_method :index
29
- mailer_file.should have_comment 'hello'
30
- mailer_file.should have_comment 'goodbye'
31
- end
32
- end
33
- end
@@ -1,31 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe 'model' do
4
- use_orm :active_record
5
-
6
- before :each do
7
- remove_model :account
8
- create_model :account do
9
- %q{ def index
10
- end}
11
- end
12
- end
13
-
14
- after :each do
15
- # remove_model :account
16
- end
17
-
18
- it "should have an account_model file that contains an index method and two inserted comments" do
19
- insert_into_model :account, :content => '# hello'
20
- insert_into_model :account do
21
- '# goodbye'
22
- end
23
- read_model(:account).should have_comment 'hello'
24
-
25
- Rails.application.should have_model :account do |model_file|
26
- model_file.should have_method :index
27
- model_file.should have_comment 'hello'
28
- model_file.should have_comment 'goodbye'
29
- end
30
- end
31
- end
@@ -1,33 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe 'observer' do
4
- load_helper :observer
5
-
6
- before :each do
7
- remove_observer :account
8
- create_observer :account do
9
- %q{
10
- def index
11
- end
12
- }
13
- end
14
- end
15
-
16
- after :each do
17
- # remove_observer :account
18
- end
19
-
20
- it "should have an account_observer file that contains an index method and two inserted comments" do
21
- insert_into_observer :account, :content => '# hello'
22
- insert_into_observer :account do
23
- '# goodbye'
24
- end
25
- read_observer(:account).should have_comment 'hello'
26
-
27
- Rails.application.should have_observer :account do |observer_file|
28
- observer_file.should have_method :index
29
- observer_file.should have_comment 'hello'
30
- observer_file.should have_comment 'goodbye'
31
- end
32
- end
33
- end