rspec-kwalify 0.0.1 → 0.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.
- data/.gitignore +2 -0
- data/Gemfile +3 -0
- data/Guardfile +5 -0
- data/README.md +44 -0
- data/Rakefile +5 -0
- data/lib/rspec-kwalify.rb +23 -4
- data/lib/rspec-kwalify/version.rb +1 -1
- data/rspec-kwalify.gemspec +2 -2
- metadata +9 -9
- data/README.textile +0 -15
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Guardfile
CHANGED
data/README.md
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# RSpec-Kwalify [  ](http://travis-ci.org/pmenglund/rspec-kwalify "Travis-CI")
|
2
|
+
|
3
|
+
[RSpec-Kwalify](https://github.com/pmenglund/rspec-kwalify) is a custom RSpec matcher to help you use [Kwalify](http://www.kuwata-lab.com/kwalify/ruby/users-guide.html), a [yaml](http://yaml.org/) validation [gem](http://rubygems.org/), in RSpec.
|
4
|
+
|
5
|
+
Instead of having tests like this:
|
6
|
+
<pre>
|
7
|
+
it "should have 2 validation errors" do
|
8
|
+
errors = validator.validate(load_yaml("empty.yml"))
|
9
|
+
errors.size.should == 2
|
10
|
+
errors.each do |error|
|
11
|
+
error.is_a?(Kwalify::ValidationError).should be_true
|
12
|
+
end
|
13
|
+
end
|
14
|
+
</pre>
|
15
|
+
|
16
|
+
You can use the more readable
|
17
|
+
<pre>
|
18
|
+
it "should have 2 errors" do
|
19
|
+
validator.validate(asset("empty.yml")).should have_validation_error(2)
|
20
|
+
end
|
21
|
+
</pre>
|
22
|
+
|
23
|
+
All you need to do is to add this to your `Gemfile`
|
24
|
+
<pre>
|
25
|
+
group :development, :test do
|
26
|
+
gem "rspec-kwalify"
|
27
|
+
end
|
28
|
+
</pre>
|
29
|
+
|
30
|
+
## Examples
|
31
|
+
|
32
|
+
<pre>
|
33
|
+
it "should have 2 errors" do
|
34
|
+
validator.validate(asset("empty.yml")).should have_error(2)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should have 'foo' key" do
|
38
|
+
validator.validate(asset("empty.yml")).should have_error(/key 'foo:' is required/)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should have validation error" do
|
42
|
+
validator.validate(asset("empty.yml")).should have_validation_error
|
43
|
+
end
|
44
|
+
</pre>
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
require 'rspec/core/rake_task'
|
3
|
+
require 'yard'
|
3
4
|
|
4
5
|
task :default => [:spec]
|
5
6
|
|
@@ -7,3 +8,7 @@ desc "run rspec tests"
|
|
7
8
|
RSpec::Core::RakeTask.new do |task|
|
8
9
|
task.rspec_opts = "--format documentation --color"
|
9
10
|
end
|
11
|
+
|
12
|
+
YARD::Rake::YardocTask.new do |task|
|
13
|
+
task.options = %w[--markup markdown]
|
14
|
+
end
|
data/lib/rspec-kwalify.rb
CHANGED
@@ -4,6 +4,7 @@ require "rspec-kwalify/version"
|
|
4
4
|
module RSpec
|
5
5
|
module Kwalify
|
6
6
|
|
7
|
+
# @author Martin Englund
|
7
8
|
class HaveError
|
8
9
|
def initialize(error, base_error=::Kwalify::BaseError)
|
9
10
|
@error = error
|
@@ -43,14 +44,32 @@ module RSpec
|
|
43
44
|
end
|
44
45
|
end
|
45
46
|
|
46
|
-
# have_error
|
47
|
-
#
|
48
|
-
#
|
47
|
+
# @overload have_error
|
48
|
+
# Matches if it has an error that `is_a?` [Kwalify::BaseError]
|
49
|
+
# @return [RSpec::Kwalify::HaveError]
|
50
|
+
# @overload have_error(count)
|
51
|
+
# Matches if the number of errors is equal to `count`
|
52
|
+
# @param [Fixnum] count
|
53
|
+
# @return [RSpec::Kwalify::HaveError]
|
54
|
+
# @overload have_error(regexp)
|
55
|
+
# Matches if the error message matches the regexp
|
56
|
+
# @param [Regexp] regexp
|
57
|
+
# @return [RSpec::Kwalify::HaveError]
|
49
58
|
def have_error(error=nil)
|
50
59
|
RSpec::Kwalify::HaveError.new(error)
|
51
60
|
end
|
52
61
|
|
53
|
-
# have_validation_error
|
62
|
+
# @overload have_validation_error
|
63
|
+
# Matches if it has an error that `is_a?` [Kwalify::ValidationError]
|
64
|
+
# @return [RSpec::Kwalify::HaveError]
|
65
|
+
# @overload have_validation_error(count)
|
66
|
+
# Matches if the number of errors is equal to `count`
|
67
|
+
# @param [Fixnum] count
|
68
|
+
# @return [RSpec::Kwalify::HaveError]
|
69
|
+
# @overload have_validation_error(regexp)
|
70
|
+
# Matches if the error message matches the regexp
|
71
|
+
# @param [Regexp] regexp
|
72
|
+
# @return [RSpec::Kwalify::HaveError]
|
54
73
|
def have_validation_error(error=nil)
|
55
74
|
RSpec::Kwalify::HaveError.new(error, ::Kwalify::ValidationError)
|
56
75
|
end
|
data/rspec-kwalify.gemspec
CHANGED
@@ -7,9 +7,9 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = RSpec::Kwalify::VERSION
|
8
8
|
s.authors = ["Martin Englund"]
|
9
9
|
s.email = ["martin@englund.nu"]
|
10
|
-
s.homepage = ""
|
10
|
+
s.homepage = "https://github.com/pmenglund/rspec-kwalify"
|
11
11
|
s.summary = %q{rspec matchers for kwalify}
|
12
|
-
s.description = %q{rspec matchers for kwalify}
|
12
|
+
s.description = %q{rspec matchers for kwalify to help you validate yaml files}
|
13
13
|
|
14
14
|
s.rubyforge_project = "rspec-kwalify"
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-kwalify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70171027223180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70171027223180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: kwalify
|
27
|
-
requirement: &
|
27
|
+
requirement: &70171027222400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,8 +32,8 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
description: rspec matchers for kwalify
|
35
|
+
version_requirements: *70171027222400
|
36
|
+
description: rspec matchers for kwalify to help you validate yaml files
|
37
37
|
email:
|
38
38
|
- martin@englund.nu
|
39
39
|
executables: []
|
@@ -44,7 +44,7 @@ files:
|
|
44
44
|
- .travis.yml
|
45
45
|
- Gemfile
|
46
46
|
- Guardfile
|
47
|
-
- README.
|
47
|
+
- README.md
|
48
48
|
- Rakefile
|
49
49
|
- lib/rspec-kwalify.rb
|
50
50
|
- lib/rspec-kwalify/version.rb
|
@@ -54,7 +54,7 @@ files:
|
|
54
54
|
- spec/assets/syntax.yml
|
55
55
|
- spec/rspec-kwalify_spec.rb
|
56
56
|
- spec/spec_helper.rb
|
57
|
-
homepage:
|
57
|
+
homepage: https://github.com/pmenglund/rspec-kwalify
|
58
58
|
licenses: []
|
59
59
|
post_install_message:
|
60
60
|
rdoc_options: []
|
data/README.textile
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
h1. RSpec-Kwalify "!https://secure.travis-ci.org/pmenglund/rspec-kwalify.png?branch=master!":http://travis-ci.org/pmenglund/rspec-kwalify
|
2
|
-
|
3
|
-
RSpec matchers to help you use Kwalify in RSpec
|
4
|
-
|
5
|
-
h1. Examples
|
6
|
-
|
7
|
-
<pre>
|
8
|
-
it "should have 2 errors" do
|
9
|
-
validator.validate(asset("empty.yml")).should have_error(2)
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should have validation error" do
|
13
|
-
validator.validate(asset("empty.yml")).should have_validation_error
|
14
|
-
end
|
15
|
-
</pre>
|