adamh-html_render 0.0.2 → 0.0.3
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 +1 -1
- data/html_render.gemspec +2 -5
- data/lib/html_render/render_test/rails.rb +69 -1
- metadata +2 -12
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.3"
|
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-16}
|
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"]
|
@@ -26,15 +26,12 @@ Gem::Specification.new do |s|
|
|
26
26
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
27
|
s.add_runtime_dependency(%q<httpclient>, [">= 2.1.4"])
|
28
28
|
s.add_runtime_dependency(%q<rmagick>, [">= 2.9.1"])
|
29
|
-
s.add_development_dependency(%q<echoe>, [">= 0"])
|
30
29
|
else
|
31
30
|
s.add_dependency(%q<httpclient>, [">= 2.1.4"])
|
32
31
|
s.add_dependency(%q<rmagick>, [">= 2.9.1"])
|
33
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
34
32
|
end
|
35
33
|
else
|
36
34
|
s.add_dependency(%q<httpclient>, [">= 2.1.4"])
|
37
35
|
s.add_dependency(%q<rmagick>, [">= 2.9.1"])
|
38
|
-
s.add_dependency(%q<echoe>, [">= 0"])
|
39
36
|
end
|
40
37
|
end
|
@@ -75,7 +75,7 @@ module HTMLRender::RenderTest::Rails
|
|
75
75
|
""
|
76
76
|
end
|
77
77
|
|
78
|
-
|
78
|
+
protected
|
79
79
|
|
80
80
|
def controller
|
81
81
|
returning(ActionView::TestCase::TestController.new) do |controller|
|
@@ -96,4 +96,72 @@ module HTMLRender::RenderTest::Rails
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
end
|
99
|
+
|
100
|
+
module TestCaseDefinitions
|
101
|
+
def create_test_case_from_path(relative_path, options)
|
102
|
+
clazz = options[:base_class] || RenderTest
|
103
|
+
base_path = options[:test_prefix]
|
104
|
+
servers = options[:servers]
|
105
|
+
|
106
|
+
test_path = absolute_test_path(relative_path, base_path)
|
107
|
+
run_path = absolute_run_path(relative_path, base_path)
|
108
|
+
|
109
|
+
setup_filename = File.join(test_path, 'setup.rb')
|
110
|
+
setup_code = File.open(setup_filename) { |f| f.read }
|
111
|
+
|
112
|
+
template_path = File.dirname(relative_path)
|
113
|
+
template_dirname = File.dirname(template_path)
|
114
|
+
template_basename = File.basename(template_path)
|
115
|
+
rails_template_basename = template_basename.sub(/^_/, '')
|
116
|
+
rails_template_path = File.join(template_dirname, rails_template_basename)
|
117
|
+
|
118
|
+
FileUtils.mkdir_p(run_path)
|
119
|
+
|
120
|
+
clazz.new(test_path, run_path) do |test_case|
|
121
|
+
test_case.instance_eval(<<-EOT, __FILE__, __LINE__)
|
122
|
+
def template_path
|
123
|
+
#{rails_template_path.inspect}
|
124
|
+
end
|
125
|
+
EOT
|
126
|
+
|
127
|
+
test_case.instance_eval(setup_code, setup_filename, 1)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def define_single_test(setup_path, base_path, servers, options)
|
132
|
+
relative_path = setup_path[(base_path.length + 1)..-10]
|
133
|
+
template_path = File.dirname(relative_path)
|
134
|
+
test_key = File.basename(relative_path)
|
135
|
+
|
136
|
+
self.test("Rendering #{template_path}, case '#{test_key}'") do
|
137
|
+
test_case = self.class.create_test_case_from_path(relative_path, options.merge(:test_prefix => base_path))
|
138
|
+
result = test_case.run(servers)
|
139
|
+
result.details.each do |server, detail|
|
140
|
+
assert(detail.pass?, "Should render properly on #{server}")
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
def define_tests(base_path, options)
|
146
|
+
servers = options.delete(:servers)
|
147
|
+
|
148
|
+
if !servers || !servers.is_a?(Hash)
|
149
|
+
raise ArgumentError.new("options[:servers] must be a hash of :unique_identifier => \"http://path.to.server/which/renders/pngs\"")
|
150
|
+
end
|
151
|
+
|
152
|
+
Dir.glob(File.join(base_path, '**', 'setup.rb')).each do |setup_path|
|
153
|
+
self.define_single_test(setup_path, base_path, servers, options)
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
private
|
158
|
+
|
159
|
+
def absolute_test_path(relative_path, base_path)
|
160
|
+
File.join(base_path, relative_path)
|
161
|
+
end
|
162
|
+
|
163
|
+
def absolute_run_path(relative_path, base_path)
|
164
|
+
File.join(absolute_test_path(relative_path, base_path), 'run')
|
165
|
+
end
|
166
|
+
end
|
99
167
|
end
|
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.3
|
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-16 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -32,16 +32,6 @@ dependencies:
|
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.9.1
|
34
34
|
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: echoe
|
37
|
-
type: :development
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: "0"
|
44
|
-
version:
|
45
35
|
description: Make images from HTML strings
|
46
36
|
email: adam@adamhooper.com
|
47
37
|
executables: []
|