seatbelt 0.1.1 → 0.2.0

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0c08abe7ab48fe8e3fc676eb5133d7ec3740a1f3
4
+ data.tar.gz: 586848e2efcbc486e9c3b2b0e070e7cf700aa4b9
5
+ SHA512:
6
+ metadata.gz: cf5fcac2f269e35a493a5c7a8913e8158f790a5bf1ca43185fe86bc2f392cbb427a0af40417b0609bae78bd8e95c8d927611e6dbebeca00a9690e707bc119051
7
+ data.tar.gz: ad23351169ea72a4324305241327650fbcec44f241dea7460e7e5ccff46867adabcd3d7445f14d983d0d4978d38f15bc2ed35aeb349fdff52de1eaa6723498f0
data/.travis.yml CHANGED
@@ -1,9 +1,27 @@
1
1
  language: ruby
2
+
2
3
  rvm:
3
4
  - 1.8.7
4
5
  - 1.9.2
5
6
  - 1.9.3
6
- - jruby-18mode # JRuby in 1.8 mode
7
+ - 2.0.0
8
+ # - jruby-18mode # JRuby in 1.8 mode
7
9
  - jruby-19mode # JRuby in 1.9 mode
8
- - rbx-18mode
9
- - rbx-19mode
10
+ - rbx-2.2.1
11
+
12
+ gemfile:
13
+ - gemfiles/rails_3.2.gemfile
14
+ - gemfiles/rails_4.0.gemfile
15
+
16
+ matrix:
17
+ allow_failures:
18
+ - rvm: rbx-2.2.1
19
+ - rvm: jruby-19mode
20
+ exclude:
21
+ - { rvm: 1.8.7, gemfile: gemfiles/rails_4.0.gemfile }
22
+ - { rvm: 1.9.2, gemfile: gemfiles/rails_4.0.gemfile }
23
+ - { rvm: 1.9.3, gemfile: gemfiles/rails_4.0.gemfile }
24
+ - { rvm: jruby-19mode, gemfile: gemfiles/rails_3.2.gemfile }
25
+ - { rvm: jruby-19mode, gemfile: gemfiles/rails_4.0.gemfile }
26
+ - { rvm: rbx-2.2.1, gemfile: gemfiles/rails_3.2.gemfile }
27
+ - { rvm: rbx-2.2.1, gemfile: gemfiles/rails_4.0.gemfile }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.2.0
4
+
5
+ * added support for Rails 4 (thanks to [@clod81](https://github.com/clod81))
6
+
7
+ ## 0.1.2
8
+
9
+ * added assert_content_type
10
+
3
11
  ## 0.1.1
4
12
 
5
13
  * assert_mail subject now support regular explicitly (not implicitly anymore)
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rubysl', :platforms => :rbx
4
+ gem "jruby-openssl", :platforms => :jruby
5
+ gem "rails", "4.0.2"
2
6
 
3
- # Specify your gem's dependencies in seatbelt.gemspec
4
7
  gemspec
data/README.md CHANGED
@@ -1,6 +1,12 @@
1
- # Seatbelt [![Build Status](https://secure.travis-ci.org/alto/seatbelt.png)](http://travis-ci.org/alto/seatbelt)
2
-
3
- Provide a number of custom assertions for Ruby and Ruby on Rails
1
+ # Seatbelt [![Build Status](https://secure.travis-ci.org/alto/seatbelt.png)](http://travis-ci.org/alto/seatbelt) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/alto/seatbelt)
2
+
3
+ Seatbelt provides a number of custom, high-level assertions for Ruby and Ruby on Rails. The assertions work well with Ruby
4
+ [1.8.7](http://ruby-doc.org/core-1.8.7/),
5
+ [1.9.2](http://ruby-doc.org/core-1.9.2/), and
6
+ [1.9.3](http://ruby-doc.org/core-1.9.3/).
7
+ This includes compatibility with
8
+ [test/unit](http://ruby-doc.org/stdlib-1.8.7/libdoc/test/unit/rdoc/index.html) and
9
+ [minitest](http://ruby-doc.org/stdlib-1.9.3/libdoc/minitest/unit/rdoc/index.html).
4
10
 
5
11
  ## Installation
6
12
 
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rubysl', :platforms => :rbx
4
+ gem "jruby-openssl", :platforms => :jruby
5
+ gem "rails", "3.2.16"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rubysl', :platforms => :rbx
4
+ gem "jruby-openssl", :platforms => :jruby
5
+ gem "rails", "4.0.2"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,48 @@
1
+ module Seatbelt
2
+ module AssertContentType
3
+
4
+ SUPPORTED_MIME_TYPES = {
5
+ 'html' => 'text/html',
6
+ 'xhtml' => 'text/html',
7
+ 'text' => 'text/plain',
8
+ 'txt' => 'text/plain',
9
+ 'js' => 'text/javascript',
10
+ 'css' => 'text/css',
11
+ 'ics' => 'text/calendar',
12
+ 'csv' => 'text/csv',
13
+ 'xml' => 'application/xml',
14
+ 'rss' => 'application/rss+xml',
15
+ 'atom' => 'application/atom+xml',
16
+ 'yaml' => 'application/x-yaml',
17
+ 'multipart_form' => 'multipart/form-data',
18
+ 'url_encoded_form' => 'application/x-www-form-urlencoded',
19
+ 'json' => 'application/json',
20
+ 'pdf' => 'application/pdf',
21
+ 'xls' => 'application/vnd.ms-excel'
22
+ }
23
+
24
+ def assert_content_type(content_type, header=nil)
25
+ header = @response.headers["Content-Type"] if header.nil? && @response
26
+ if header
27
+ # assert_match /application\/vnd.ms-excel/, @response.header["Content-Type"]
28
+ assert_match matcher_for(content_type), header
29
+ else
30
+ assert false, "nothing to match against!"
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def matcher_for(content_type)
37
+ case content_type
38
+ when Regexp
39
+ content_type
40
+ when String
41
+ Regexp.new((SUPPORTED_MIME_TYPES[content_type] || content_type).gsub('+', '\\\+'))
42
+ else
43
+ raise "type unknown: #{content_type}"
44
+ end
45
+ end
46
+
47
+ end
48
+ end
@@ -27,26 +27,14 @@ module Seatbelt
27
27
  def has(*args, &block)
28
28
  arg = args.shift
29
29
  token = @decoded_json.is_a?(Array) ? @decoded_json.shift : @decoded_json
30
+
30
31
  case token
31
32
  when Hash
32
- raise_error("element #{arg} not found") unless token.keys.include?(arg)
33
- if second_arg = args.shift
34
- case second_arg
35
- when Regexp
36
- raise_error("element #{token[arg].inspect} does not match #{second_arg.inspect}") if second_arg !~ token[arg]
37
- else
38
- raise_error("element #{token[arg].inspect} does not match #{second_arg.inspect}") if second_arg != token[arg]
39
- end
40
- end
33
+ has_hash(token, arg, args)
41
34
  when Array
42
- raise_error("element #{arg} not found") if token != arg
35
+ has_array(token, arg)
43
36
  when String
44
- case arg
45
- when Regexp
46
- raise_error("element #{arg.inspect} not found") if token !~ arg
47
- else
48
- raise_error("element #{arg.inspect} not found") if token != arg
49
- end
37
+ has_string(token, arg)
50
38
  when NilClass
51
39
  raise_error("no element left")
52
40
  else
@@ -77,20 +65,41 @@ module Seatbelt
77
65
  end
78
66
  alias not_element has_not
79
67
 
80
- private
68
+ private
81
69
 
82
- def raise_error(message)
83
- if Object.const_defined?(:MiniTest)
84
- raise MiniTest::Assertion.new(message)
70
+ def raise_error(message)
71
+ if Object.const_defined?(:MiniTest)
72
+ raise MiniTest::Assertion.new(message)
73
+ else
74
+ raise Test::Unit::AssertionFailedError.new(message)
75
+ end
76
+ end
77
+
78
+ def has_hash(token, arg, args)
79
+ raise_error("element #{arg} not found") unless token.keys.include?(arg)
80
+ if second_arg = args.shift
81
+ case second_arg
82
+ when Regexp
83
+ raise_error("element #{token[arg].inspect} does not match #{second_arg.inspect}") if second_arg !~ token[arg]
85
84
  else
86
- raise Test::Unit::AssertionFailedError.new(message)
85
+ raise_error("element #{token[arg].inspect} does not match #{second_arg.inspect}") if second_arg != token[arg]
87
86
  end
88
87
  end
88
+ end
89
+
90
+ def has_array(token, arg)
91
+ raise_error("element #{arg} not found") if token != arg
92
+ end
93
+
94
+ def has_string(token, arg)
95
+ case arg
96
+ when Regexp
97
+ raise_error("element #{arg.inspect} not found") if token !~ arg
98
+ else
99
+ raise_error("element #{arg.inspect} not found") if token != arg
100
+ end
101
+ end
89
102
 
90
103
  end
91
104
  end
92
105
  end
93
-
94
- class Test::Unit::TestCase
95
- include Seatbelt::AssertJson
96
- end
@@ -22,33 +22,53 @@ module Seatbelt
22
22
  end
23
23
 
24
24
  def got_mail?(mail, options={})
25
- return false if options[:to] && !mail.to.include?(options[:to])
26
- return false if options[:from] && !mail.from.include?(options[:from])
25
+ return false if unexpected_recipient?(mail, options)
26
+ return false if unexpected_sender?(mail, options)
27
+ return false if unexpected_subject?(mail, options)
28
+ return false if unexpected_copy?(mail, options)
29
+ return false if unexpected_blind_copy?(mail, options)
30
+ return false if unexpected_body?(mail, options)
31
+ true
32
+ end
33
+
34
+ def unexpected_recipient?(mail, options)
35
+ options[:to] && !mail.to.include?(options[:to])
36
+ end
27
37
 
38
+ def unexpected_sender?(mail, options)
39
+ options[:from] && !mail.from.include?(options[:from])
40
+ end
41
+
42
+ def unexpected_subject?(mail, options)
28
43
  case options[:subject]
29
44
  when String
30
- return false if mail.subject != options[:subject]
45
+ mail.subject != options[:subject]
31
46
  when Regexp
32
- return false if mail.subject !~ /#{options[:subject]}/
47
+ mail.subject !~ /#{options[:subject]}/
48
+ else
49
+ false
33
50
  end
51
+ end
34
52
 
35
- return false if options[:cc] && !mail.cc.include?(options[:cc])
36
- return false if options[:bcc] && !mail.bcc.include?(options[:bcc])
53
+ def unexpected_copy?(mail, options)
54
+ options[:cc] && !mail.cc.include?(options[:cc])
55
+ end
56
+
57
+ def unexpected_blind_copy?(mail, options)
58
+ options[:bcc] && !mail.bcc.include?(options[:bcc])
59
+ end
60
+
61
+ def unexpected_body?(mail, options)
37
62
  if options[:body]
38
63
  Array(options[:body]).each do |element|
39
64
  if !mail.body.encoded.match(element)
40
65
  # puts "#{element} not found in body: #{mail.body.encoded}"
41
- return false
66
+ return true
42
67
  end
43
68
  end
44
69
  end
45
- true
70
+ false
46
71
  end
47
72
 
48
73
  end
49
74
  end
50
- if Object.const_defined?(:ActionMailer)
51
- class Test::Unit::TestCase
52
- include Seatbelt::AssertMail
53
- end
54
- end
@@ -1,3 +1,3 @@
1
1
  module Seatbelt
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/seatbelt.rb CHANGED
@@ -1,7 +1,20 @@
1
1
  require "seatbelt/version"
2
2
  require 'seatbelt/assert_json'
3
3
  require 'seatbelt/assert_mail'
4
+ require 'seatbelt/assert_content_type'
4
5
 
5
- # module Seatbelt
6
- # # Your code goes here...
7
- # end
6
+ if defined?(Test)
7
+ class Test::Unit::TestCase
8
+ include Seatbelt::AssertContentType if defined?(ActionController)
9
+ include Seatbelt::AssertJson
10
+ include Seatbelt::AssertMail if defined?(ActionMailer)
11
+ end
12
+ end
13
+
14
+ if defined?(Minitest)
15
+ class Minitest::Unit::TestCase
16
+ include Seatbelt::AssertContentType if defined?(ActionController)
17
+ include Seatbelt::AssertJson
18
+ include Seatbelt::AssertMail if defined?(ActionMailer)
19
+ end
20
+ end
data/seatbelt.gemspec CHANGED
@@ -17,10 +17,13 @@ Gem::Specification.new do |gem|
17
17
  gem.version = Seatbelt::VERSION
18
18
 
19
19
  gem.add_dependency 'multi_json'
20
+
20
21
  gem.add_development_dependency 'rake'
21
- gem.add_development_dependency 'activesupport'
22
- gem.add_development_dependency 'actionmailer'
22
+ gem.add_development_dependency 'minitest', '4.7.5'
23
+ gem.add_development_dependency 'turn'
23
24
  gem.add_development_dependency 'travis-lint'
24
25
  gem.add_development_dependency 'json'
25
- # gem.add_development_dependency 'ruby-debug'
26
+ gem.add_development_dependency 'mocha'
27
+ # gem.add_development_dependency 'debugger'
28
+
26
29
  end
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+
3
+ class Seatbelt::AssertContentTypeTest < Minitest::Unit::TestCase
4
+ include Seatbelt::AssertContentType
5
+
6
+ def test_assert_content_type_short
7
+ Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES.each do |short, long|
8
+ @response = stub('Response', :headers => {'Content-Type' => "#{long}; charset=utf-8"})
9
+ assert_content_type short
10
+ end
11
+ end
12
+
13
+ def test_assert_content_type_short_crosscheck
14
+ Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES.keys.each do |short|
15
+ @response = stub('Response', :headers => {'Content-Type' => "#{wrong_long_for_short(short)}; charset=utf-8"})
16
+ assert_assertion_fails do
17
+ assert_content_type short
18
+ end
19
+ end
20
+ end
21
+
22
+ def test_assert_content_type_long
23
+ Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES.each do |short, long|
24
+ @response = stub('Response', :headers => {'Content-Type' => "#{long}; charset=utf-8"})
25
+ assert_content_type long
26
+ end
27
+ end
28
+
29
+ def test_assert_content_type_long_crosscheck
30
+ Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES.each do |short, long|
31
+ @response = stub('Response', :headers => {'Content-Type' => "#{wrong_long_for_short(short)}; charset=utf-8"})
32
+ assert_assertion_fails do
33
+ assert_content_type long
34
+ end
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def wrong_long_for_short(short)
41
+ Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES.values.select do |long|
42
+ long != Seatbelt::AssertContentType::SUPPORTED_MIME_TYPES[short]
43
+ end.sort_by { rand }.first
44
+ end
45
+
46
+ end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
2
 
3
- class Seatbelt::AssertJsonTest < Test::Unit::TestCase
3
+ class Seatbelt::AssertJsonTest < Minitest::Unit::TestCase
4
4
  include Seatbelt::AssertJson
5
5
 
6
6
  # def test_string
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class Seatbelt::AssertJsonNewDslTest < Test::Unit::TestCase
3
+ class Seatbelt::AssertJsonNewDslTest < Minitest::Unit::TestCase
4
4
  include Seatbelt::AssertJson
5
5
 
6
6
  # def test_string
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class Seatbelt::AssertMailTest < Test::Unit::TestCase
3
+ class Seatbelt::AssertMailTest < Minitest::Unit::TestCase
4
4
 
5
5
  def test_assert_mail
6
6
  Mailer.test.deliver
data/test/test_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
- require 'rubygems'
2
- require 'test/unit'
1
+ require 'minitest/autorun'
2
+ require 'turn/autorun'
3
3
  require 'active_support'
4
4
  require 'action_mailer'
5
5
  require 'json'
6
+ require 'mocha/setup'
6
7
 
7
8
  $:.push File.expand_path("../../lib", __FILE__)
8
9
  require File.dirname(__FILE__) + '/../lib/seatbelt.rb'
@@ -10,7 +11,10 @@ require File.dirname(__FILE__) + '/../lib/seatbelt.rb'
10
11
  # Requiring custom spec helpers
11
12
  Dir[File.dirname(__FILE__) + "/helpers/**/*.rb"].sort.each { |f| require File.expand_path(f) }
12
13
 
13
- class Test::Unit::TestCase
14
+
15
+ Turn.config.format = :dot
16
+
17
+ class Minitest::Unit::TestCase
14
18
  def assert_assertion_fails(&block)
15
19
  if Object.const_defined?(:MiniTest)
16
20
  assert_raises(MiniTest::Assertion, &block)
metadata CHANGED
@@ -1,82 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seatbelt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Thorsten Böttger
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-06-22 00:00:00.000000000 Z
11
+ date: 2013-12-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: multi_json
16
- requirement: &70193217097980 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70193217097980
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rake
27
- requirement: &70193217096920 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70193217096920
36
- - !ruby/object:Gem::Dependency
37
- name: activesupport
38
- requirement: &70193217096460 !ruby/object:Gem::Requirement
39
- none: false
36
+ version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ! '>='
38
+ - - '>='
42
39
  - !ruby/object:Gem::Version
43
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 4.7.5
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70193217096460
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 4.7.5
47
55
  - !ruby/object:Gem::Dependency
48
- name: actionmailer
49
- requirement: &70193217096000 !ruby/object:Gem::Requirement
50
- none: false
56
+ name: turn
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70193217096000
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: travis-lint
60
- requirement: &70193217095560 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - '>='
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70193217095560
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: json
71
- requirement: &70193217095120 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - ! '>='
87
+ - - '>='
75
88
  - !ruby/object:Gem::Version
76
89
  version: '0'
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *70193217095120
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mocha
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
80
111
  description: Goal is to provide custom, high quality and high level assertions for
81
112
  Ruby and Ruby on Rails
82
113
  email:
@@ -92,11 +123,15 @@ files:
92
123
  - LICENSE
93
124
  - README.md
94
125
  - Rakefile
126
+ - gemfiles/rails_3.2.gemfile
127
+ - gemfiles/rails_4.0.gemfile
95
128
  - lib/seatbelt.rb
129
+ - lib/seatbelt/assert_content_type.rb
96
130
  - lib/seatbelt/assert_json.rb
97
131
  - lib/seatbelt/assert_mail.rb
98
132
  - lib/seatbelt/version.rb
99
133
  - seatbelt.gemspec
134
+ - test/assert_content_type_test.rb
100
135
  - test/assert_json_old_dsl_test.rb
101
136
  - test/assert_json_test.rb
102
137
  - test/assert_mail_test.rb
@@ -105,29 +140,29 @@ files:
105
140
  homepage: http://github.com/alto/seatbelt
106
141
  licenses:
107
142
  - MIT
143
+ metadata: {}
108
144
  post_install_message:
109
145
  rdoc_options: []
110
146
  require_paths:
111
147
  - lib
112
148
  required_ruby_version: !ruby/object:Gem::Requirement
113
- none: false
114
149
  requirements:
115
- - - ! '>='
150
+ - - '>='
116
151
  - !ruby/object:Gem::Version
117
152
  version: '0'
118
153
  required_rubygems_version: !ruby/object:Gem::Requirement
119
- none: false
120
154
  requirements:
121
- - - ! '>='
155
+ - - '>='
122
156
  - !ruby/object:Gem::Version
123
157
  version: '0'
124
158
  requirements: []
125
159
  rubyforge_project:
126
- rubygems_version: 1.8.15
160
+ rubygems_version: 2.1.11
127
161
  signing_key:
128
- specification_version: 3
162
+ specification_version: 4
129
163
  summary: Provide custom assertions for Ruby and Ruby on Rails
130
164
  test_files:
165
+ - test/assert_content_type_test.rb
131
166
  - test/assert_json_old_dsl_test.rb
132
167
  - test/assert_json_test.rb
133
168
  - test/assert_mail_test.rb