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 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
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('html_render', '0.0.3') do |p|
5
+ Echoe.new('html_render', '0.0.4') 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.3"
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-16}
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, :expected, :actual
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
- # expected: Image we expected
17
- # actual: Image we got
18
- def initialize(server, expected, actual)
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
- @expected = expected
21
- @actual = actual
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
- expected_png_for(server),
75
- actual_png_for(server)
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.3
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-16 00:00:00 -07:00
12
+ date: 2009-04-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency