fe27b6
diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb
fe27b6
index 58670e9a49..ba10ce4421 100644
fe27b6
--- a/test/ruby/test_time_tz.rb
fe27b6
+++ b/test/ruby/test_time_tz.rb
fe27b6
@@ -84,6 +84,10 @@ class TestTimeTZ < Test::Unit::TestCase
fe27b6
   has_right_tz &&= have_tz_offset?("right/America/Los_Angeles")
fe27b6
   has_lisbon_tz &&= have_tz_offset?("Europe/Lisbon")
fe27b6
 
fe27b6
+  CORRECT_KIRITIMATI_SKIP_1994 = with_tz("Pacific/Kiritimati") {
fe27b6
+    Time.local(1994, 12, 31, 0, 0, 0).year == 1995
fe27b6
+  }
fe27b6
+
fe27b6
   def time_to_s(t)
fe27b6
     t.to_s
fe27b6
   end
fe27b6
@@ -163,9 +167,17 @@ class TestTimeTZ < Test::Unit::TestCase
fe27b6
 
fe27b6
   def test_pacific_kiritimati
fe27b6
     with_tz(tz="Pacific/Kiritimati") {
fe27b6
-      assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])
fe27b6
-      assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])
fe27b6
-      assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])
fe27b6
+      assert_time_constructor(tz, "1994-12-30 00:00:00 -1000", :local, [1994,12,30,0,0,0])
fe27b6
+      assert_time_constructor(tz, "1994-12-30 23:59:59 -1000", :local, [1994,12,30,23,59,59])
fe27b6
+      if CORRECT_KIRITIMATI_SKIP_1994
fe27b6
+        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1994,12,31,0,0,0])
fe27b6
+        assert_time_constructor(tz, "1995-01-01 23:59:59 +1400", :local, [1994,12,31,23,59,59])
fe27b6
+        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1995,1,1,0,0,0])
fe27b6
+      else
fe27b6
+        assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])
fe27b6
+        assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])
fe27b6
+        assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])
fe27b6
+      end
fe27b6
       assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,2,0,0,0])
fe27b6
     }
fe27b6
   end
fe27b6
@@ -339,9 +351,18 @@ Europe/London  Sun Aug 10 00:59:59 1947 UTC = Sun Aug 10 02:59:59 1947 BDST isds
fe27b6
 Europe/London  Sun Aug 10 01:00:00 1947 UTC = Sun Aug 10 02:00:00 1947 BST isdst=1 gmtoff=3600
fe27b6
 Europe/London  Sun Nov  2 01:59:59 1947 UTC = Sun Nov  2 02:59:59 1947 BST isdst=1 gmtoff=3600
fe27b6
 Europe/London  Sun Nov  2 02:00:00 1947 UTC = Sun Nov  2 02:00:00 1947 GMT isdst=0 gmtoff=0
fe27b6
+End
fe27b6
+  if CORRECT_KIRITIMATI_SKIP_1994
fe27b6
+    gen_zdump_test <<'End'
fe27b6
+Pacific/Kiritimati  Sat Dec 31 09:59:59 1994 UTC = Fri Dec 30 23:59:59 1994 LINT isdst=0 gmtoff=-36000
fe27b6
+Pacific/Kiritimati  Sat Dec 31 10:00:00 1994 UTC = Sun Jan  1 00:00:00 1995 LINT isdst=0 gmtoff=50400
fe27b6
+End
fe27b6
+  else
fe27b6
+    gen_zdump_test <<'End'
fe27b6
 Pacific/Kiritimati  Sun Jan  1 09:59:59 1995 UTC = Sat Dec 31 23:59:59 1994 LINT isdst=0 gmtoff=-36000
fe27b6
 Pacific/Kiritimati  Sun Jan  1 10:00:00 1995 UTC = Mon Jan  2 00:00:00 1995 LINT isdst=0 gmtoff=50400
fe27b6
 End
fe27b6
+  end
fe27b6
   gen_zdump_test <<'End' if has_right_tz
fe27b6
 right/America/Los_Angeles  Fri Jun 30 23:59:60 1972 UTC = Fri Jun 30 16:59:60 1972 PDT isdst=1 gmtoff=-25200
fe27b6
 right/America/Los_Angeles  Wed Dec 31 23:59:60 2008 UTC = Wed Dec 31 15:59:60 2008 PST isdst=0 gmtoff=-28800
fe27b6
@@ -389,5 +410,6 @@ End
fe27b6
   gen_variational_zdump_test "lisbon", <<'End' if has_lisbon_tz
fe27b6
 Europe/Lisbon  Mon Jan  1 00:36:31 1912 UTC = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2192
fe27b6
 Europe/Lisbon  Mon Jan  1 00:36:44 1912 UT = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2205
fe27b6
+Europe/Lisbon  Sun Dec 31 23:59:59 1911 UT = Sun Dec 31 23:23:14 1911 LMT isdst=0 gmtoff=-2205
fe27b6
 End
fe27b6
 end
fe27b6
-- 
fe27b6
2.17.1
fe27b6