adamh-html_render 0.0.3 → 0.0.4
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/README.rdoc +6 -0
- data/Rakefile +1 -1
- data/html_render.gemspec +2 -2
- data/lib/html_render/render_test/rails.rb +4 -1
- data/lib/html_render/render_test.rb +24 -32
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -49,6 +49,12 @@ are acceptable and which indicate a bug in the HTML (or, more commonly, a bug
|
|
49
49
|
in the browser which the HTML must work around). The engineering of such a
|
50
50
|
workflow is beyond the scope of this project.
|
51
51
|
|
52
|
+
== Rails Integration
|
53
|
+
|
54
|
+
html_render is designed for easy integration with Rails. Visit
|
55
|
+
http://adamhooper.com/eng/articles/4 for instructions on setting up an
|
56
|
+
HTML-rendering component to your automated Rails test suite.
|
57
|
+
|
52
58
|
== Dependencies
|
53
59
|
|
54
60
|
- httpclient >=2.1.4
|
data/Rakefile
CHANGED
data/html_render.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{html_render}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.4"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Adam Hooper"]
|
9
|
-
s.date = %q{2009-04-
|
9
|
+
s.date = %q{2009-04-21}
|
10
10
|
s.description = %q{Make images from HTML strings}
|
11
11
|
s.email = %q{adam@adamhooper.com}
|
12
12
|
s.extra_rdoc_files = ["README.rdoc", "lib/html_render.rb", "lib/html_render/render_batches.rb", "lib/html_render/renderers.rb", "lib/html_render/images.rb", "lib/html_render/render_test.rb", "lib/html_render/render_test/rails.rb"]
|
@@ -53,6 +53,7 @@ module HTMLRender::RenderTest::Rails
|
|
53
53
|
<html xmlns='http://www.w3.org/1999/xhtml'>
|
54
54
|
<head>
|
55
55
|
<title>Test</title>
|
56
|
+
<meta name="Content-type" content="text/html; charset=utf-8" />
|
56
57
|
<style type="text/css">
|
57
58
|
#{css}
|
58
59
|
</style>
|
@@ -86,7 +87,9 @@ module HTMLRender::RenderTest::Rails
|
|
86
87
|
end
|
87
88
|
|
88
89
|
def view
|
89
|
-
ActionView::Base.new(ActionController::Base.view_paths, assigns, controller)
|
90
|
+
returning(ActionView::Base.new(ActionController::Base.view_paths, assigns, controller)) do |view|
|
91
|
+
view.helpers.send(:include, view.controller.master_helper_module)
|
92
|
+
end
|
90
93
|
end
|
91
94
|
|
92
95
|
def write_html_to_run_directory
|
@@ -7,18 +7,34 @@ module HTMLRender::RenderTest
|
|
7
7
|
class Result
|
8
8
|
# The portion of a result specific to an individual server
|
9
9
|
class ServerResult
|
10
|
-
attr_reader :server, :
|
10
|
+
attr_reader :server, :expected_path, :actual_path
|
11
11
|
|
12
12
|
# Initializes the ServerResult.
|
13
13
|
#
|
14
14
|
# Params:
|
15
15
|
# server: name of the server
|
16
|
-
#
|
17
|
-
#
|
18
|
-
def initialize(server,
|
16
|
+
# expected_path: Path to image we expected
|
17
|
+
# actual_path: Path to image we got
|
18
|
+
def initialize(server, expected_path, actual_path)
|
19
19
|
@server = server
|
20
|
-
@
|
21
|
-
@
|
20
|
+
@expected_path = expected_path
|
21
|
+
@actual_path = actual_path
|
22
|
+
end
|
23
|
+
|
24
|
+
def expected
|
25
|
+
@expected ||= if expected_path
|
26
|
+
File.open(expected_path) do |f|
|
27
|
+
HTMLRender::Images::PNGImage.new(f.read)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def actual
|
33
|
+
@actual ||= if actual_path
|
34
|
+
File.open(actual_path) do |f|
|
35
|
+
HTMLRender::Images::PNGImage.new(f.read)
|
36
|
+
end
|
37
|
+
end
|
22
38
|
end
|
23
39
|
|
24
40
|
def pass?
|
@@ -71,37 +87,13 @@ module HTMLRender::RenderTest
|
|
71
87
|
@details_for ||= {}
|
72
88
|
@details_for[server] ||= ServerResult.new(
|
73
89
|
server,
|
74
|
-
|
75
|
-
|
90
|
+
filename_of_expected_png_for(server),
|
91
|
+
filename_of_actual_png_for(server)
|
76
92
|
)
|
77
93
|
end
|
78
94
|
|
79
95
|
private
|
80
96
|
|
81
|
-
# Returns the PNG we actually got for the given server name
|
82
|
-
def actual_png_for(server)
|
83
|
-
@actual_png_for ||= {}
|
84
|
-
@actual_png_for[server] ||= begin
|
85
|
-
filename = filename_of_actual_png_for(server)
|
86
|
-
File.open(filename) do |f|
|
87
|
-
HTMLRender::Images::PNGImage.new(f.read)
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
# Returns the PNG expected of the given server name, or nil
|
93
|
-
def expected_png_for(server)
|
94
|
-
@expected_png_for ||= {}
|
95
|
-
@expected_png_for[server] ||= begin
|
96
|
-
filename = filename_of_expected_png_for(server)
|
97
|
-
if filename
|
98
|
-
File.open(filename) do |f|
|
99
|
-
HTMLRender::Images::PNGImage.new(f.read)
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
97
|
def filename_of_actual_png_for(server)
|
106
98
|
# Assume it exists--otherwise, "servers" wouldn't return it
|
107
99
|
File.join(path, "#{server}.png")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adamh-html_render
|
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
|
- Adam Hooper
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-21 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|