sinatra-tests 0.1.5 → 0.1.6

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.
@@ -5,21 +5,9 @@ require "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/../spec_helpe
5
5
  describe "Sinatra" do
6
6
 
7
7
  it_should_behave_like "MyTestApp"
8
- # it_should_behave_like "MyAdminTestApp"
9
-
10
- # it_should_behave_like "debug => app.methods"
11
8
 
12
9
  describe "Tests" do
13
10
 
14
- describe "#self.version" do
15
-
16
- it "should return a string with the version number" do
17
- Sinatra::Tests.version.should match(/Sinatra::Tests v\d\.\d\.\d/)
18
- end
19
-
20
- end #/ #version
21
-
22
-
23
11
  describe "TestCase" do
24
12
 
25
13
  describe "#h" do
@@ -100,7 +88,6 @@ describe "Sinatra" do
100
88
  end
101
89
 
102
90
  it "should work with a custom URL" do
103
- pending "these tests does not really work. Find out why"
104
91
  class MyTestApp
105
92
  get '/custom-haml-url' do
106
93
  haml "%customurl= @params[:view]"
@@ -114,9 +101,7 @@ describe "Sinatra" do
114
101
 
115
102
  end #/ #haml_app
116
103
 
117
-
118
104
  end #/ TestCase
119
105
 
120
-
121
106
  end #/ Tests
122
107
  end #/ Sinatra
@@ -0,0 +1,30 @@
1
+
2
+ require "#{File.dirname(File.dirname(File.expand_path(__FILE__)))}/../spec_helper"
3
+
4
+
5
+ describe "Sinatra" do
6
+
7
+ it_should_behave_like "MyTestApp"
8
+
9
+ describe "Tests" do
10
+
11
+ describe "VERSION" do
12
+
13
+ it "should return the VERSION string" do
14
+ Sinatra::Tests::VERSION.should be_a_kind_of(String)
15
+ Sinatra::Tests::VERSION.should match(/\d\.\d+\.\d+(\.\d)?/)
16
+ end
17
+
18
+ end #/ VERSION
19
+
20
+ describe "#self.version" do
21
+
22
+ it "should return a string with the version number" do
23
+ Sinatra::Tests.version.should match(/Sinatra::Tests v\d\.\d\.\d/)
24
+ end
25
+
26
+ end #/ #version
27
+
28
+ end #/ Tests
29
+
30
+ end #/ Sinatra
@@ -1,12 +1,16 @@
1
- require 'spec'
1
+ # require 'spec'
2
2
 
3
3
  $LOAD_PATH.unshift(File.dirname(__FILE__))
4
4
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
5
  require 'sinatra/tests'
6
6
 
7
+
8
+ ENV['RACK_ENV'] = 'test'
9
+
7
10
  Spec::Runner.configure do |config|
8
11
  config.include RspecHpricotMatchers
9
- config.include Sinatra::Tests::SharedSpecs
12
+ config.include Sinatra::Tests::TestCase
13
+ config.include Sinatra::Tests::RSpec::SharedSpecs
10
14
  end
11
15
 
12
16
 
@@ -19,15 +23,9 @@ end
19
23
  class MyTestApp < Sinatra::Base
20
24
  register(Sinatra::Tests)
21
25
  end
22
-
23
- class MyAdminTestApp < MyTestApp
24
- # register(Sinatra::Tests)
25
- end
26
26
 
27
27
 
28
28
  class Test::Unit::TestCase
29
- include Sinatra::Tests::TestCase
30
-
31
29
  Sinatra::Base.set :environment, :test
32
-
33
30
  end
31
+
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 6
9
+ version: 0.1.6
5
10
  platform: ruby
6
11
  authors:
7
12
  - kematzy
@@ -9,49 +14,64 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-10-15 00:00:00 +08:00
17
+ date: 2010-02-23 00:00:00 +08:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: sinatra
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 10
30
+ - 1
23
31
  version: 0.10.1
24
- version:
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: rack-test
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - ">="
32
40
  - !ruby/object:Gem::Version
33
- version: 0.4.1
34
- version:
41
+ segments:
42
+ - 0
43
+ - 5
44
+ - 3
45
+ version: 0.5.3
46
+ type: :runtime
47
+ version_requirements: *id002
35
48
  - !ruby/object:Gem::Dependency
36
49
  name: rspec
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
40
52
  requirements:
41
53
  - - ">="
42
54
  - !ruby/object:Gem::Version
