chicago 0.3.5 → 0.3.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.
- data/.gitignore +1 -0
- data/README.markdown +15 -3
- data/Rakefile +25 -4
- data/chicago.gemspec +70 -37
- data/lib/chicago/riot/macros.rb +8 -5
- data/test/{application_test.rb → riot_tests/application_test.rb} +1 -1
- data/test/{helpers_test.rb → riot_tests/helpers_test.rb} +1 -1
- data/test/{responders_test.rb → riot_tests/responders_test.rb} +1 -1
- data/test/{protest_macros_test.rb → riot_tests/riot_macros_test.rb} +3 -3
- data/test/{test_helper.rb → riot_tests/test_helper.rb} +3 -8
- data/test/shoulda_tests/application_test.rb +1 -1
- data/test/shoulda_tests/helpers_test.rb +1 -1
- data/test/shoulda_tests/responders_test.rb +1 -1
- data/test/shoulda_tests/test_helper.rb +3 -5
- metadata +43 -18
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/README.markdown
CHANGED
@@ -5,7 +5,19 @@
|
|
5
5
|
|
6
6
|
Yeah, we're real clever. We're also from ["The city in mid-west best city in the whole wide wide world"](http://www.azlyrics.com/lyrics/lupefiasco/gogogadgetflow.html) ... which makes us double the clever.
|
7
7
|
|
8
|
-
|
8
|
+
Chicago is a collection of runtime and test extensions and helpers that makes some common tasks a little bit easier.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
First, make sure GemCutter is added to your list of sources. If not, install it like so or just follow the instructions for installing the gemcutter gem:
|
13
|
+
|
14
|
+
sudo gem sources -a http://gemcutter.org
|
15
|
+
|
16
|
+
Then, installing chicago is a quick gem install:
|
17
|
+
|
18
|
+
sudo gem install chicago
|
19
|
+
|
20
|
+
## Usage
|
9
21
|
|
10
22
|
### Sinatra runtime app
|
11
23
|
|
@@ -31,9 +43,9 @@ Assuming you have required 'rack/test', like so:
|
|
31
43
|
|
32
44
|
require 'rack/test'
|
33
45
|
|
34
|
-
This is because these macros use last_request defined by the Rack/Test library. If you're using [
|
46
|
+
This is because these macros use last_request defined by the Rack/Test library. If you're using [Riot](http://github.com/thumblemonks/riot) in your tests of your Sinatra app, do this:
|
35
47
|
|
36
|
-
require 'chicago/
|
48
|
+
require 'chicago/riot'
|
37
49
|
|
38
50
|
... and you'll get a bunch of cool Protest macros for testing specific Sinatra stuff.
|
39
51
|
|
data/Rakefile
CHANGED
@@ -8,15 +8,16 @@ task :default => [:test]
|
|
8
8
|
task(:set_test_env) { ENV['RACK_ENV'] ||= 'test' }
|
9
9
|
|
10
10
|
desc "Run all tests"
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
Rake::TestTask.new("test") do |t|
|
12
|
+
t.libs.concat ['./lib', './test']
|
13
|
+
t.test_files = FileList['test/riot_tests/*_test.rb']
|
14
|
+
t.verbose = true
|
14
15
|
end
|
15
16
|
|
16
17
|
task "test:shoulda" => [:set_test_env]
|
17
18
|
desc "Run all Shoulda based tests"
|
18
19
|
Rake::TestTask.new("test:shoulda") do |t|
|
19
|
-
t.libs
|
20
|
+
t.libs.concat ['./lib', './test']
|
20
21
|
t.test_files = FileList['test/shoulda_tests/*_test.rb']
|
21
22
|
t.verbose = true
|
22
23
|
end
|
@@ -30,3 +31,23 @@ desc "Open an irb session preloaded with this library"
|
|
30
31
|
task :console do
|
31
32
|
exec "irb -rubygems"
|
32
33
|
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# Some monks like diamonds. I like gems.
|
37
|
+
|
38
|
+
begin
|
39
|
+
require 'jeweler'
|
40
|
+
Jeweler::Tasks.new do |gem|
|
41
|
+
gem.name = "chicago"
|
42
|
+
gem.summary = "Sinatra runtime and testing extensions used commonly by Thumblemonks"
|
43
|
+
gem.description = "Sinatra runtime and testing extensions used commonly by Thumblemonks. For example, :json_response, which turns an object into JSON and sets the content-type appropriately."
|
44
|
+
gem.email = "gus@gusg.us"
|
45
|
+
gem.homepage = "http://github.com/thumblemonks/chicago"
|
46
|
+
gem.authors = ["Justin 'Gus' Knowlden"]
|
47
|
+
gem.add_development_dependency "riot"
|
48
|
+
gem.add_development_dependency "rack-test"
|
49
|
+
end
|
50
|
+
Jeweler::GemcutterTasks.new
|
51
|
+
rescue LoadError
|
52
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
53
|
+
end
|
data/chicago.gemspec
CHANGED
@@ -1,42 +1,75 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
s.summary = "Sinatra runtime and testing extensions used commonly by Thumblemonks"
|
6
|
-
s.email = %w[gus@gusg.us gabriel.gironda@gmail.com]
|
7
|
-
s.homepage = "http://github.com/thumblemonks/chicago/tree/master"
|
8
|
-
s.description = "Sinatra runtime and testing extensions used commonly by Thumblemonks. For example, :json_response, which turns an object into JSON and sets the content-type appropriately."
|
9
|
-
s.authors = %w[Justin\ Knowlden Gabriel\ Gironda]
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
10
5
|
|
11
|
-
|
12
|
-
s.
|
13
|
-
s.
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{chicago}
|
8
|
+
s.version = "0.3.6"
|
14
9
|
|
15
|
-
|
16
|
-
s.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Justin 'Gus' Knowlden"]
|
12
|
+
s.date = %q{2009-11-21}
|
13
|
+
s.description = %q{Sinatra runtime and testing extensions used commonly by Thumblemonks. For example, :json_response, which turns an object into JSON and sets the content-type appropriately.}
|
14
|
+
s.email = %q{gus@gusg.us}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.markdown"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
".gitignore",
|
20
|
+
"MIT-LICENSE",
|
21
|
+
"README.markdown",
|
22
|
+
"Rakefile",
|
23
|
+
"chicago.gemspec",
|
24
|
+
"lib/chicago.rb",
|
25
|
+
"lib/chicago/application.rb",
|
26
|
+
"lib/chicago/helpers.rb",
|
27
|
+
"lib/chicago/responders.rb",
|
28
|
+
"lib/chicago/riot.rb",
|
29
|
+
"lib/chicago/riot/macros.rb",
|
30
|
+
"lib/chicago/shoulda.rb",
|
31
|
+
"lib/chicago/shoulda/sinatra.rb",
|
32
|
+
"test/riot_tests/application_test.rb",
|
33
|
+
"test/riot_tests/helpers_test.rb",
|
34
|
+
"test/riot_tests/responders_test.rb",
|
35
|
+
"test/riot_tests/riot_macros_test.rb",
|
36
|
+
"test/riot_tests/test_helper.rb",
|
37
|
+
"test/shoulda_tests/application_test.rb",
|
38
|
+
"test/shoulda_tests/helpers_test.rb",
|
39
|
+
"test/shoulda_tests/responders_test.rb",
|
40
|
+
"test/shoulda_tests/test_helper.rb"
|
28
41
|
]
|
29
|
-
|
30
|
-
s.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
test/
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
42
|
+
s.homepage = %q{http://github.com/thumblemonks/chicago}
|
43
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
44
|
+
s.require_paths = ["lib"]
|
45
|
+
s.rubygems_version = %q{1.3.5}
|
46
|
+
s.summary = %q{Sinatra runtime and testing extensions used commonly by Thumblemonks}
|
47
|
+
s.test_files = [
|
48
|
+
"test/riot_tests/application_test.rb",
|
49
|
+
"test/riot_tests/helpers_test.rb",
|
50
|
+
"test/riot_tests/responders_test.rb",
|
51
|
+
"test/riot_tests/riot_macros_test.rb",
|
52
|
+
"test/riot_tests/test_helper.rb",
|
53
|
+
"test/shoulda_tests/application_test.rb",
|
54
|
+
"test/shoulda_tests/helpers_test.rb",
|
55
|
+
"test/shoulda_tests/responders_test.rb",
|
56
|
+
"test/shoulda_tests/test_helper.rb"
|
41
57
|
]
|
58
|
+
|
59
|
+
if s.respond_to? :specification_version then
|
60
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
61
|
+
s.specification_version = 3
|
62
|
+
|
63
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
64
|
+
s.add_development_dependency(%q<riot>, [">= 0"])
|
65
|
+
s.add_development_dependency(%q<rack-test>, [">= 0"])
|
66
|
+
else
|
67
|
+
s.add_dependency(%q<riot>, [">= 0"])
|
68
|
+
s.add_dependency(%q<rack-test>, [">= 0"])
|
69
|
+
end
|
70
|
+
else
|
71
|
+
s.add_dependency(%q<riot>, [">= 0"])
|
72
|
+
s.add_dependency(%q<rack-test>, [">= 0"])
|
73
|
+
end
|
42
74
|
end
|
75
|
+
|
data/lib/chicago/riot/macros.rb
CHANGED
@@ -21,12 +21,15 @@ module Chicago
|
|
21
21
|
end.matches(expected_path)
|
22
22
|
end
|
23
23
|
|
24
|
-
def asserts_json_response(json
|
24
|
+
def asserts_json_response(json)
|
25
25
|
asserts_content_type 'application/json'
|
26
|
+
|
27
|
+
json = json.to_json unless json.instance_of?(String)
|
28
|
+
json
|
29
|
+
|
26
30
|
asserts("response body has JSON") do
|
27
|
-
|
28
|
-
|
29
|
-
end.equals(situation.last_response.body)
|
31
|
+
last_response.body
|
32
|
+
end.equals(json)
|
30
33
|
# Calling situation is kind of yucky, but maybe not. The maybe not is because of how explicit it is
|
31
34
|
# to say "situation" (gus)
|
32
35
|
end
|
@@ -42,4 +45,4 @@ module Chicago
|
|
42
45
|
end # Riot
|
43
46
|
end # Chicago
|
44
47
|
|
45
|
-
Riot::Context.instance_eval { include Chicago::Riot::Macros }
|
48
|
+
Riot::Context.instance_eval { include Chicago::Riot::Macros }
|
@@ -1,15 +1,15 @@
|
|
1
|
-
require 'test_helper'
|
1
|
+
require 'riot_tests/test_helper'
|
2
2
|
|
3
3
|
context "Riot Macros Test:" do
|
4
4
|
setup do
|
5
5
|
mock_app {
|
6
6
|
helpers Sinatra::Chicago::Responders
|
7
|
-
get("/
|
7
|
+
get("/redirector") { redirect '/foo/bar' }
|
8
8
|
}
|
9
9
|
end
|
10
10
|
|
11
11
|
context "asserts redirected to" do
|
12
|
-
setup { get('/
|
12
|
+
setup { get('/redirector') }
|
13
13
|
asserts_redirected_to('/foo/bar')
|
14
14
|
end # asserts redirected to
|
15
15
|
end
|
@@ -2,7 +2,9 @@
|
|
2
2
|
require lib
|
3
3
|
end
|
4
4
|
|
5
|
-
|
5
|
+
class Riot::Situation
|
6
|
+
include Rack::Test::Methods
|
7
|
+
|
6
8
|
# Sets up a Sinatra::Base subclass defined with the block
|
7
9
|
# given. Used in setup or individual spec methods to establish
|
8
10
|
# the application.
|
@@ -11,7 +13,6 @@ module Rack::Test::Methods
|
|
11
13
|
end
|
12
14
|
|
13
15
|
def extend_mock_app(&block)
|
14
|
-
@_rack_test_session ||= Rack::Test::Session.new(app)
|
15
16
|
@app.instance_eval(&block)
|
16
17
|
end
|
17
18
|
|
@@ -19,9 +20,3 @@ module Rack::Test::Methods
|
|
19
20
|
@app
|
20
21
|
end
|
21
22
|
end
|
22
|
-
|
23
|
-
class Riot::Situation
|
24
|
-
include Rack::Test::Methods
|
25
|
-
end
|
26
|
-
|
27
|
-
at_exit { Riot.report }
|
@@ -2,7 +2,9 @@
|
|
2
2
|
require lib
|
3
3
|
end
|
4
4
|
|
5
|
-
|
5
|
+
class Test::Unit::TestCase
|
6
|
+
include Rack::Test::Methods
|
7
|
+
|
6
8
|
# Sets up a Sinatra::Base subclass defined with the block
|
7
9
|
# given. Used in setup or individual spec methods to establish
|
8
10
|
# the application.
|
@@ -15,7 +17,3 @@ module Rack::Test::Methods
|
|
15
17
|
@app.instance_eval(&block)
|
16
18
|
end
|
17
19
|
end
|
18
|
-
|
19
|
-
class Test::Unit::TestCase
|
20
|
-
include Rack::Test::Methods
|
21
|
-
end
|
metadata
CHANGED
@@ -1,23 +1,39 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chicago
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Justin Knowlden
|
8
|
-
- Gabriel Gironda
|
7
|
+
- Justin 'Gus' Knowlden
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
11
|
|
13
|
-
date: 2009-
|
12
|
+
date: 2009-11-21 00:00:00 -06:00
|
14
13
|
default_executable:
|
15
|
-
dependencies:
|
16
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: riot
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rack-test
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
17
35
|
description: Sinatra runtime and testing extensions used commonly by Thumblemonks. For example, :json_response, which turns an object into JSON and sets the content-type appropriately.
|
18
|
-
email:
|
19
|
-
- gus@gusg.us
|
20
|
-
- gabriel.gironda@gmail.com
|
36
|
+
email: gus@gusg.us
|
21
37
|
executables: []
|
22
38
|
|
23
39
|
extensions: []
|
@@ -25,8 +41,10 @@ extensions: []
|
|
25
41
|
extra_rdoc_files:
|
26
42
|
- README.markdown
|
27
43
|
files:
|
44
|
+
- .gitignore
|
28
45
|
- MIT-LICENSE
|
29
46
|
- README.markdown
|
47
|
+
- Rakefile
|
30
48
|
- chicago.gemspec
|
31
49
|
- lib/chicago.rb
|
32
50
|
- lib/chicago/application.rb
|
@@ -36,14 +54,22 @@ files:
|
|
36
54
|
- lib/chicago/riot/macros.rb
|
37
55
|
- lib/chicago/shoulda.rb
|
38
56
|
- lib/chicago/shoulda/sinatra.rb
|
57
|
+
- test/riot_tests/application_test.rb
|
58
|
+
- test/riot_tests/helpers_test.rb
|
59
|
+
- test/riot_tests/responders_test.rb
|
60
|
+
- test/riot_tests/riot_macros_test.rb
|
61
|
+
- test/riot_tests/test_helper.rb
|
62
|
+
- test/shoulda_tests/application_test.rb
|
63
|
+
- test/shoulda_tests/helpers_test.rb
|
64
|
+
- test/shoulda_tests/responders_test.rb
|
65
|
+
- test/shoulda_tests/test_helper.rb
|
39
66
|
has_rdoc: true
|
40
|
-
homepage: http://github.com/thumblemonks/chicago
|
67
|
+
homepage: http://github.com/thumblemonks/chicago
|
41
68
|
licenses: []
|
42
69
|
|
43
70
|
post_install_message:
|
44
71
|
rdoc_options:
|
45
|
-
- --
|
46
|
-
- README.markdown
|
72
|
+
- --charset=UTF-8
|
47
73
|
require_paths:
|
48
74
|
- lib
|
49
75
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -66,13 +92,12 @@ signing_key:
|
|
66
92
|
specification_version: 3
|
67
93
|
summary: Sinatra runtime and testing extensions used commonly by Thumblemonks
|
68
94
|
test_files:
|
69
|
-
-
|
70
|
-
- test/
|
71
|
-
- test/
|
72
|
-
- test/
|
73
|
-
- test/
|
95
|
+
- test/riot_tests/application_test.rb
|
96
|
+
- test/riot_tests/helpers_test.rb
|
97
|
+
- test/riot_tests/responders_test.rb
|
98
|
+
- test/riot_tests/riot_macros_test.rb
|
99
|
+
- test/riot_tests/test_helper.rb
|
74
100
|
- test/shoulda_tests/application_test.rb
|
75
101
|
- test/shoulda_tests/helpers_test.rb
|
76
102
|
- test/shoulda_tests/responders_test.rb
|
77
103
|
- test/shoulda_tests/test_helper.rb
|
78
|
-
- test/test_helper.rb
|