approvals 0.0.4 → 0.0.5
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/Rakefile +3 -0
- data/approvals.gemspec +2 -2
- data/lib/approvals/extensions/rspec.rb +2 -0
- data/lib/approvals/extensions/rspec/dsl.rb +1 -1
- data/lib/approvals/namers/directory_namer.rb +23 -0
- data/lib/approvals/writers/text_writer.rb +1 -0
- data/spec/approvals_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -0
- data/spec/extensions/rspec_approvals_spec.rb +28 -2
- data/spec/fixtures/approvals/verifies_directory/a_complex_object.approved.txt +1 -0
- data/spec/fixtures/approvals/verifies_directory/a_string.approved.txt +1 -0
- data/spec/fixtures/approvals/verifies_directory/an_array.approved.txt +4 -0
- data/spec/fixtures/approvals/verifies_directory/an_executable.approved.txt +1 -0
- data/spec/fixtures/approvals/verifies_directory/html.approved.html +11 -0
- data/spec/fixtures/approvals/verifies_directory/json.approved.json +7 -0
- data/spec/fixtures/approvals/verifies_directory/xml.approved.xml +9 -0
- data/spec/namers/default_namer_spec.rb +1 -0
- data/spec/namers/directory_namer_spec.rb +30 -0
- data/spec/namers/rspec_namer_spec.rb +1 -1
- data/spec/namers_spec.rb +1 -1
- data/spec/reporters/first_working_reporter_spec.rb +1 -0
- data/spec/reporters/html_image_reporter_spec.rb +1 -0
- data/spec/reporters/image_magick_reporter_spec.rb +1 -0
- data/spec/reporters/launcher_spec.rb +1 -0
- data/spec/reporters/opendiff_reporter_spec.rb +1 -1
- data/spec/reporters/reporter_spec.rb +1 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/utilities/dotfile_spec.rb +1 -0
- data/spec/utilities/executable_spec.rb +1 -0
- data/spec/utilities/scrubber_spec.rb +1 -0
- data/spec/utilities/system_command_spec.rb +1 -0
- metadata +19 -9
data/Rakefile
CHANGED
data/approvals.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "approvals"
|
6
|
-
s.version = "0.0.
|
6
|
+
s.version = "0.0.5"
|
7
7
|
s.authors = ["Katrina Owen"]
|
8
8
|
s.email = ["katrina.owen@gmail.com"]
|
9
9
|
s.homepage = ""
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
|
-
s.add_development_dependency 'rspec', '~> 2.
|
20
|
+
s.add_development_dependency 'rspec', '~> 2.9'
|
21
21
|
s.add_dependency 'thor'
|
22
22
|
s.add_dependency 'nokogiri'
|
23
23
|
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
if defined? RSpec
|
2
2
|
require 'approvals/extensions/rspec/dsl'
|
3
3
|
require 'approvals/namers/rspec_namer'
|
4
|
+
require 'approvals/namers/directory_namer'
|
4
5
|
|
5
6
|
RSpec.configure do |c|
|
6
7
|
c.include Approvals::RSpec::DSL
|
7
8
|
c.add_setting :approvals_path, :default => 'spec/fixtures/approvals/'
|
9
|
+
c.add_setting :approvals_namer_class, :default => Approvals::Namers::DirectoryNamer
|
8
10
|
end
|
9
11
|
end
|
@@ -7,7 +7,7 @@ module Approvals
|
|
7
7
|
|
8
8
|
def verify(options = {}, &block)
|
9
9
|
group = eval "self", block.binding
|
10
|
-
namer =
|
10
|
+
namer = ::RSpec.configuration.approvals_namer_class.new(group.example)
|
11
11
|
Approvals.verify(block.call, options.merge(:namer => namer))
|
12
12
|
end
|
13
13
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Approvals
|
2
|
+
module Namers
|
3
|
+
class DirectoryNamer < RSpecNamer
|
4
|
+
|
5
|
+
def initialize(example)
|
6
|
+
@name = directorize example
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def directorize(example)
|
12
|
+
parts = [ ]
|
13
|
+
metadata = example.metadata
|
14
|
+
|
15
|
+
begin
|
16
|
+
parts << metadata[ :description ]
|
17
|
+
end while metadata = metadata[ :example_group ]
|
18
|
+
|
19
|
+
parts.reverse.map { |p| normalize p }.join '/'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/spec/approvals_spec.rb
CHANGED
data/spec/configuration_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require 'spec_helper'
|
2
2
|
require 'approvals/rspec'
|
3
3
|
|
4
|
-
|
4
|
+
shared_context 'verify examples' do
|
5
5
|
specify "a string" do
|
6
6
|
verify do
|
7
7
|
"We have, I fear, confused power with greatness."
|
@@ -62,3 +62,29 @@ describe "Verifies" do
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
65
|
+
|
66
|
+
RSpec.configure do |c|
|
67
|
+
c.after :each do
|
68
|
+
c.approvals_namer_class = nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "Verifies" do
|
73
|
+
before :each do
|
74
|
+
RSpec.configure do |c|
|
75
|
+
c.approvals_namer_class = Approvals::Namers::RSpecNamer
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
include_context 'verify examples'
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "Verifies (directory)" do
|
83
|
+
before :each do
|
84
|
+
RSpec.configure do |c|
|
85
|
+
c.approvals_namer_class = Approvals::Namers::DirectoryNamer
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
include_context 'verify examples'
|
90
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello, World!
|
@@ -0,0 +1 @@
|
|
1
|
+
We have, I fear, confused power with greatness.
|
@@ -0,0 +1 @@
|
|
1
|
+
SELECT 1
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
5
|
+
<title>Approval</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<h1>An Approval</h1>
|
9
|
+
<p>It has a paragraph</p>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Approvals::Namers::DirectoryNamer do
|
4
|
+
|
5
|
+
it "uses non-$%^&*funky example description" do
|
6
|
+
Approvals::Namers::DirectoryNamer.new(self.example).name.should eq("approvals_namers_directorynamer/uses_non_funky_example_description")
|
7
|
+
end
|
8
|
+
|
9
|
+
it "has a decent default" do
|
10
|
+
Approvals::Namers::DirectoryNamer.new(self.example).output_dir.should eq('spec/fixtures/approvals/')
|
11
|
+
end
|
12
|
+
|
13
|
+
context "when RSpec is configured" do
|
14
|
+
before :each do
|
15
|
+
RSpec.configure do |c|
|
16
|
+
c.approvals_path = 'spec/output/dir/'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
after :each do
|
21
|
+
RSpec.configure do |c|
|
22
|
+
c.approvals_path = nil
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it "uses the rspec config option" do
|
27
|
+
Approvals::Namers::DirectoryNamer.new(self.example).output_dir.should eq('spec/output/dir/')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/namers_spec.rb
CHANGED
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: approvals
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70114913577820 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '2.
|
21
|
+
version: '2.9'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70114913577820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: thor
|
27
|
-
requirement: &
|
27
|
+
requirement: &70114913577220 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70114913577220
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &70114913576740 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70114913576740
|
47
47
|
description: Approval Tests for Ruby
|
48
48
|
email:
|
49
49
|
- katrina.owen@gmail.com
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/approvals/extensions/rspec.rb
|
69
69
|
- lib/approvals/extensions/rspec/dsl.rb
|
70
70
|
- lib/approvals/namers/default_namer.rb
|
71
|
+
- lib/approvals/namers/directory_namer.rb
|
71
72
|
- lib/approvals/namers/rspec_namer.rb
|
72
73
|
- lib/approvals/reporters.rb
|
73
74
|
- lib/approvals/reporters/diff_reporter/diffmerge_reporter.rb
|
@@ -112,6 +113,13 @@ files:
|
|
112
113
|
- spec/fixtures/approvals/verifies_a_string.approved.txt
|
113
114
|
- spec/fixtures/approvals/verifies_an_array.approved.txt
|
114
115
|
- spec/fixtures/approvals/verifies_an_executable.approved.txt
|
116
|
+
- spec/fixtures/approvals/verifies_directory/a_complex_object.approved.txt
|
117
|
+
- spec/fixtures/approvals/verifies_directory/a_string.approved.txt
|
118
|
+
- spec/fixtures/approvals/verifies_directory/an_array.approved.txt
|
119
|
+
- spec/fixtures/approvals/verifies_directory/an_executable.approved.txt
|
120
|
+
- spec/fixtures/approvals/verifies_directory/html.approved.html
|
121
|
+
- spec/fixtures/approvals/verifies_directory/json.approved.json
|
122
|
+
- spec/fixtures/approvals/verifies_directory/xml.approved.xml
|
115
123
|
- spec/fixtures/approvals/verifies_html.approved.html
|
116
124
|
- spec/fixtures/approvals/verifies_json.approved.json
|
117
125
|
- spec/fixtures/approvals/verifies_xml.approved.xml
|
@@ -120,6 +128,7 @@ files:
|
|
120
128
|
- spec/fixtures/two.png
|
121
129
|
- spec/fixtures/two.txt
|
122
130
|
- spec/namers/default_namer_spec.rb
|
131
|
+
- spec/namers/directory_namer_spec.rb
|
123
132
|
- spec/namers/rspec_namer_spec.rb
|
124
133
|
- spec/namers_spec.rb
|
125
134
|
- spec/reporters/first_working_reporter_spec.rb
|
@@ -128,6 +137,7 @@ files:
|
|
128
137
|
- spec/reporters/launcher_spec.rb
|
129
138
|
- spec/reporters/opendiff_reporter_spec.rb
|
130
139
|
- spec/reporters/reporter_spec.rb
|
140
|
+
- spec/spec_helper.rb
|
131
141
|
- spec/utilities/dotfile_spec.rb
|
132
142
|
- spec/utilities/executable_spec.rb
|
133
143
|
- spec/utilities/scrubber_spec.rb
|