43
- version: 1.2.8
44
- version:
55
+ segments:
56
+ - 1
57
+ - 3
58
+ - 0
59
+ version: 1.3.0
60
+ type: :runtime
61
+ version_requirements: *id003
45
62
  - !ruby/object:Gem::Dependency
46
63
  name: rspec_hpricot_matchers
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
50
66
  requirements:
51
67
  - - ">="
52
68
  - !ruby/object:Gem::Version
53
- version: 1.0.0
54
- version:
69
+ segments:
70
+ - 1
71
+ - 0
72
+ version: "1.0"
73
+ type: :runtime
74
+ version_requirements: *id004
55
75
  description:
56
76
  email: kematzy@gmail.com
57
77
  executables: []
@@ -69,11 +89,13 @@ files:
69
89
  - Rakefile
70
90
  - VERSION
71
91
  - lib/sinatra/tests.rb
72
- - lib/sinatra/tests/init.rb
73
- - lib/sinatra/tests/shared_specs.rb
92
+ - lib/sinatra/tests/rspec/matchers.rb
93
+ - lib/sinatra/tests/rspec/shared_specs.rb
74
94
  - lib/sinatra/tests/test_case.rb
75
95
  - sinatra-tests.gemspec
96
+ - spec/sinatra/tests/rspec/matchers_spec.rb
76
97
  - spec/sinatra/tests/test_case_spec.rb
98
+ - spec/sinatra/tests/tests_spec.rb
77
99
  - spec/spec_helper.rb
78
100
  has_rdoc: true
79
101
  homepage: http://github.com/kematzy/sinatra-tests
@@ -88,21 +110,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
110
  requirements:
89
111
  - - ">="
90
112
  - !ruby/object:Gem::Version
113
+ segments:
114
+ - 0
91
115
  version: "0"
92
- version:
93
116
  required_rubygems_version: !ruby/object:Gem::Requirement
94
117
  requirements:
95
118
  - - ">="
96
119
  - !ruby/object:Gem::Version
120
+ segments:
121
+ - 0
97
122
  version: "0"
98
- version:
99
123
  requirements: []
100
124
 
101
125
  rubyforge_project:
102
- rubygems_version: 1.3.5
126
+ rubygems_version: 1.3.6
103
127
  signing_key:
104
128
  specification_version: 3
105
129
  summary: Sinatra::Tests is a repository of common Test/RSpec helpers
106
130
  test_files:
131
+ - spec/sinatra/tests/rspec/matchers_spec.rb
107
132
  - spec/sinatra/tests/test_case_spec.rb
133
+ - spec/sinatra/tests/tests_spec.rb
108
134
  - spec/spec_helper.rb
