approvals-approval_tests 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -2
- data/approval_tests.gemspec +3 -9
- data/lib/approval_tests/approvals.rb +17 -25
- data/spec/approvals_spec.rb +0 -5
- metadata +4 -9
- data/lib/approval_tests/writers/xml_writer.rb +0 -81
- data/spec/approvals_lists_should_show_empty_lists.approved.txt +0 -1
- data/spec/approvals_lists_should_write_arrays.approved.txt +0 -1
- data/spec/approvals_lists_should_write_maps.approved.txt +0 -1
- data/spec/approvals_xml_should_be_pretty.approved.txt +0 -8
data/Rakefile
CHANGED
@@ -13,9 +13,8 @@ begin
|
|
13
13
|
gemspec.summary = "Approval testing library"
|
14
14
|
gemspec.email = "approvaltests@dangilkerson.com"
|
15
15
|
gemspec.homepage = "http://github.com/approvaltests/approval_tests"
|
16
|
-
gemspec.description = "Approval testing library
|
16
|
+
gemspec.description = "Approval testing library"
|
17
17
|
gemspec.authors = ["Dan Gilkerson, Llewellyn Falco"]
|
18
|
-
gemspec.rubyforge_project = 'approvaltests'
|
19
18
|
end
|
20
19
|
rescue LoadError
|
21
20
|
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
data/approval_tests.gemspec
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{approval_tests}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Dan Gilkerson, Llewellyn Falco"]
|
9
|
-
s.date = %q{2009-07-
|
10
|
-
s.description = %q{Approval testing library
|
9
|
+
s.date = %q{2009-07-02}
|
10
|
+
s.description = %q{Approval testing library}
|
11
11
|
s.email = %q{approvaltests@dangilkerson.com}
|
12
12
|
s.extra_rdoc_files = [
|
13
13
|
"README"
|
@@ -27,18 +27,13 @@ Gem::Specification.new do |s|
|
|
27
27
|
"lib/approval_tests/reporters/text_mate_reporter.rb",
|
28
28
|
"lib/approval_tests/writers/html_writer.rb",
|
29
29
|
"lib/approval_tests/writers/text_writer.rb",
|
30
|
-
"lib/approval_tests/writers/xml_writer.rb",
|
31
30
|
"spec/a.txt",
|
32
|
-
"spec/approvals_lists_should_show_empty_lists.approved.txt",
|
33
|
-
"spec/approvals_lists_should_write_arrays.approved.txt",
|
34
|
-
"spec/approvals_lists_should_write_maps.approved.txt",
|
35
31
|
"spec/approvals_multiple_describes_should_approve_multiple_describes.approved.txt",
|
36
32
|
"spec/approvals_should_approve_shared_behaviors.approved.txt",
|
37
33
|
"spec/approvals_should_successfully_approve_text.approved.txt",
|
38
34
|
"spec/approvals_spec.rb",
|
39
35
|
"spec/approvals_using_approval_blocks.approved.txt",
|
40
36
|
"spec/approvals_using_approval_blocks_the_last_statement.approved.txt",
|
41
|
-
"spec/approvals_xml_should_be_pretty.approved.txt",
|
42
37
|
"spec/b.txt",
|
43
38
|
"spec/cleanup_reporter.rb",
|
44
39
|
"spec/spec.opts",
|
@@ -47,7 +42,6 @@ Gem::Specification.new do |s|
|
|
47
42
|
s.homepage = %q{http://github.com/approvaltests/approval_tests}
|
48
43
|
s.rdoc_options = ["--charset=UTF-8"]
|
49
44
|
s.require_paths = ["lib"]
|
50
|
-
s.rubyforge_project = %q{approvaltests}
|
51
45
|
s.rubygems_version = %q{1.3.4}
|
52
46
|
s.summary = %q{Approval testing library}
|
53
47
|
s.test_files = [
|
@@ -4,7 +4,6 @@ require "#{__DIR__}/namers/rspec_namer"
|
|
4
4
|
require "#{__DIR__}/approvers/file_approver"
|
5
5
|
require "#{__DIR__}/writers/text_writer"
|
6
6
|
require "#{__DIR__}/writers/html_writer"
|
7
|
-
require "#{__DIR__}/writers/xml_writer"
|
8
7
|
require "#{__DIR__}/reporters/quiet_reporter"
|
9
8
|
require "#{__DIR__}/reporters/text_mate_reporter"
|
10
9
|
require "#{__DIR__}/reporters/diff_reporter"
|
@@ -38,32 +37,25 @@ module ApprovalTests
|
|
38
37
|
end
|
39
38
|
approve(out)
|
40
39
|
end
|
41
|
-
def approve(data)
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
def approve_with_writer(writer)
|
54
|
-
approver = FileApprover.new(writer, @namer)
|
55
|
-
if approver.approve()
|
56
|
-
approver.clean_up_after_success()
|
57
|
-
else
|
58
|
-
@reporter = get_default_reporter()
|
59
|
-
approver.report_failure(@reporter)
|
40
|
+
def approve(data, writer_option = :text)
|
41
|
+
case writer_option
|
42
|
+
when :html then writer = HtmlWriter.new(data)
|
43
|
+
when :text then writer = TextWriter.new(data)
|
44
|
+
end
|
45
|
+
|
46
|
+
approver = FileApprover.new(writer, @namer)
|
47
|
+
if approver.approve()
|
48
|
+
approver.clean_up_after_success()
|
49
|
+
else
|
50
|
+
@reporter = get_default_reporter()
|
51
|
+
approver.report_failure(@reporter)
|
60
52
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
53
|
+
if @reporter.approved_when_reported()
|
54
|
+
approver.clean_up_after_sucess()
|
55
|
+
else
|
56
|
+
approver.fail()
|
66
57
|
end
|
58
|
+
end
|
67
59
|
end
|
68
60
|
|
69
61
|
def namer=(namer)
|
data/spec/approvals_spec.rb
CHANGED
@@ -45,11 +45,6 @@ describe "Approvals" do
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
describe "xml" do
|
49
|
-
it "should be pretty" do
|
50
|
-
Approvals.approve_xml('<?xml version="1.0" encoding="ISO-8859-1"?><data><a><b>Bee</b><c>Sea</c></a></data>')
|
51
|
-
end
|
52
|
-
end
|
53
48
|
|
54
49
|
describe "DiffReporter" do
|
55
50
|
it "should launch" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: approvals-approval_tests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Gilkerson, Llewellyn Falco
|
@@ -9,11 +9,11 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07-
|
12
|
+
date: 2009-07-02 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
16
|
-
description: Approval testing library
|
16
|
+
description: Approval testing library
|
17
17
|
email: approvaltests@dangilkerson.com
|
18
18
|
executables: []
|
19
19
|
|
@@ -36,18 +36,13 @@ files:
|
|
36
36
|
- lib/approval_tests/reporters/text_mate_reporter.rb
|
37
37
|
- lib/approval_tests/writers/html_writer.rb
|
38
38
|
- lib/approval_tests/writers/text_writer.rb
|
39
|
-
- lib/approval_tests/writers/xml_writer.rb
|
40
39
|
- spec/a.txt
|
41
|
-
- spec/approvals_lists_should_show_empty_lists.approved.txt
|
42
|
-
- spec/approvals_lists_should_write_arrays.approved.txt
|
43
|
-
- spec/approvals_lists_should_write_maps.approved.txt
|
44
40
|
- spec/approvals_multiple_describes_should_approve_multiple_describes.approved.txt
|
45
41
|
- spec/approvals_should_approve_shared_behaviors.approved.txt
|
46
42
|
- spec/approvals_should_successfully_approve_text.approved.txt
|
47
43
|
- spec/approvals_spec.rb
|
48
44
|
- spec/approvals_using_approval_blocks.approved.txt
|
49
45
|
- spec/approvals_using_approval_blocks_the_last_statement.approved.txt
|
50
|
-
- spec/approvals_xml_should_be_pretty.approved.txt
|
51
46
|
- spec/b.txt
|
52
47
|
- spec/cleanup_reporter.rb
|
53
48
|
- spec/spec.opts
|
@@ -73,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
68
|
version:
|
74
69
|
requirements: []
|
75
70
|
|
76
|
-
rubyforge_project:
|
71
|
+
rubyforge_project:
|
77
72
|
rubygems_version: 1.2.0
|
78
73
|
signing_key:
|
79
74
|
specification_version: 3
|
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'rexml/document'
|
2
|
-
include REXML
|
3
|
-
|
4
|
-
module ApprovalTests
|
5
|
-
module Writers
|
6
|
-
class XmlWriter
|
7
|
-
def initialize(data)
|
8
|
-
@data = data
|
9
|
-
end
|
10
|
-
|
11
|
-
def get_approval_filename(basename)
|
12
|
-
basename + ".approved.xml"
|
13
|
-
end
|
14
|
-
|
15
|
-
def get_received_filename(basename)
|
16
|
-
basename + ".received.xml"
|
17
|
-
end
|
18
|
-
|
19
|
-
def write_received_file(received)
|
20
|
-
f = File.new("#{received}", "w+")
|
21
|
-
f.write(@data)
|
22
|
-
f.close()
|
23
|
-
f.path
|
24
|
-
end
|
25
|
-
class << self
|
26
|
-
def pretty_print(parent_node, itab)
|
27
|
-
buffer = ''
|
28
|
-
|
29
|
-
parent_node.elements.each do |node|
|
30
|
-
|
31
|
-
buffer += ' ' * itab + "<#{node.name}#{get_att_list(node)}"
|
32
|
-
|
33
|
-
if node.to_a.length > 0
|
34
|
-
buffer += ">"
|
35
|
-
if node.text.nil?
|
36
|
-
buffer += "\n"
|
37
|
-
buffer += pretty_print(node,itab+2)
|
38
|
-
buffer += ' ' * itab + "</#{node.name}>\n"
|
39
|
-
else
|
40
|
-
node_text = node.text.strip
|
41
|
-
if node_text != ''
|
42
|
-
buffer += node_text
|
43
|
-
buffer += "</#{node.name}>\n"
|
44
|
-
else
|
45
|
-
buffer += "\n" + pretty_print(node,itab+2)
|
46
|
-
buffer += ' ' * itab + "</#{node.name}>\n"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
else
|
50
|
-
buffer += "/>\n"
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
buffer
|
55
|
-
end
|
56
|
-
|
57
|
-
def get_att_list(node)
|
58
|
-
att_list = ''
|
59
|
-
node.attributes.each { |attribute, val| att_list += " #{attribute}='#{val}'" }
|
60
|
-
att_list
|
61
|
-
end
|
62
|
-
|
63
|
-
def pretty_xml(xml_string)
|
64
|
-
doc = Document.new(xml_string)
|
65
|
-
|
66
|
-
buffer = ''
|
67
|
-
xml_declaration = doc.to_s.match('<\?.*\?>').to_s
|
68
|
-
buffer += "#{xml_declaration}\n" if not xml_declaration.nil?
|
69
|
-
xml_doctype = doc.to_s.match('<\!.*\">').to_s
|
70
|
-
buffer += "#{xml_doctype}\n" if not xml_doctype.nil?
|
71
|
-
buffer += "<#{doc.root.name}#{get_att_list(doc.root)}"
|
72
|
-
if doc.root.to_a.length > 0
|
73
|
-
buffer +=">\n#{pretty_print(doc.root,2)}</#{doc.root.name}>"
|
74
|
-
else
|
75
|
-
buffer += "/>\n"
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
tv.count = 0
|
@@ -1 +0,0 @@
|
|
1
|
-
name[0] = tom
|
@@ -1 +0,0 @@
|
|
1
|
-
[name] = harry
|