Class: HTTPRedirectTest

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
lib/http_redirect_test/http_redirect_test.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.domain=(domain) ⇒ Object



9
10
11
# File 'lib/http_redirect_test/http_redirect_test.rb', line 9

def self.domain=(domain)
  RedirectCheck.domain = domain
end

.name_for(path) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/http_redirect_test/http_redirect_test.rb', line 23

def self.name_for(path)
  name = path.gsub(/\W+/, '_')
  name.gsub!(/^_+/, '')
  name.gsub!(/_+$/, '')

  name = 'root' if name == ''

  name
end

.should_not_redirect(path) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/http_redirect_test/http_redirect_test.rb', line 13

def self.should_not_redirect(path)
  class_eval "    def test_\#{name_for(path)}_should_not_redirect\n    check = RedirectCheck.new('\#{path}')\n    assert_equal false, check.redirected?, \"\#{path} is redirecting\"\n    assert_equal true, check.success?, \"\#{path} is not a success response\"\n    end\n  CODE\nend\n"

.should_redirect(source, options) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/http_redirect_test/http_redirect_test.rb', line 33

def self.should_redirect(source, options)
  source_path = ResourcePath.new(source, :param => 'subdir').to_s
  destination_path = ResourcePath.new(options[:to], :param => 'subdir').to_s

  permanent = options.fetch(:permanent, true)

  class_eval "    def test_\#{name_for(source_path)}_should_redirect_to_\#{name_for(destination_path)}\n    redirection = RedirectCheck.new('\#{source_path}', '\#{destination_path}')\n    assert_equal true, redirection.redirected?, \"'\#{source_path}' is not redirecting\"\n    assert_equal '\#{destination_path}', redirection.redirected_path,\n    \"'\#{source_path}' is not redirecting to '\#{destination_path}'\"\n    if \#{permanent}\n    assert_equal true, redirection.permanent_redirect?,\n    \"The redirection from '\#{source_path}' to '\#{destination_path}' doesn't appear to be a permanent redirect\"\n    end\n    end\n  CODE\nend\n"

Instance Method Details

#default_testObject

placeholder to stop Test::Unit from complaining



7
# File 'lib/http_redirect_test/http_redirect_test.rb', line 7

def default_test; end