makevoid-taza 0.8.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. data/History.txt +74 -0
  2. data/Manifest.txt +61 -0
  3. data/README +79 -0
  4. data/README.textile +1 -0
  5. data/VERSION.yml +4 -0
  6. data/bin/taza +17 -0
  7. data/generators/flow/flow_generator.rb +57 -0
  8. data/generators/flow/templates/flow.rb.erb +9 -0
  9. data/generators/page/page_generator.rb +58 -0
  10. data/generators/page/templates/functional_page_spec.rb.erb +8 -0
  11. data/generators/page/templates/page.rb.erb +8 -0
  12. data/generators/partial/partial_generator.rb +57 -0
  13. data/generators/partial/templates/partial.rb.erb +7 -0
  14. data/generators/site/site_generator.rb +56 -0
  15. data/generators/site/templates/site.rb.erb +10 -0
  16. data/generators/site/templates/site.yml.erb +3 -0
  17. data/lib/app_generators/taza/taza_generator.rb +74 -0
  18. data/lib/app_generators/taza/templates/config.yml.erb +3 -0
  19. data/lib/app_generators/taza/templates/rakefile.rb.erb +10 -0
  20. data/lib/app_generators/taza/templates/spec_helper.rb.erb +11 -0
  21. data/lib/extensions/array.rb +10 -0
  22. data/lib/extensions/hash.rb +15 -0
  23. data/lib/extensions/object.rb +33 -0
  24. data/lib/extensions/string.rb +11 -0
  25. data/lib/taza.rb +24 -0
  26. data/lib/taza/browser.rb +53 -0
  27. data/lib/taza/entity.rb +55 -0
  28. data/lib/taza/fixture.rb +68 -0
  29. data/lib/taza/fixtures.rb +24 -0
  30. data/lib/taza/flow.rb +40 -0
  31. data/lib/taza/page.rb +128 -0
  32. data/lib/taza/settings.rb +33 -0
  33. data/lib/taza/site.rb +150 -0
  34. data/lib/taza/tasks.rb +54 -0
  35. data/spec/array_spec.rb +17 -0
  36. data/spec/browser_spec.rb +86 -0
  37. data/spec/entity_spec.rb +35 -0
  38. data/spec/fixture_spec.rb +51 -0
  39. data/spec/fixtures_spec.rb +47 -0
  40. data/spec/flow_generator_spec.rb +50 -0
  41. data/spec/hash_spec.rb +15 -0
  42. data/spec/object_spec.rb +29 -0
  43. data/spec/page_generator_spec.rb +56 -0
  44. data/spec/page_module_spec.rb +165 -0
  45. data/spec/page_spec.rb +105 -0
  46. data/spec/partial_generator_spec.rb +38 -0
  47. data/spec/project_generator_spec.rb +56 -0
  48. data/spec/sandbox/config.yml +3 -0
  49. data/spec/sandbox/config/config.yml +1 -0
  50. data/spec/sandbox/config/site_name.yml +5 -0
  51. data/spec/sandbox/fixtures/examples.yml +15 -0
  52. data/spec/sandbox/fixtures/foo_site/bars.yml +2 -0
  53. data/spec/sandbox/fixtures/foos.yml +3 -0
  54. data/spec/sandbox/fixtures/users.yml +3 -0
  55. data/spec/sandbox/flows/batman.rb +5 -0
  56. data/spec/sandbox/flows/robin.rb +4 -0
  57. data/spec/sandbox/pages/foo/bar.rb +9 -0
  58. data/spec/sandbox/pages/foo/bay.rb +10 -0
  59. data/spec/sandbox/pages/foo/baz.rb +11 -0
  60. data/spec/sandbox/pages/foo/partials/partial_the_reckoning.rb +2 -0
  61. data/spec/settings_spec.rb +92 -0
  62. data/spec/site_fixtures_spec.rb +17 -0
  63. data/spec/site_generator_spec.rb +56 -0
  64. data/spec/site_spec.rb +268 -0
  65. data/spec/spec_helper.rb +57 -0
  66. data/spec/string_spec.rb +8 -0
  67. data/spec/taza_bin_spec.rb +13 -0
  68. data/spec/taza_tasks_spec.rb +56 -0
  69. data/taza.gemspec +46 -0
  70. metadata +196 -0
