diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..460484cd92e691c512288eced943091a07cf11df
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,23 @@
+rvm:
+  - 1.8.7
+  - 1.9.2
+  - 1.9.3
+  - jruby-19mode
+gemfile:
+  - Gemfile
+  - gemfiles/Gemfile.mongoid-2.4.x
+env: SSL_CERT_DIR=/etc/ssl/certs
+matrix:
+  exclude:
+    - rvm: 1.8.7
+      gemfile: Gemfile
+      env: SSL_CERT_DIR=/etc/ssl/certs
+    - rvm: 1.9.2
+      gemfile: Gemfile
+      env: SSL_CERT_DIR=/etc/ssl/certs
+    - rvm: 1.9.3
+      gemfile: gemfiles/Gemfile.mongoid-2.4.x
+      env: SSL_CERT_DIR=/etc/ssl/certs
+    - rvm: jruby-19mode
+      gemfile: gemfiles/Gemfile.mongoid-2.4.x
+      env: SSL_CERT_DIR=/etc/ssl/certs 
diff --git a/gemfiles/Gemfile.mongoid-2.4.x b/gemfiles/Gemfile.mongoid-2.4.x
new file mode 100644
index 0000000000000000000000000000000000000000..e3fe031df45723a395a423308638b979b3ccac30
--- /dev/null
+++ b/gemfiles/Gemfile.mongoid-2.4.x
@@ -0,0 +1,15 @@
+source "http://rubygems.org"
+
+gemspec :path => '..'
+
+group :development, :test do
+  gem 'rake'
+  gem 'mongoid', '2.4.11'
+  gem 'bson_ext', :platforms => :ruby
+
+  gem 'rails'
+
+  platforms :jruby do
+    gem 'jruby-openssl'
+  end
+end
diff --git a/test/test_helper.rb b/test/test_helper.rb
index ba48c1721ed5a353a55a68d96387f2ecb897b341..61b1d058fdf2e6031d4c1087b5b62e2173f50d2f 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -273,12 +273,9 @@ class Test::Unit::TestCase
   end
 
   def is_nan_coordinates?(coordinates)
-    if defined?(::Float::NAN)
-      coordinates == ([ Geocoder::Calculations::NAN ] * 2 )
-    else
-      return false unless coordinates.respond_to? :size 
-      coordinates.size == 2 && coordinates[0].nan? && coordinates[1].nan?
-    end
+    return false unless coordinates.respond_to? :size # Should be an array
+    return false unless coordinates.size == 2 # Should have dimension 2
+    coordinates[0].nan? && coordinates[1].nan? # Both coordinates should be NaN
   end
 end