rmm5t-shoulda 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. data/CONTRIBUTION_GUIDELINES.rdoc +12 -0
  2. data/MIT-LICENSE +22 -0
  3. data/README.rdoc +132 -0
  4. data/Rakefile +72 -0
  5. data/bin/convert_to_should_syntax +42 -0
  6. data/lib/shoulda/action_mailer/assertions.rb +39 -0
  7. data/lib/shoulda/action_mailer.rb +10 -0
  8. data/lib/shoulda/active_record/assertions.rb +85 -0
  9. data/lib/shoulda/active_record/macros.rb +704 -0
  10. data/lib/shoulda/active_record.rb +12 -0
  11. data/lib/shoulda/assertions.rb +45 -0
  12. data/lib/shoulda/context.rb +306 -0
  13. data/lib/shoulda/controller/formats/html.rb +201 -0
  14. data/lib/shoulda/controller/formats/xml.rb +170 -0
  15. data/lib/shoulda/controller/helpers.rb +64 -0
  16. data/lib/shoulda/controller/macros.rb +315 -0
  17. data/lib/shoulda/controller/resource_options.rb +236 -0
  18. data/lib/shoulda/controller.rb +30 -0
  19. data/lib/shoulda/helpers.rb +10 -0
  20. data/lib/shoulda/macros.rb +74 -0
  21. data/lib/shoulda/private_helpers.rb +22 -0
  22. data/lib/shoulda/proc_extensions.rb +14 -0
  23. data/lib/shoulda/rails.rb +19 -0
  24. data/lib/shoulda/tasks/list_tests.rake +24 -0
  25. data/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  26. data/lib/shoulda/tasks.rb +3 -0
  27. data/lib/shoulda.rb +17 -0
  28. data/rails/init.rb +1 -0
  29. data/test/README +36 -0
  30. data/test/fail_macros.rb +34 -0
  31. data/test/fixtures/addresses.yml +3 -0
  32. data/test/fixtures/friendships.yml +0 -0
  33. data/test/fixtures/posts.yml +5 -0
  34. data/test/fixtures/products.yml +0 -0
  35. data/test/fixtures/taggings.yml +0 -0
  36. data/test/fixtures/tags.yml +9 -0
  37. data/test/fixtures/users.yml +6 -0
  38. data/test/functional/posts_controller_test.rb +104 -0
  39. data/test/functional/users_controller_test.rb +38 -0
  40. data/test/other/context_test.rb +145 -0
  41. data/test/other/convert_to_should_syntax_test.rb +63 -0
  42. data/test/other/helpers_test.rb +183 -0
  43. data/test/other/private_helpers_test.rb +34 -0
  44. data/test/other/should_test.rb +266 -0
  45. data/test/rails_root/app/controllers/application.rb +25 -0
  46. data/test/rails_root/app/controllers/posts_controller.rb +85 -0
  47. data/test/rails_root/app/controllers/users_controller.rb +84 -0
  48. data/test/rails_root/app/helpers/application_helper.rb +3 -0
  49. data/test/rails_root/app/helpers/posts_helper.rb +2 -0
  50. data/test/rails_root/app/helpers/users_helper.rb +2 -0
  51. data/test/rails_root/app/models/address.rb +7 -0
  52. data/test/rails_root/app/models/dog.rb +5 -0
  53. data/test/rails_root/app/models/flea.rb +3 -0
  54. data/test/rails_root/app/models/friendship.rb +4 -0
  55. data/test/rails_root/app/models/post.rb +12 -0
  56. data/test/rails_root/app/models/product.rb +12 -0
  57. data/test/rails_root/app/models/tag.rb +8 -0
  58. data/test/rails_root/app/models/tagging.rb +4 -0
  59. data/test/rails_root/app/models/user.rb +28 -0
  60. data/test/rails_root/app/views/layouts/posts.rhtml +17 -0
  61. data/test/rails_root/app/views/layouts/users.rhtml +17 -0
  62. data/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  63. data/test/rails_root/app/views/posts/edit.rhtml +27 -0
  64. data/test/rails_root/app/views/posts/index.rhtml +25 -0
  65. data/test/rails_root/app/views/posts/new.rhtml +26 -0
  66. data/test/rails_root/app/views/posts/show.rhtml +18 -0
  67. data/test/rails_root/app/views/users/edit.rhtml +22 -0
  68. data/test/rails_root/app/views/users/index.rhtml +22 -0
  69. data/test/rails_root/app/views/users/new.rhtml +21 -0
  70. data/test/rails_root/app/views/users/show.rhtml +13 -0
  71. data/test/rails_root/config/boot.rb +109 -0
  72. data/test/rails_root/config/database.yml +4 -0
  73. data/test/rails_root/config/environment.rb +14 -0
  74. data/test/rails_root/config/environments/sqlite3.rb +0 -0
  75. data/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  76. data/test/rails_root/config/initializers/shoulda.rb +8 -0
  77. data/test/rails_root/config/routes.rb +6 -0
  78. data/test/rails_root/db/migrate/001_create_users.rb +18 -0
  79. data/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  80. data/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  81. data/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  82. data/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  83. data/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  84. data/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  85. data/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  86. data/test/rails_root/db/migrate/009_create_products.rb +17 -0
  87. data/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  88. data/test/rails_root/db/schema.rb +0 -0
  89. data/test/rails_root/public/404.html +30 -0
  90. data/test/rails_root/public/422.html +30 -0
  91. data/test/rails_root/public/500.html +30 -0
  92. data/test/rails_root/script/console +3 -0
  93. data/test/rails_root/script/generate +3 -0
  94. data/test/test_helper.rb +33 -0
  95. data/test/unit/address_test.rb +10 -0
  96. data/test/unit/dog_test.rb +7 -0
  97. data/test/unit/flea_test.rb +6 -0
  98. data/test/unit/friendship_test.rb +6 -0
  99. data/test/unit/post_test.rb +15 -0
  100. data/test/unit/product_test.rb +27 -0
  101. data/test/unit/tag_test.rb +14 -0
  102. data/test/unit/tagging_test.rb +6 -0
  103. data/test/unit/user_test.rb +52 -0
  104. metadata +198 -0
@@ -0,0 +1,14 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class TagTest < Test::Unit::TestCase
4
+ should_have_many :taggings, :dependent => :destroy
5
+ should_have_many :posts
6
+
7
+ should_ensure_length_at_least :name, 2
8
+
9
+ should_protect_attributes :secret
10
+
11
+ should_fail do
12
+ should_protect_attributes :name
13
+ end
14
+ end
@@ -0,0 +1,6 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class TaggingTest < Test::Unit::TestCase
4
+ should_belong_to :post
5
+ should_belong_to :tag
6
+ end
@@ -0,0 +1,52 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UserTest < Test::Unit::TestCase
4
+ fixtures :all
5
+
6
+ should_have_many :posts
7
+ should_have_many :dogs
8
+
9
+ should_have_many :friendships
10
+ should_have_many :friends
11
+
12
+ should_have_one :address
13
+ should_have_one :address, :dependent => :destroy
14
+
15
+ should_have_indices :email, :name, [:email, :name]
16
+ should_have_index :age
17
+
18
+ should_have_named_scope :old, :conditions => "age > 50"
19
+ should_have_named_scope :eighteen, :conditions => { :age => 18 }
20
+
21
+ should_have_named_scope 'recent(5)', :limit => 5
22
+ should_have_named_scope 'recent(1)', :limit => 1
23
+ should_have_named_scope 'recent_via_method(7)', :limit => 7
24
+
25
+ context "when given an instance variable" do
26
+ setup { @count = 2 }
27
+ should_have_named_scope 'recent(@count)', :limit => 2
28
+ end
29
+
30
+ should_not_allow_values_for :email, "blah", "b lah"
31
+ should_allow_values_for :email, "a@b.com", "asdf@asdf.com"
32
+ should_ensure_length_in_range :email, 1..100
33
+ should_ensure_value_in_range :age, 1..100
34
+ should_protect_attributes :password
35
+ should_have_class_methods :find, :destroy
36
+ should_have_instance_methods :email, :age, :email=, :valid?
37
+ should_have_db_columns :name, :email, :age
38
+ should_have_db_column :id, :type => "integer", :primary => true
39
+ should_have_db_column :email, :type => "string", :default => nil, :precision => nil, :limit => 255,
40
+ :null => true, :primary => false, :scale => nil, :sql_type => 'varchar(255)'
41
+ should_require_acceptance_of :eula
42
+ should_require_unique_attributes :email, :scoped_to => :name
43
+
44
+ should_ensure_length_is :ssn, 9, :message => "Social Security Number is not the right length"
45
+ should_only_allow_numeric_values_for :ssn
46
+
47
+ should_have_readonly_attributes :name
48
+
49
+ should_fail do
50
+ should_protect_attributes :name, :age
51
+ end
52
+ end
metadata ADDED
@@ -0,0 +1,198 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rmm5t-shoulda
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Tammer Saleh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-09-20 00:00:00 -07:00
13
+ default_executable: convert_to_should_syntax
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "2.0"
23
+ version:
24
+ description:
25
+ email: tsaleh@thoughtbot.com
26
+ executables:
27
+ - convert_to_should_syntax
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - README.rdoc
32
+ - CONTRIBUTION_GUIDELINES.rdoc
33
+ files:
34
+ - CONTRIBUTION_GUIDELINES.rdoc
35
+ - MIT-LICENSE
36
+ - Rakefile
37
+ - README.rdoc
38
+ - bin/convert_to_should_syntax
39
+ - lib/shoulda
40
+ - lib/shoulda/action_mailer
41
+ - lib/shoulda/action_mailer/assertions.rb
42
+ - lib/shoulda/action_mailer.rb
43
+ - lib/shoulda/active_record
44
+ - lib/shoulda/active_record/assertions.rb
45
+ - lib/shoulda/active_record/macros.rb
46
+ - lib/shoulda/active_record.rb
47
+ - lib/shoulda/assertions.rb
48
+ - lib/shoulda/context.rb
49
+ - lib/shoulda/controller
50
+ - lib/shoulda/controller/formats
51
+ - lib/shoulda/controller/formats/html.rb
52
+ - lib/shoulda/controller/formats/xml.rb
53
+ - lib/shoulda/controller/helpers.rb
54
+ - lib/shoulda/controller/macros.rb
55
+ - lib/shoulda/controller/resource_options.rb
56
+ - lib/shoulda/controller.rb
57
+ - lib/shoulda/helpers.rb
58
+ - lib/shoulda/macros.rb
59
+ - lib/shoulda/private_helpers.rb
60
+ - lib/shoulda/proc_extensions.rb
61
+ - lib/shoulda/rails.rb
62
+ - lib/shoulda/tasks
63
+ - lib/shoulda/tasks/list_tests.rake
64
+ - lib/shoulda/tasks/yaml_to_shoulda.rake
65
+ - lib/shoulda/tasks.rb
66
+ - lib/shoulda.rb
67
+ - rails
68
+ - rails/init.rb
69
+ - test/fail_macros.rb
70
+ - test/fixtures
71
+ - test/fixtures/addresses.yml
72
+ - test/fixtures/friendships.yml
73
+ - test/fixtures/posts.yml
74
+ - test/fixtures/products.yml
75
+ - test/fixtures/taggings.yml
76
+ - test/fixtures/tags.yml
77
+ - test/fixtures/users.yml
78
+ - test/functional
79
+ - test/functional/posts_controller_test.rb
80
+ - test/functional/users_controller_test.rb
81
+ - test/other
82
+ - test/other/context_test.rb
83
+ - test/other/convert_to_should_syntax_test.rb
84
+ - test/other/helpers_test.rb
85
+ - test/other/private_helpers_test.rb
86
+ - test/other/should_test.rb
87
+ - test/rails_root
88
+ - test/rails_root/app
89
+ - test/rails_root/app/controllers
90
+ - test/rails_root/app/controllers/application.rb
91
+ - test/rails_root/app/controllers/posts_controller.rb
92
+ - test/rails_root/app/controllers/users_controller.rb
93
+ - test/rails_root/app/helpers
94
+ - test/rails_root/app/helpers/application_helper.rb
95
+ - test/rails_root/app/helpers/posts_helper.rb
96
+ - test/rails_root/app/helpers/users_helper.rb
97
+ - test/rails_root/app/models
98
+ - test/rails_root/app/models/address.rb
99
+ - test/rails_root/app/models/dog.rb
100
+ - test/rails_root/app/models/flea.rb
101
+ - test/rails_root/app/models/friendship.rb
102
+ - test/rails_root/app/models/post.rb
103
+ - test/rails_root/app/models/product.rb
104
+ - test/rails_root/app/models/tag.rb
105
+ - test/rails_root/app/models/tagging.rb
106
+ - test/rails_root/app/models/user.rb
107
+ - test/rails_root/app/views
108
+ - test/rails_root/app/views/layouts
109
+ - test/rails_root/app/views/layouts/posts.rhtml
110
+ - test/rails_root/app/views/layouts/users.rhtml
111
+ - test/rails_root/app/views/layouts/wide.html.erb
112
+ - test/rails_root/app/views/posts
113
+ - test/rails_root/app/views/posts/edit.rhtml
114
+ - test/rails_root/app/views/posts/index.rhtml
115
+ - test/rails_root/app/views/posts/new.rhtml
116
+ - test/rails_root/app/views/posts/show.rhtml
117
+ - test/rails_root/app/views/users
118
+ - test/rails_root/app/views/users/edit.rhtml
119
+ - test/rails_root/app/views/users/index.rhtml
120
+ - test/rails_root/app/views/users/new.rhtml
121
+ - test/rails_root/app/views/users/show.rhtml
122
+ - test/rails_root/config
123
+ - test/rails_root/config/boot.rb
124
+ - test/rails_root/config/database.yml
125
+ - test/rails_root/config/environment.rb
126
+ - test/rails_root/config/environments
127
+ - test/rails_root/config/environments/sqlite3.rb
128
+ - test/rails_root/config/initializers
129
+ - test/rails_root/config/initializers/new_rails_defaults.rb
130
+ - test/rails_root/config/initializers/shoulda.rb
131
+ - test/rails_root/config/routes.rb
132
+ - test/rails_root/db
133
+ - test/rails_root/db/migrate
134
+ - test/rails_root/db/migrate/001_create_users.rb
135
+ - test/rails_root/db/migrate/002_create_posts.rb
136
+ - test/rails_root/db/migrate/003_create_taggings.rb
137
+ - test/rails_root/db/migrate/004_create_tags.rb
138
+ - test/rails_root/db/migrate/005_create_dogs.rb
139
+ - test/rails_root/db/migrate/006_create_addresses.rb
140
+ - test/rails_root/db/migrate/007_create_fleas.rb
141
+ - test/rails_root/db/migrate/008_create_dogs_fleas.rb
142
+ - test/rails_root/db/migrate/009_create_products.rb
143
+ - test/rails_root/db/migrate/010_create_friendships.rb
144
+ - test/rails_root/db/schema.rb
145
+ - test/rails_root/log
146
+ - test/rails_root/log/sqlite3.log
147
+ - test/rails_root/public
148
+ - test/rails_root/public/404.html
149
+ - test/rails_root/public/422.html
150
+ - test/rails_root/public/500.html
151
+ - test/rails_root/script
152
+ - test/rails_root/script/console
153
+ - test/rails_root/script/generate
154
+ - test/rails_root/vendor
155
+ - test/rails_root/vendor/plugins
156
+ - test/README
157
+ - test/test_helper.rb
158
+ - test/unit
159
+ - test/unit/address_test.rb
160
+ - test/unit/dog_test.rb
161
+ - test/unit/flea_test.rb
162
+ - test/unit/friendship_test.rb
163
+ - test/unit/post_test.rb
164
+ - test/unit/product_test.rb
165
+ - test/unit/tag_test.rb
166
+ - test/unit/tagging_test.rb
167
+ - test/unit/user_test.rb
168
+ has_rdoc: true
169
+ homepage: http://thoughtbot.com/projects/shoulda
170
+ post_install_message:
171
+ rdoc_options:
172
+ - --line-numbers
173
+ - --inline-source
174
+ - --main
175
+ - README.rdoc
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: "0"
183
+ version:
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: "0"
189
+ version:
190
+ requirements: []
191
+
192
+ rubyforge_project: shoulda
193
+ rubygems_version: 1.2.0
194
+ signing_key:
195
+ specification_version: 2
196
+ summary: Making tests easy on the fingers and eyes
197
+ test_files: []
198
+