Module: HTMLRender::RenderTest::Rails::TestCaseDefinitions

Defined in:
lib/html_render/render_test/rails.rb

Instance Method Summary collapse

Instance Method Details

#define_single_test(setup_path, base_path, servers, options) ⇒ Object



178
179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/html_render/render_test/rails.rb', line 178

def define_single_test(setup_path, base_path, servers, options)
  relative_path = setup_path[(base_path.length + 1)..-10]
  template_path = File.dirname(relative_path)
  test_key = File.basename(relative_path)

  self.test("Rendering #{template_path}, case '#{test_key}'") do
    test_case = Common::create_test_case_from_path(relative_path, options.merge(:test_prefix => base_path))
    result = test_case.run(servers)
    result.details.each do |server, detail|
      assert(detail.pass?, "Should render properly on #{server}")
    end
  end
end

#define_tests(base_path, options) ⇒ Object



192
193
194
195
196
197
198
199
200
201
202
# File 'lib/html_render/render_test/rails.rb', line 192

def define_tests(base_path, options)
  servers = options.delete(:servers)

  if !servers || !servers.is_a?(Hash)
    raise ArgumentError.new("options[:servers] must be a hash of :unique_identifier => \"http://path.to.server/which/renders/pngs\"")
  end

  Dir.glob(File.join(base_path, '**', 'setup.rb')).each do |setup_path|
    self.define_single_test(setup_path, base_path, servers, options)
  end
end