@@ -0,0 +1,268 @@
1
+ require 'spec/spec_helper'
2
+ require 'rubygems'
3
+ require 'taza/site'
4
+ require 'taza/settings'
5
+ require 'taza/options'
6
+ require 'taza/browser'
7
+ require 'taza/page'
8
+ require 'taza/flow'
9
+
10
+ describe Taza::Site do
11
+
12
+ before :all do
13
+ @pages_path = File.join("spec","sandbox","pages","foo","**","*.rb")
14
+ @flows_path = File.join("spec","sandbox","flows","*.rb")
15
+ Foo = Class.new(Taza::Site)
16
+ end
17
+
18
+ before :each do
19
+ Foo.any_instance.stubs(:pages_path).returns(@pages_path)
20
+ ENV['BROWSER'] = nil
21
+ ENV['DRIVER'] = nil
22
+ Taza::Settings.stubs(:config_file).returns({})
23
+ Taza::Settings.stubs(:site_file).returns({})
24
+ Taza::Site.before_browser_closes {}
25
+ end
26
+
27
+ it "pages_path should contain the site class name" do
28
+ browser = stub_browser
29
+ Taza::Browser.stubs(:create).returns(browser)
30
+ Bax = Class.new(Taza::Site)
31
+ Bax.new.pages_path.should eql("./lib/sites/bax/pages/**/*.rb")
32
+ end
33
+
34
+ it "should have flows defined as instance methods" do
35
+ browser = stub_browser
36
+ Taza::Browser.stubs(:create).returns(browser)
37
+ Barz = Class.new(Taza::Site)
38
+ Barz.any_instance.stubs(:path).returns('spec/sandbox')
39
+ Barz.any_instance.stubs(:flows_path).returns(@flows_path)
40
+ Barz.new.batman_flow.should == "i am batman"
41
+ end
42
+
43
+ it "should open watir browsers at the configuration URL" do
44
+ browser = stub_browser
45
+ browser.expects(:goto).with('a_url')
46
+ Taza::Browser.stubs(:create).returns(browser)
47
+ Taza::Settings.stubs(:config).returns(:url => 'a_url')
48
+ Foo.new
49
+ end
50
+
51
+ it "should yield an instance of a page class" do
52
+ f = Foo.new(:browser => stub_browser)
53
+ barzor = nil
54
+ f.bar do |bar|
55
+ barzor = bar
56
+ end
57
+ barzor.should be_an_instance_of(Bar)
58
+ end
59
+
60
+ it "should accept a browser instance" do
61
+ browser = stub_browser
62
+ foo = Foo.new(:browser => browser)
63
+ foo.browser.should eql(browser)
64
+
65
+ end
66
+
67
+ it "should create a browser instance if one is not provided" do
68
+ browser = stub_browser
69
+ Taza::Browser.stubs(:create).returns(browser)
70
+ foo = Foo.new
71
+ foo.browser.should eql(browser)
72
+ end
73
+
74
+ it "should still close browser if an error is raised" do
75
+ browser = stub_browser
76
+ browser.expects(:close)
77
+ Taza::Browser.stubs(:create).returns(browser)
78
+ lambda { Foo.new { |site| raise StandardError}}.should raise_error
79
+ end
80
+
81
+ it "should not close browser if block not given" do
82
+ browser = stub
83
+ browser.stubs(:goto)
84
+ browser.expects(:close).never
85
+ Taza::Browser.stubs(:create).returns(browser)
86
+ Foo.new
87
+ end
88
+
89
+ it "should not close browser if an error is raised on browser goto" do
90
+ browser = Object.new
91
+ browser.stubs(:goto).raises(StandardError,"ErrorOnBrowserGoto")
92
+ browser.expects(:close).never
93
+ Taza::Browser.stubs(:create).returns(browser)
94
+ lambda { Foo.new }.should raise_error(StandardError,"ErrorOnBrowserGoto")
95
+ end
96
+
97
+ it "should raise browser close error if no other errors" do
98
+ browser = stub_browser
99
+ browser.expects(:close).raises(StandardError,"BrowserCloseError")
100
+ Taza::Browser.stubs(:create).returns(browser)
101
+ lambda { Foo.new {}}.should raise_error(StandardError,"BrowserCloseError")
102
+ end
103
+
104
+ it "should raise error inside block if both it and browser.close throws an error" do
105
+ browser = stub_browser
106
+ browser.expects(:close).raises(StandardError,"BrowserCloseError")
107
+ Taza::Browser.stubs(:create).returns(browser)
108
+ lambda { Foo.new { |site| raise StandardError, "innererror" }}.should raise_error(StandardError,"innererror")
109
+ end
110
+
111
+ it "should close a browser if block given" do
112
+ browser = stub_browser
113
+ browser.expects(:close)
114
+ Taza::Browser.stubs(:create).returns(browser)
115
+ Foo.new do |site|
116
+ end
117
+ end
118
+
119
+ it "should yield itself upon initialization" do
120
+ Taza::Browser.stubs(:create).returns(stub_browser)
121
+ foo = nil
122
+ f = Foo.new do |site|
123
+ foo = site
124
+ end
125
+ foo.should eql(f)
126
+ end
127
+
128
+ it "should yield after page methods have been setup" do
129
+ Taza::Browser.stubs(:create).returns(stub_browser)
130
+ klass = Class::new(Taza::Site)
131
+ klass.any_instance.stubs(:pages_path).returns(@pages_path)
132
+ klass.new do |site|
133
+ site.should respond_to(:bar)
134
+ end
135
+ end
136
+
137
+ it "should yield after browser has been setup" do
138
+ Taza::Browser.stubs(:create).returns(stub_browser)
139
+ klass = Class::new(Taza::Site)
140
+ klass.any_instance.stubs(:pages_path).returns(@pages_path)
141
+ klass.new do |site|
142
+ site.browser.should_not be_nil
143
+ end
144
+ end
145
+
146
+ it "should pass its browser instance to its pages " do
147
+ browser = stub_browser
148
+ Taza::Browser.stubs(:create).returns(browser)
149
+ foo = Foo.new
150
+ foo.bar.browser.should eql(browser)
151
+ end
152
+
153
+ it "should add partials defined under the pages directory" do
154
+ Taza::Browser.stubs(:create).returns(stub_browser)
155
+ klass = Class::new(Taza::Site)
156
+ klass.any_instance.stubs(:pages_path).returns(@pages_path)
157
+ klass.new do |site|
158
+ site.partial_the_reckoning
159
+ end
160
+ end
161
+
162
+ it "should have a way to evaluate a block of code before site closes the browser" do
163
+ browser = stub()
164
+ browser.stubs(:goto)
165
+ Taza::Browser.stubs(:create).returns(browser)
166
+ browser_state = states('browser_open_state').starts_as('on')
167
+ browser.expects(:close).then(browser_state.is('off'))
168
+ browser.expects(:doit).when(browser_state.is('on'))
169
+ Taza::Site.before_browser_closes { |browser| browser.doit }
170
+ Foo.new {}
171
+ end
172
+
173
+ it "should have a way to evaluate a block of code before site closes the browser if an error occurs" do
174
+ browser = stub()
175
+ browser.stubs(:goto)
176
+ Taza::Browser.stubs(:create).returns(browser)
177
+ browser_state = states('browser_open_state').starts_as('on')
178
+ browser.expects(:close).then(browser_state.is('off'))
179
+ browser.expects(:doit).when(browser_state.is('on'))
180
+ Taza::Site.before_browser_closes { |browser| browser.doit }
181
+ lambda { Foo.new { |site| raise StandardError, "innererror" }}.should raise_error(StandardError,"innererror")
182
+ end
183
+
184
+ it "should still close its browser if #before_browser_closes raises an exception" do
185
+ browser = stub()
186
+ browser.stubs(:goto)
187
+ Taza::Browser.stubs(:create).returns(browser)
188
+ browser.expects(:close)
189
+ Taza::Site.before_browser_closes { |browser| raise StandardError, 'foo error' }
190
+ lambda { Foo.new {} }.should raise_error(StandardError,'foo error')
191
+ end
192
+
193
+ it "should not close a browser it did not make" do
194
+ browser = stub()
195
+ browser.stubs(:goto)
196
+ browser.expects(:close).never
197
+ Foo.new(:browser => browser) {}
198
+ end
199
+
200
+ it "should close a browser it did make" do
201
+ browser = stub()
202
+ Taza::Browser.stubs(:create).returns(browser)
203
+ browser.stubs(:goto)
204
+ browser.expects(:close)
205
+ Foo.new() {}
206
+ end
207
+
208
+
209
+ module Zoro
210
+ class Zoro < ::Taza::Site
211
+ end
212
+ end
213
+
214
+ it "should pass in the class name to settings config" do
215
+ browser = stub()
216
+ browser.stubs(:goto)
217
+ Taza::Browser.stubs(:create).returns(browser)
218
+ Taza::Settings.expects(:config).with('Zoro').returns({})
219
+ Zoro::Zoro.new
220
+ end
221
+
222
+ it "should load settings based on the sites class name" do
223
+ Taza::Settings.expects(:site_file).with('Zoro').returns({})
224
+ Zoro::Zoro.settings
225
+ end
226
+
227
+ def stub_browser
228
+ browser = stub()
229
+ browser.stubs(:close)
230
+ browser.stubs(:goto)
231
+ browser
232
+ end
233
+
234
+ it "should yield an instance of page class that can access page-module specific elements" do
235
+ f = Foo.new(:browser => stub_browser)
236
+ barzor = nil
237
+ f.baz(:module) do |baz|
238
+ barzor = baz
239
+ end
240
+ barzor.should be_an_instance_of(Baz)
241
+ barzor.some_element.should eql(:some_element_value)
242
+ end
243
+
244
+ it "should raise an error when accessing an element that belongs to another module" do
245
+ f = Foo.new(:browser => stub_browser)
246
+ barzor = nil
247
+ f.baz(:another_module) do |baz|
248
+ barzor = baz
249
+ end
250
+ lambda{barzor.other_element}.should raise_error(NoMethodError)
251
+ end
252
+
253
+ it "should have a way to keep the browser instance open" do
254
+ browser = stub_browser
255
+ browser.expects(:close).never
256
+ Taza::Browser.stubs(:create).returns(browser)
257
+ Taza::Site.donot_close_browser
258
+ Foo.new {}
259
+ end
260
+
261
+ it "should have a way to keep the browser instance open if an error is raised" do
262
+ browser = stub_browser
263
+ browser.expects(:close).never
264
+ Taza::Browser.stubs(:create).returns(browser)
265
+ Taza::Site.donot_close_browser
266
+ lambda { Foo.new { |site| raise StandardError}}.should raise_error
267
+ end
268
+ end
@@ -0,0 +1,57 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'mocha'
4
+ require 'config/vendorized_gems'
5
+ lib_path = File.expand_path("#{File.dirname(__FILE__)}/../lib")
6
+ $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
7
+
8
+
9
+ Spec::Runner.configure do |config|
10
+ config.mock_with :mocha
11
+ end
12
+
13
+ def null_device
14
+ File.exists?('/dev/null') ? '/dev/null' : 'NUL'
15
+ end
16
+
17
+ #### Rubigen helpers
18
+ require 'rubigen'
19
+ require 'rubigen/helpers/generator_test_helper'
20
+
21
+ # Must set before requiring generator libs.
22
+ TMP_ROOT = File.join(File.dirname(__FILE__),"sandbox","generated")
23
+ PROJECT_NAME = 'example'
24
+ PROJECT_FOLDER = File.join(TMP_ROOT,PROJECT_NAME)
25
+ APP_ROOT = File.join(TMP_ROOT, PROJECT_NAME)
26
+
27
+ def generator_sources
28
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..","lib", "app_generators")),
29
+ RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", "generators"))]
30
+ end
31
+
32
+ module Helpers
33
+ module Generator
34
+ def generate_site(site_name)
35
+ site_name = "#{site_name}#{Time.now.to_i}"
36
+ run_generator('site', [site_name], generator_sources)
37
+ site_file_path = File.join(PROJECT_FOLDER,'lib','sites',"#{site_name.underscore}.rb")
38
+ require site_file_path
39
+ "::#{site_name.camelize}::#{site_name.camelize}".constantize.any_instance.stubs(:base_path).returns(PROJECT_FOLDER)
40
+ site_name.camelize.constantize
41
+ end
42
+ end
43
+
44
+ module Taza
45
+ def stub_settings
46
+ ::Taza::Settings.stubs(:config).returns({})
47
+ end
48
+
49
+ def stub_browser
50
+ stub_browser = stub()
51
+ stub_browser.stubs(:goto)
52
+ stub_browser.stubs(:close)
53
+ ::Taza::Browser.stubs(:create).returns(stub_browser)
54
+ end
55
+ end
56
+ end
57
+ #### Rubigen helpers end
@@ -0,0 +1,8 @@
1
+ require 'spec/spec_helper'
2
+ require 'extensions/string'
3
+
4
+ describe "string extensions" do
5
+ it "should pluralize and to sym a string" do
6
+ "apple".pluralize_to_sym.should eql(:apples)
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec/spec_helper'
2
+ require 'rubygems'
3
+ require 'fileutils'
4
+
5
+ describe "Taza project generator script" do
6
+
7
+ it "should have an executable script" do
8
+ path = 'spec/sandbox/generators'
9
+ taza_bin = "#{File.expand_path(File.dirname(__FILE__)+'/../bin/taza')} #{path}"
10
+ system("ruby -c #{taza_bin} > #{null_device}").should be_true
11
+ end
12
+
13
+ end
@@ -0,0 +1,56 @@
1
+ require 'spec/spec_helper'
2
+ require 'rubygems'
3
+ require 'rake'
4
+ require 'taglob'
5
+
6
+ describe "Taza Tasks" do
7
+
8
+ before :all do
9
+ @file_name ="./lib/taza/tasks.rb"
10
+ @rake = Rake::Application.new
11
+ Rake.application = @rake
12
+ end
13
+
14
+ before :each do
15
+ Dir.stubs(:taglob).returns([])
16
+ Dir.expects(:glob).with('./spec/*/').returns(['./spec/functional/','./spec/mocks/'])
17
+ Dir.expects(:glob).with('./spec/functional/*/').returns(['./spec/functional/foo/'])
18
+ Dir.expects(:glob).with('./spec/functional/*_spec.rb').returns([])
19
+ Dir.expects(:glob).with('./spec/functional/foo/*/').returns(['./spec/functional/foo/page/'])
20
+ Dir.expects(:glob).with('./spec/functional/foo/*_spec.rb').returns([])
21
+ Dir.expects(:glob).with('./spec/functional/foo/page/*/').returns([])
22
+ Dir.expects(:glob).with('./spec/functional/foo/page/*_spec.rb').returns(['./spec/functional/foo/page/bar_spec.rb'])
23
+
24
+ Dir.expects(:glob).with('./spec/functional/**/*_spec.rb').returns(['./spec/functional/foo/page/bar_spec.rb'])
25
+ Dir.expects(:glob).with('./spec/functional/foo/**/*_spec.rb').returns(['./spec/functional/foo/page/bar_spec.rb'])
26
+ Dir.expects(:glob).with('./spec/functional/foo/page/**/*_spec.rb').returns(['./spec/functional/foo/page/bar_spec.rb'])
27
+ Dir.expects(:glob).with('./spec/mocks/**/*_spec.rb').returns([])
28
+ load @file_name
29
+ Taza::Rake::Tasks.new
30
+ end
31
+
32
+ after :all do
33
+ Rake.application = nil
34
+ end
35
+
36
+ it "should create rake spec tasks for all sites" do
37
+ tasks.include?("spec:functional:foo").should be_true
38
+ end
39
+
40
+ it "should create rake spec tasks for all sites page specs" do
41
+ tasks.include?("spec:functional:foo:page").should be_true
42
+ end
43
+
44
+ it "should create rake spec tasks for all sites page specs in sub-folders" do
45
+ tasks.include?("spec:functional:foo:page:bar").should be_true
46
+ end
47
+
48
+ it "should not create rake spec tasks for folders that donot contain specs in their sub-tree" do
49
+ tasks.include?("spec:mocks").should be_false
50
+ end
51
+
52
+ def tasks
53
+ @rake.tasks.collect{|task| task.name }
54
+ end
55
+
56
+ end
@@ -0,0 +1,46 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{taza}
3
+ s.version = "0.8.6"
4
+
5
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
+ s.authors = ["Adam Anderson"]
7
+ s.date = %q{2009-04-08}
8
+ s.default_executable = %q{taza}
9
+ s.description = %q{Taza is an opionated browser-based testing framework.}
10
+ s.email = %q{adamandersonis@gmail.com}
11
+ s.executables = ["taza"]
12
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README"]
13
+ s.files = ["History.txt", "Manifest.txt", "README.textile", "taza.gemspec", "VERSION.yml", "bin/taza", "generators/flow", "generators/flow/flow_generator.rb", "generators/flow/templates", "generators/flow/templates/flow.rb.erb", "generators/page", "generators/page/page_generator.rb", "generators/page/templates", "generators/page/templates/functional_page_spec.rb.erb", "generators/page/templates/page.rb.erb", "generators/partial", "generators/partial/partial_generator.rb", "generators/partial/templates", "generators/partial/templates/partial.rb.erb", "generators/site", "generators/site/site_generator.rb", "generators/site/templates", "generators/site/templates/site.rb.erb", "generators/site/templates/site.yml.erb", "lib/app_generators", "lib/app_generators/taza", "lib/app_generators/taza/taza_generator.rb", "lib/app_generators/taza/templates", "lib/app_generators/taza/templates/config.yml.erb", "lib/app_generators/taza/templates/rakefile.rb.erb", "lib/app_generators/taza/templates/spec_helper.rb.erb", "lib/extensions", "lib/extensions/array.rb", "lib/extensions/hash.rb", "lib/extensions/object.rb", "lib/extensions/string.rb", "lib/taza", "lib/taza/browser.rb", "lib/taza/entity.rb", "lib/taza/fixture.rb", "lib/taza/fixtures.rb", "lib/taza/flow.rb", "lib/taza/page.rb", "lib/taza/settings.rb", "lib/taza/site.rb", "lib/taza/tasks.rb", "lib/taza.rb", "spec/array_spec.rb", "spec/browser_spec.rb", "spec/entity_spec.rb", "spec/fixtures_spec.rb", "spec/fixture_spec.rb", "spec/flow_generator_spec.rb", "spec/hash_spec.rb", "spec/object_spec.rb", "spec/page_generator_spec.rb", "spec/page_module_spec.rb", "spec/page_spec.rb", "spec/partial_generator_spec.rb", "spec/project_generator_spec.rb", "spec/sandbox", "spec/sandbox/config", "spec/sandbox/config/config.yml", "spec/sandbox/config/site_name.yml", "spec/sandbox/config.yml", "spec/sandbox/fixtures", "spec/sandbox/fixtures/examples.yml", "spec/sandbox/fixtures/foos.yml", "spec/sandbox/fixtures/foo_site", "spec/sandbox/fixtures/foo_site/bars.yml", "spec/sandbox/fixtures/users.yml", "spec/sandbox/flows", "spec/sandbox/flows/batman.rb", "spec/sandbox/flows/robin.rb", "spec/sandbox/pages", "spec/sandbox/pages/foo", "spec/sandbox/pages/foo/bar.rb", "spec/sandbox/pages/foo/bay.rb", "spec/sandbox/pages/foo/baz.rb", "spec/sandbox/pages/foo/partials", "spec/sandbox/pages/foo/partials/partial_the_reckoning.rb", "spec/settings_spec.rb", "spec/site_fixtures_spec.rb", "spec/site_generator_spec.rb", "spec/site_spec.rb", "spec/spec_helper.rb", "spec/string_spec.rb", "spec/taza_bin_spec.rb", "spec/taza_tasks_spec.rb", "README"]
14
+ s.has_rdoc = true
15
+ s.homepage = %q{http://github.com/scudco/taza}
16
+ s.rdoc_options = ["--main", "README", "--inline-source", "--charset=UTF-8"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = %q{taza}
19
+ s.rubygems_version = %q{1.2.0}
20
+ s.summary = %q{Taza is an opionated browser-based testing framework.}
21
+
22
+ if s.respond_to? :specification_version then
23
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
+ s.specification_version = 2
25
+
26
+ if current_version >= 3 then
27
+ s.add_runtime_dependency(%q<taglob>, [">= 1.1.1"])
28
+ s.add_runtime_dependency(%q<rake>, [">= 0.8.3"])
29
+ s.add_runtime_dependency(%q<mocha>, [">= 0.9.3"])
30
+ s.add_runtime_dependency(%q<rspec>, [">= 1.1.12"])
31
+ s.add_runtime_dependency(%q<rubigen>, [">= 1.4.0"])
32
+ else
33
+ s.add_dependency(%q<taglob>, [">= 1.1.1"])
34
+ s.add_dependency(%q<rake>, [">= 0.8.3"])
35
+ s.add_dependency(%q<mocha>, [">= 0.9.3"])
36
+ s.add_dependency(%q<rspec>, [">= 1.1.12"])
37
+ s.add_dependency(%q<rubigen>, [">= 1.4.0"])
38
+ end
39
+ else
40
+ s.add_dependency(%q<taglob>, [">= 1.1.1"])
41
+ s.add_dependency(%q<rake>, [">= 0.8.3"])
42
+ s.add_dependency(%q<mocha>, [">= 0.9.3"])
43
+ s.add_dependency(%q<rspec>, [">= 1.1.12"])
44
+ s.add_dependency(%q<rubigen>, [">= 1.4.0"])
45
+ end
46
+ end