@@ -1,174 +0,0 @@
1
-
2
- # ### Make sure my own gem path is included first
3
- # if (ENV['HOME'] =~ /^\/home\//) ## DREAMHOST
4
- # ENV['GEM_HOME'] = "#{ENV['HOME']}/.gems"
5
- # ENV['GEM_PATH'] = "#{ENV['HOME']}/.gems:/usr/lib/ruby/gems/1.8"
6
- # require 'rubygems'
7
- # Gem.clear_paths
8
- # else
9
- # require 'rubygems'
10
- # end
11
- #
12
- # #--
13
- # # DEPENDENCIES
14
- # #++
15
- #
16
- # require 'haml'
17
- # require 'sass'
18
- # require 'sinatra/base'
19
- # require 'alt/rext'
20
- # require 'ostruct'
21
- # require 'yaml'
22
- #
23
- # #--
24
- # ## SINATRA EXTENSIONS
25
- # #++
26
- #
27
- # require 'sinatra/basics'
28
- # require 'sinatra/ie6nomore'
29
- # # require 'sinatra/upload'
30
- # # require 'sinatra/snippets'
31
- # #require 'sinatra/cache'
32
- #
33
- # #--
34
- # # DATABASE DEPENDENCIES
35
- # #++
36
- # require 'dm-core'
37
- # require 'dm-migrations'
38
- # require 'dm-timestamps'
39
- # require 'dm-validations'
40
- # require 'dm-serializer'
41
- # require 'dm-types'
42
- #
43
- # #--
44
- # # DATABASE CONFIGURATION
45
- # #++
46
- #
47
- # DataMapper::Logger.new("#{APP_ROOT}/db/dm.app.log", :debug)
48
- # DataMapper.setup :default, "sqlite3://#{APP_ROOT}/db/db.tests.db"
49
- # DataMapper.auto_upgrade!
50
- #
51
- #--
52
- # SINATRA::TESTS::INIT
53
- #
54
- # Main Extension that loads a number of commonly used parts / functionality
55
- #++
56
-
57
- module Sinatra::Tests
58
- module Init
59
-
60
- module Helpers
61
-
62
- ##
63
- # Convenience method for the class Settings block
64
- def konf
65
- self.class.settings
66
- end
67
-
68
- end #/module Helpers
69
-
70
- def self.registered(app)
71
- app.helpers Sinatra::Init::Helpers
72
-
73
- ## OPTIONS / SINATRA / CORE
74
- app.set :static, true
75
- app.set :logging, true
76
- app.set :sessions, true
77
- app.set :methodoverride, true
78
- app.set :run, false
79
-
80
- app.set :raise_errors, true #Proc.new { test? }
81
- app.set :show_exceptions, true #Proc.new { development? }
82
-
83
- ## OPTIONS / SINATRA / EXTENSIONS
84
- # app.set :admin_path_prefix, '/admin'
85
-
86
- ## OPTIONS / SINATRA / APP
87
-
88
- app.set :apps_dir, "#{APP_ROOT}/apps"
89
-
90
- end
91
-
92
- ##
93
- # Configuration loading abstraction. Loads the configurations in the given path,
94
- # or
95
- #
96
- # ==== Examples
97
- #
98
- # set :settings, load_settings('/path/2/configurations/file.yml')
99
- #
100
- # Merge local settings with the global configurations, via adding :merge_with_global
101
- #
102
- # set :settings, load_settings('/path/2/configurations/file.yml', :merge_with_global)
103
- #
104
- #
105
- # @api public
106
- def load_settings!(path, load_global = nil)
107
- global_settings = load_global.nil? ? {} : YAML.load_file("#{APP_ROOT}/config/settings.yml")
108
- loaded_settings = test(?f, path) ? YAML.load_file(path) : {} # Hash coming in
109
- merged_settings = global_settings.merge(loaded_settings)
110
- puts "- Settings loaded and merged for [#{path.sub(APP_ROOT,'')}]"
111
- @settings = ::OpenStruct.new(merged_settings)
112
- end
113
-
114
- ##
115
- # Convenience method for loading declared routes.
116
- #
117
- # Takes the full path to the apps/app directory
118
- #
119
- # ==== Examples
120
- #
121
- # load_routes!(app_dir)
122
- #
123
- #
124
- # load_routes!('/full/path/2/apps/app/dir')
125
- #
126
- # @api public
127
- def load_routes!(app_dir_path)
128
- # puts "load_routes!(app_dir_path=[#{app_dir_path}]) [#{__FILE__}:#{__LINE__}]"
129
- Dir["#{app_dir_path}/routes/*.rb"].each do |route|
130
- load route
131
- end
132
- end
133
-
134
- ##
135
- # Convenience method for loading helpers.
136
- #
137
- # Takes the full path to the apps/app directory
138
- #
139
- # ==== Examples
140
- #
141
- # load_helpers!(app_dir)
142
- #
143
- #
144
- # load_helpers!('/full/path/2/apps/app/dir')
145
- #
146
- # @api public
147
- def load_helpers!(app_dir_path)
148
- # puts "load_helpers!(app_dir_path=[#{app_dir_path}]) [#{__FILE__}:#{__LINE__}]"
149
- Dir["#{app_dir_path}/helpers/*.rb"].each do |helper|
150
- load helper
151
- end
152
- end
153
-
154
- ##
155
- # Convenience method for loading models.
156
- #
157
- # Takes the full path to the apps/app directory
158
- #
159
- # ==== Examples
160
- #
161
- # load_models!(app_dir)
162
- #
163
- #
164
- # load_models!('/full/path/2/apps/app/dir')
165
- #
166
- # @api public
167
- def load_models!(app_dir)
168
- Dir["#{app_dir}/models/*.rb"].each do |model|
169
- load model
170
- end
171
- end
172
-
173
- end #/module Init
174
- end #/module Sinatra::Tests
@@ -1,450 +0,0 @@
1
-
2
-
3
- module Sinatra
4
- module Tests
5
-
6
- module RSpecMatchers
7
-
8
- ##
9
- # TODO: add some comments here
10
- #
11
- # ==== Examples
12
- #
13
- #
14
- # @api public/private
15
- def be_even
16
- simple_matcher("an even number") { |given| given % 2 == 0 }
17
- end
18
-
19
- ##
20
- # TODO: add some comments here
21
- #
22
- # ==== Examples
23
- #
24
- #
25
- # @api public/private
26
- def have_a_page_title(expected)
27
- simple_matcher do |given, matcher|
28
- given.should have_tag('title', expected)
29
- end
30
- end
31
-
32
- ##
33
- # TODO: add some comments here
34
- #
35
- # ==== Examples
36
- #
37
- #
38
- # @api public/private
39
- def have_a_page_header(expected)
40
- simple_matcher("have an h2 page header with [#{expected.inspect}]") do |given, matcher|
41
- # matcher.description = "have an h2 page header with [#{expected.inspect}]"
42
- given.should have_tag('h2', expected, :count => 1)
43
- end
44
- end
45
-
46
- ##
47
- # TODO: add some comments here
48
- #
49
- # ==== Examples
50
- #
51
- #
52
- # @api public/private
53
- def have_a_td_actions(model, buttons = %w(delete edit))
54
- simple_matcher do |given, matcher|
55
- tag = "div##{model.to_s.plural}-div > table##{model.to_s.plural}-table > tbody > tr > td.actions"
56
- given.should have_tag(tag) do |td|
57
- td.attributes['id'].should match(/#{model.to_s.singular}-actions-\d+/)
58
- end
59
- buttons.each do |btn|
60
- given.should have_a_delete_btn(tag, model) if btn.to_s == 'delete'
61
- given.should have_an_edit_btn(tag, model) if btn.to_s == 'edit'
62
- # TODO:: fix Show button
63
- # td.should have_a_show_btn(model) if btn.to_s == 'show'
64
- end
65
- end
66
- end
67
-
68
- ##
69
- # TODO: add some comments here
70
- #
71
- # ==== Examples
72
- #
73
- #
74
- # @api public/private
75
- def have_an_edit_btn(tag, model)
76
- simple_matcher do |given, matcher|
77
- given.should have_tag(tag + ' > a.edit-link.ui-btn','EDIT') do |a|
78
- a.attributes['href'].should match(/\/#{model.to_s.plural}\/\d+\/edit/)
79
- end
80
- given.should have_tag(tag + " > a.edit-link[@title=edit #{model.to_s.singular}]",'EDIT')
81
- end
82
- end
83
-
84
- ##
85
- # TODO: add some comments here
86
- #
87
- # ==== Examples
88
- #
89
- #
90
- # @api public/private
91
- def have_a_delete_btn(tag, model)
92
- simple_matcher do |given, matcher|
93
- given.should have_tag(tag + ' > a.delete-link.ui-btn','DELETE') do |a|
94
- a.attributes['href'].should match(/\/#{model.to_s.plural}\/\d+/)
95
- end
96
- given.should have_tag(tag + " > a.delete-link[@title=delete #{model.to_s.singular}]",'DELETE')
97
- end
98
- end
99
-
100
- # def have_id_attribute(tag, id)
101
- # simple_matcher do |given, matcher|
102
- # given.should have_tag(tag).attributes['id'].should match(id)
103
- # end
104
- # end
105
-
106
- # def have_link_title(title)
107
- # simple_matcher do |given, matcher|
108
- # given.attributes['title'].should == title
109
- # end
110
- # end
111
-
112
- ##
113
- # TODO: add some comments here
114
- #
115
- # ==== Examples
116
- #
117
- #
118
- # @api public/private
119
- def have_an_ui_form_header(model, options = {} )
120
-
121
- end
122
-
123
- ##
124
- # TODO: add some comments here
125
- #
126
- # ==== Examples
127
- #
128
- #
129
- # @api public/private
130
- def have_a_ui_form_message(state, msg = nil)
131
- simple_matcher do |given, matcher|
132
- if msg.nil?
133
- given.should have_tag("form > div.ui-form-message.#{state} > p") #ignoring message
134
- else
135
- given.should have_tag("form > div.ui-form-message.#{state} > p", msg)
136
- end
137
- end
138
- end
139
-
140
- ##
141
- # TODO: add some comments here
142
- #
143
- # ==== Examples
144
- #
145
- #
146
- # @api public/private
147
- def have_an_admin_header(options ={})
148
- simple_matcher do |given, matcher|
149
- matcher.description = "be an admin_header with [#{options.inspect}]"
150
- matcher.failure_message = "expected #{given} to have an admin-section-header with these values #{options.inspect}"
151
-
152
- given.should have_tag('div.admin-section-header')
153
- if options[:model]
154
- given.should have_tag('div.admin-section-header > div.section > h2', /#{options[:model].to_s}/i )
155
- if options[:add_new]
156
- given.should have_tag("div.admin-section-header > div.actions > h4 > a[@href=/#{options[:model].to_s.downcase}/new]", /ADD NEW #{options[:model].to_s.singular}:?/i )
157
- end
158
- end
159
- end
160
- end
161
-
162
-
163
- end #/module RSpecMatchers
164
-
165
- # == Shared Specs
166
- #
167
- # === DEBUG
168
- #
169
- # * <b><tt>it_should_behave_like "debug => app.methods"</tt></b>
170
- #
171
- # dumps a list of methods for the current <tt>app</tt>
172
- #
173
- # * <b><tt>it_should_behave_like "debug"</tt></b>
174
- #
175
- # tests the body output for a <tt><debug></tt> tag.
176
- #
177
- #
178
- # === RESPONSE
179
- #
180
- # * <b><tt>it_should_behave_like "HTTP headers"</tt></b>
181
- #
182
- # checks that we got a 200 status (OK), and content-type is <tt>text/html</tt>
183
- #
184
- #
185
- # === HTML OUTPUT
186
- #
187
- # * <b><tt>it_should_behave_like "div#main-content"</tt></b>
188
- #
189
- # checks that the page has a <tt><div id="main-content"></div></tt>
190
- #
191
- # * <b><tt>it_should_behave_like "div#main-content > h2"</tt></b>
192
- #
193
- # checks that the page has an <tt><h2></tt> tag within the <tt><div id="main-content"></div></tt>
194
- #
195
- #
196
- # ==== ADMIN SECTION
197
- #
198
- # * <b><tt>it_should_behave_like "div.admin-section-header > div.actions > h4 with HELP"</tt></b>
199
- #
200
- # checks that the page has an...
201
- #
202
- #
203
- # ==== FORMS
204
- #
205
- # * <b><tt>it_should_behave_like "faux method > input.hidden[@value=put|delete]"</tt></b>
206
- #
207
- # checks that the page has an...
208
- #
209
- module SharedSpecs
210
-
211
- include Sinatra::Tests::RSpecMatchers
212
-
213
- # :stopdoc:
214
-
215
- share_examples_for 'MyTestApp' do
216
-
217
- before(:each) do
218
- class ::Test::Unit::TestCase
219
- def app; ::MyTestApp.new ; end
220
- end
221
- @app = app
222
- end
223
-
224
- after(:each) do
225
- class ::Test::Unit::TestCase
226
- def app; nil ; end
227
- end
228
- @app = nil
229
- end
230
-
231
- describe "Sanity" do
232
-
233
- it "should be a MyTestApp kind of app" do
234
- # FIXME:: HACK to prevent errors due to stupid Rack::CommonLogger error, when testing.
235
- unless app.class == MyTestApp
236
- pending "app.class returns [#{app.class}]"
237
- else
238
- app.class.should == MyTestApp
239
- end
240
- end
241
-
242
- # it_should_behave_like "debug => app.methods"
243
-
244
- end #/ Sanity
245
-
246
- end
247
-
248
- share_examples_for 'MyAdminTestApp' do
249
-
250
- before(:each) do
251
- class ::Test::Unit::TestCase
252
- def app; ::MyAdminTestApp.new ; end
253
- end
254
- @app = app
255
- end
256
-
257
- after(:each) do
258
- class ::Test::Unit::TestCase
259
- def app; nil ; end
260
- end
261
- @app = nil
262
- end
263
- end
264
-
265
- # :startdoc:
266
-
267
- # it_should_behave_like "debug => app.methods"
268
- #
269
- share_examples_for "debug => app.methods" do
270
- it "app should have the right methods" do
271
- app.methods.sort.should == 'debug => app.methods.sort'
272
- end
273
- end
274
-
275
- share_examples_for "debug" do
276
-
277
- it "should output the whole html" do
278
- body.should have_tag('debug')
279
- end
280
-
281
- end #/debug
282
-
283
- share_examples_for "HTTP headers" do
284
-
285
- it "should return status: 200" do
286
- assert response.ok?
287
- end
288
-
289
- it "should return 'text/html'" do
290
- response.headers['Content-Type'].should == 'text/html'
291
- # assert_equal('text/html', last_response.headers['Content-Type'])
292
- end
293
-
294
- end #/headers
295
-
296
-
297
- ###### HTML OUTPUT #######
298
-
299
- share_examples_for 'div#main-content' do
300
- it "should have a div#main-content tag" do
301
- body.should have_tag('div#main-content')
302
- end
303
- end #/div
304
-
305
- share_examples_for 'div#main-content > h2' do
306
- it "should have a div#main-content h2 tag" do
307
- body.should have_tag('div#main-content > h2', :count => 1)
308
- end
309
- end #/share_examples_for
310
-
311
-
312
- ###### ADMIN SECTIONS #######
313
-
314
- share_examples_for 'div.admin-section-header > div.actions > h4 with HELP' do
315
- it "should have div.admin-section-header > div.actions > h4 with HELP" do
316
- body.should have_tag('div.admin-section-header > div.actions > h4') do |h4|
317
- h4.inner_text.should match(/\s*HELP$/)
318
- end
319
- end
320
- end
321
-
322
-
323
- ###### FORMS ########
324
-
325
- share_examples_for 'faux method > input.hidden[@value=put|delete]' do
326
- it "should have a faux method input hidden with method = PUT or DELETE" do
327
- body.should match(/<input (name="_method"\s*|type="hidden"\s*|value="(put|delete)"\s*){3}>/)
328
- end
329
- end
330
-
331
-
332
- ###### CSS ########
333
-
334
- share_examples_for 'get_all_css_requests("/css")' do
335
-
336
- it_should_behave_like "CSS [screen, print]"
337
-
338
- it_should_behave_like "CSS [ie]"
339
-
340
- end
341
-
342
- share_examples_for 'get_all_css_requests("/css") (NO IE)' do
343
-
344
- it_should_behave_like "CSS [screen, print]"
345
-
346
- end
347
-
348
- share_examples_for 'CSS [screen, print]' do
349
-
350
- describe "CSS - GET /css/screen.css" do
351
-
352
- before(:each) do
353
- get("/css/screen.css")
354
- end
355
-
356
- it "should return status: 200" do
357
- assert response.ok?
358
- end
359
-
360
- it "should return 'text/html'" do
361
- # response.headers['Content-Type'].should == 'text/css;charset=utf-8'
362
- response.headers['Content-Type'].should == 'text/css'
363
- end
364
-
365
- describe "the CSS" do
366
-
367
- # it_should_behave_like "debug"
368
-
369
- it "should NOT have a Sass::SyntaxError" do
370
- body.should_not match(/Sass::SyntaxError/)
371
- end
372
-
373
- # TODO:: Need to write further tests here
374
- # it "should have further tests"
375
-
376
- end #/ the CSS
377
-
378
- end #/CSS - GET /css/screen.css
379
-
380
- describe "CSS - GET /css/print.css" do
381
-
382
- before(:each) do
383
- get("/css/print.css")
384
- end
385
-
386
- it "should return status: 200" do
387
- assert response.ok?
388
- end
389
-
390
- it "should return 'text/html'" do
391
- # response.headers['Content-Type'].should == 'text/css;charset=utf-8'
392
- response.headers['Content-Type'].should == 'text/css'
393
- end
394
-
395
- describe "the CSS" do
396
-
397
- # it_should_behave_like "debug"
398
-
399
- it "should NOT have a Sass::SyntaxError" do
400
- body.should_not match(/Sass::SyntaxError/)
401
- end
402
-
403
- # TODO:: Need to write further tests here
404
- # it "should have further tests"
405
-
406
- end #/ the CSS
407
-
408
- end #/CSS - GET /css/print.css
409
-
410
- end
411
-
412
- share_examples_for 'CSS [ie]' do
413
-
414
- describe "CSS - GET /css/ie.css" do
415
-
416
- before(:each) do
417
- get("/css/ie.css")
418
- end
419
-
420
- it "should return status: 200" do
421
- assert response.ok?
422
- end
423
-
424
- it "should return 'text/html'" do
425
- # response.headers['Content-Type'].should == 'text/css;charset=utf-8' # tilt version
426
- response.headers['Content-Type'].should == 'text/css'
427
- end
428
-
429
- describe "the CSS" do
430
-
431
- # it_should_behave_like "debug"
432
-
433
- it "should NOT have a Sass::SyntaxError" do
434
- body.should_not match(/Sass::SyntaxError/)
435
- end
436
-
437
- # TODO:: Need to write further tests here
438
- # it "should have further tests"
439
-
440
- end #/ the CSS
441
-
442
- end #/CSS - GET /css/print.css
443
-
444
- end
445
-
446
-
447
- end #/module SharedSpecs
448
-
449
- end #/module Tests
450
- end #/module Sinatra