From e1b6d887a38984b08b7e17457bafeb771eb269ef Mon Sep 17 00:00:00 2001
From: Rob Di Marco <rob.dimarco@416software.com>
Date: Thu, 3 Jan 2013 14:48:09 -0500
Subject: [PATCH] Added a unit test to illustrate bug when HTTP_X_FORWARDED_FOR
header is comma delimited
---
test/request_test.rb | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 test/request_test.rb
diff --git a/test/request_test.rb b/test/request_test.rb
new file mode 100644
index 00000000..3acbe284
--- /dev/null
+++ b/test/request_test.rb
@@ -0,0 +1,29 @@
+# encoding: utf-8
+require 'test_helper'
+
+class RequestTest < Test::Unit::TestCase
+ class MockRequest
+ include Geocoder::Request
+ attr_accessor :env, :ip
+ def initialize(env={}, ip="")
+ @env = env
+ @ip = ip
+ end
+ end
+ def test_http_x_real_ip
+ req = MockRequest.new({"HTTP_X_REAL_IP" => "74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_http_x_forwarded_for_without_proxy
+ req = MockRequest.new({"HTTP_X_FORWARDED_FOR" => "74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_http_x_forwarded_for_with_proxy
+ req = MockRequest.new({"HTTP_X_FORWARDED_FOR" => "74.200.247.59, 74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_with_request_ip
+ req = MockRequest.new({}, "74.200.247.59")
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+end
\ No newline at end of file
--
GitLab