adamh-html_render 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('html_render', '0.0.2') do |p|
5
+ Echoe.new('html_render', '0.0.3') do |p|
6
6
  p.description = 'Make images from HTML strings'
7
7
  p.url = 'http://adamhooper.com/eng'
8
8
  p.author = 'Adam Hooper'
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.2"
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-01}
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
- private
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.2
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-01 00:00:00 -07:00
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: []