tzinfo 0.3.62 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of tzinfo might be problematic. Click here for more details.

Files changed (706) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +25 -158
  3. data/LICENSE +1 -1
  4. data/README +89 -55
  5. data/Rakefile +87 -282
  6. data/lib/tzinfo/country.rb +28 -34
  7. data/lib/tzinfo/country_index_definition.rb +2 -7
  8. data/lib/tzinfo/country_info.rb +20 -44
  9. data/lib/tzinfo/country_timezone.rb +1 -1
  10. data/lib/tzinfo/data_source.rb +182 -0
  11. data/lib/tzinfo/data_timezone.rb +1 -3
  12. data/lib/tzinfo/data_timezone_info.rb +11 -190
  13. data/lib/tzinfo/info_timezone.rb +1 -3
  14. data/lib/tzinfo/linked_timezone.rb +1 -4
  15. data/lib/tzinfo/linked_timezone_info.rb +9 -5
  16. data/lib/tzinfo/offset_rationals.rb +2 -4
  17. data/lib/tzinfo/ruby_core_support.rb +152 -82
  18. data/lib/tzinfo/ruby_country_info.rb +78 -0
  19. data/lib/tzinfo/ruby_data_source.rb +153 -0
  20. data/lib/tzinfo/time_or_datetime.rb +83 -52
  21. data/lib/tzinfo/timezone.rb +27 -69
  22. data/lib/tzinfo/timezone_definition.rb +4 -7
  23. data/lib/tzinfo/timezone_index_definition.rb +1 -6
  24. data/lib/tzinfo/timezone_info.rb +8 -4
  25. data/lib/tzinfo/timezone_offset_info.rb +1 -3
  26. data/lib/tzinfo/timezone_period.rb +31 -6
  27. data/lib/tzinfo/timezone_transition_info.rb +42 -12
  28. data/lib/tzinfo/transition_data_timezone_info.rb +223 -0
  29. data/lib/tzinfo/zoneinfo_country_info.rb +50 -0
  30. data/lib/tzinfo/zoneinfo_data_source.rb +297 -0
  31. data/lib/tzinfo/zoneinfo_timezone_info.rb +226 -0
  32. data/lib/tzinfo.rb +9 -7
  33. data/test/tc_country.rb +65 -9
  34. data/test/tc_country_index_definition.rb +27 -6
  35. data/test/tc_country_info.rb +23 -57
  36. data/test/tc_country_timezone.rb +23 -3
  37. data/test/tc_data_source.rb +194 -0
  38. data/test/tc_data_timezone.rb +23 -3
  39. data/test/tc_data_timezone_info.rb +30 -272
  40. data/test/tc_info_timezone.rb +23 -3
  41. data/test/tc_linked_timezone.rb +23 -4
  42. data/test/tc_linked_timezone_info.rb +30 -3
  43. data/test/tc_offset_rationals.rb +23 -3
  44. data/test/tc_ruby_core_support.rb +117 -31
  45. data/test/tc_ruby_country_info.rb +102 -0
  46. data/test/tc_ruby_data_source.rb +145 -0
  47. data/test/tc_time_or_datetime.rb +222 -19
  48. data/test/tc_timezone.rb +187 -57
  49. data/test/tc_timezone_definition.rb +26 -6
  50. data/test/tc_timezone_index_definition.rb +23 -3
  51. data/test/tc_timezone_info.rb +23 -3
  52. data/test/tc_timezone_london.rb +89 -56
  53. data/test/tc_timezone_melbourne.rb +88 -62
  54. data/test/tc_timezone_new_york.rb +73 -47
  55. data/test/tc_timezone_offset_info.rb +36 -4
  56. data/test/tc_timezone_period.rb +60 -22
  57. data/test/tc_timezone_proxy.rb +24 -4
  58. data/test/tc_timezone_transition_info.rb +305 -28
  59. data/test/tc_timezone_utc.rb +24 -4
  60. data/test/tc_transition_data_timezone_info.rb +345 -0
  61. data/test/tc_zoneinfo_country_info.rb +86 -0
  62. data/test/tc_zoneinfo_data_source.rb +601 -0
  63. data/test/tc_zoneinfo_timezone_info.rb +663 -0
  64. data/test/test_utils.rb +116 -21
  65. data/test/ts_all.rb +24 -4
  66. data/test/ts_all_ruby.rb +27 -0
  67. data/test/ts_all_zoneinfo.rb +29 -0
  68. data/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  69. data/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +313 -0
  70. data/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +216 -0
  71. data/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  72. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  73. data/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  74. data/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  75. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +259 -0
  76. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +184 -0
  77. data/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +319 -0
  78. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +263 -0
  79. data/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +218 -0
  80. data/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  81. data/test/tzinfo-data/tzinfo/data/indexes/countries.rb +929 -0
  82. data/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +599 -0
  83. data/test/tzinfo-data/tzinfo/data/version.rb +36 -0
  84. data/test/tzinfo-data/tzinfo/data.rb +23 -0
  85. data/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  86. data/test/zoneinfo/America/New_York +0 -0
  87. data/test/zoneinfo/Australia/Melbourne +0 -0
  88. data/test/zoneinfo/EST +0 -0
  89. data/test/zoneinfo/Etc/UTC +0 -0
  90. data/test/zoneinfo/Europe/Amsterdam +0 -0
  91. data/test/zoneinfo/Europe/Andorra +0 -0
  92. data/test/zoneinfo/Europe/London +0 -0
  93. data/test/zoneinfo/Europe/Paris +0 -0
  94. data/test/zoneinfo/Europe/Prague +0 -0
  95. data/test/zoneinfo/Factory +0 -0
  96. data/test/zoneinfo/UTC +0 -0
  97. data/test/zoneinfo/iso3166.tab +276 -0
  98. data/test/zoneinfo/localtime +0 -0
  99. data/test/zoneinfo/posix/Europe/London +0 -0
  100. data/test/zoneinfo/posixrules +0 -0
  101. data/test/zoneinfo/right/Europe/London +0 -0
  102. data/test/zoneinfo/zone.tab +444 -0
  103. metadata +134 -716
  104. data/.yardopts +0 -8
  105. data/lib/tzinfo/definitions/Africa/Abidjan.rb +0 -18
  106. data/lib/tzinfo/definitions/Africa/Accra.rb +0 -13
  107. data/lib/tzinfo/definitions/Africa/Addis_Ababa.rb +0 -13
  108. data/lib/tzinfo/definitions/Africa/Algiers.rb +0 -55
  109. data/lib/tzinfo/definitions/Africa/Asmara.rb +0 -13
  110. data/lib/tzinfo/definitions/Africa/Asmera.rb +0 -13
  111. data/lib/tzinfo/definitions/Africa/Bamako.rb +0 -13
  112. data/lib/tzinfo/definitions/Africa/Bangui.rb +0 -13
  113. data/lib/tzinfo/definitions/Africa/Banjul.rb +0 -13
  114. data/lib/tzinfo/definitions/Africa/Bissau.rb +0 -20
  115. data/lib/tzinfo/definitions/Africa/Blantyre.rb +0 -13
  116. data/lib/tzinfo/definitions/Africa/Brazzaville.rb +0 -13
  117. data/lib/tzinfo/definitions/Africa/Bujumbura.rb +0 -13
  118. data/lib/tzinfo/definitions/Africa/Cairo.rb +0 -247
  119. data/lib/tzinfo/definitions/Africa/Casablanca.rb +0 -189
  120. data/lib/tzinfo/definitions/Africa/Ceuta.rb +0 -218
  121. data/lib/tzinfo/definitions/Africa/Conakry.rb +0 -13
  122. data/lib/tzinfo/definitions/Africa/Dakar.rb +0 -13
  123. data/lib/tzinfo/definitions/Africa/Dar_es_Salaam.rb +0 -13
  124. data/lib/tzinfo/definitions/Africa/Djibouti.rb +0 -13
  125. data/lib/tzinfo/definitions/Africa/Douala.rb +0 -13
  126. data/lib/tzinfo/definitions/Africa/El_Aaiun.rb +0 -179
  127. data/lib/tzinfo/definitions/Africa/Freetown.rb +0 -13
  128. data/lib/tzinfo/definitions/Africa/Gaborone.rb +0 -13
  129. data/lib/tzinfo/definitions/Africa/Harare.rb +0 -13
  130. data/lib/tzinfo/definitions/Africa/Johannesburg.rb +0 -25
  131. data/lib/tzinfo/definitions/Africa/Juba.rb +0 -54
  132. data/lib/tzinfo/definitions/Africa/Kampala.rb +0 -13
  133. data/lib/tzinfo/definitions/Africa/Khartoum.rb +0 -54
  134. data/lib/tzinfo/definitions/Africa/Kigali.rb +0 -13
  135. data/lib/tzinfo/definitions/Africa/Kinshasa.rb +0 -13
  136. data/lib/tzinfo/definitions/Africa/Lagos.rb +0 -23
  137. data/lib/tzinfo/definitions/Africa/Libreville.rb +0 -13
  138. data/lib/tzinfo/definitions/Africa/Lome.rb +0 -13
  139. data/lib/tzinfo/definitions/Africa/Luanda.rb +0 -13
  140. data/lib/tzinfo/definitions/Africa/Lubumbashi.rb +0 -13
  141. data/lib/tzinfo/definitions/Africa/Lusaka.rb +0 -13
  142. data/lib/tzinfo/definitions/Africa/Malabo.rb +0 -13
  143. data/lib/tzinfo/definitions/Africa/Maputo.rb +0 -18
  144. data/lib/tzinfo/definitions/Africa/Maseru.rb +0 -13
  145. data/lib/tzinfo/definitions/Africa/Mbabane.rb +0 -13
  146. data/lib/tzinfo/definitions/Africa/Mogadishu.rb +0 -13
  147. data/lib/tzinfo/definitions/Africa/Monrovia.rb +0 -22
  148. data/lib/tzinfo/definitions/Africa/Nairobi.rb +0 -24
  149. data/lib/tzinfo/definitions/Africa/Ndjamena.rb +0 -21
  150. data/lib/tzinfo/definitions/Africa/Niamey.rb +0 -13
  151. data/lib/tzinfo/definitions/Africa/Nouakchott.rb +0 -13
  152. data/lib/tzinfo/definitions/Africa/Ouagadougou.rb +0 -13
  153. data/lib/tzinfo/definitions/Africa/Porto__m__Novo.rb +0 -13
  154. data/lib/tzinfo/definitions/Africa/Sao_Tome.rb +0 -23
  155. data/lib/tzinfo/definitions/Africa/Timbuktu.rb +0 -13
  156. data/lib/tzinfo/definitions/Africa/Tripoli.rb +0 -51
  157. data/lib/tzinfo/definitions/Africa/Tunis.rb +0 -53
  158. data/lib/tzinfo/definitions/Africa/Windhoek.rb +0 -74
  159. data/lib/tzinfo/definitions/America/Adak.rb +0 -242
  160. data/lib/tzinfo/definitions/America/Anchorage.rb +0 -242
  161. data/lib/tzinfo/definitions/America/Anguilla.rb +0 -13
  162. data/lib/tzinfo/definitions/America/Antigua.rb +0 -13
  163. data/lib/tzinfo/definitions/America/Araguaina.rb +0 -69
  164. data/lib/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +0 -84
  165. data/lib/tzinfo/definitions/America/Argentina/Catamarca.rb +0 -84
  166. data/lib/tzinfo/definitions/America/Argentina/ComodRivadavia.rb +0 -15
  167. data/lib/tzinfo/definitions/America/Argentina/Cordoba.rb +0 -84
  168. data/lib/tzinfo/definitions/America/Argentina/Jujuy.rb +0 -82
  169. data/lib/tzinfo/definitions/America/Argentina/La_Rioja.rb +0 -85
  170. data/lib/tzinfo/definitions/America/Argentina/Mendoza.rb +0 -84
  171. data/lib/tzinfo/definitions/America/Argentina/Rio_Gallegos.rb +0 -84
  172. data/lib/tzinfo/definitions/America/Argentina/Salta.rb +0 -82
  173. data/lib/tzinfo/definitions/America/Argentina/San_Juan.rb +0 -85
  174. data/lib/tzinfo/definitions/America/Argentina/San_Luis.rb +0 -85
  175. data/lib/tzinfo/definitions/America/Argentina/Tucuman.rb +0 -86
  176. data/lib/tzinfo/definitions/America/Argentina/Ushuaia.rb +0 -84
  177. data/lib/tzinfo/definitions/America/Aruba.rb +0 -13
  178. data/lib/tzinfo/definitions/America/Asuncion.rb +0 -220
  179. data/lib/tzinfo/definitions/America/Atikokan.rb +0 -13
  180. data/lib/tzinfo/definitions/America/Atka.rb +0 -13
  181. data/lib/tzinfo/definitions/America/Bahia.rb +0 -79
  182. data/lib/tzinfo/definitions/America/Bahia_Banderas.rb +0 -84
  183. data/lib/tzinfo/definitions/America/Barbados.rb +0 -34
  184. data/lib/tzinfo/definitions/America/Belem.rb +0 -47
  185. data/lib/tzinfo/definitions/America/Belize.rb +0 -119
  186. data/lib/tzinfo/definitions/America/Blanc__m__Sablon.rb +0 -13
  187. data/lib/tzinfo/definitions/America/Boa_Vista.rb +0 -51
  188. data/lib/tzinfo/definitions/America/Bogota.rb +0 -23
  189. data/lib/tzinfo/definitions/America/Boise.rb +0 -245
  190. data/lib/tzinfo/definitions/America/Buenos_Aires.rb +0 -13
  191. data/lib/tzinfo/definitions/America/Cambridge_Bay.rb +0 -232
  192. data/lib/tzinfo/definitions/America/Campo_Grande.rb +0 -109
  193. data/lib/tzinfo/definitions/America/Cancun.rb +0 -62
  194. data/lib/tzinfo/definitions/America/Caracas.rb +0 -24
  195. data/lib/tzinfo/definitions/America/Catamarca.rb +0 -13
  196. data/lib/tzinfo/definitions/America/Cayenne.rb +0 -20
  197. data/lib/tzinfo/definitions/America/Cayman.rb +0 -13
  198. data/lib/tzinfo/definitions/America/Chicago.rb +0 -329
  199. data/lib/tzinfo/definitions/America/Chihuahua.rb +0 -80
  200. data/lib/tzinfo/definitions/America/Ciudad_Juarez.rb +0 -183
  201. data/lib/tzinfo/definitions/America/Coral_Harbour.rb +0 -13
  202. data/lib/tzinfo/definitions/America/Cordoba.rb +0 -13
  203. data/lib/tzinfo/definitions/America/Costa_Rica.rb +0 -29
  204. data/lib/tzinfo/definitions/America/Creston.rb +0 -13
  205. data/lib/tzinfo/definitions/America/Cuiaba.rb +0 -107
  206. data/lib/tzinfo/definitions/America/Curacao.rb +0 -13
  207. data/lib/tzinfo/definitions/America/Danmarkshavn.rb +0 -53
  208. data/lib/tzinfo/definitions/America/Dawson.rb +0 -117
  209. data/lib/tzinfo/definitions/America/Dawson_Creek.rb +0 -79
  210. data/lib/tzinfo/definitions/America/Denver.rb +0 -250
  211. data/lib/tzinfo/definitions/America/Detroit.rb +0 -234
  212. data/lib/tzinfo/definitions/America/Dominica.rb +0 -13
  213. data/lib/tzinfo/definitions/America/Edmonton.rb +0 -242
  214. data/lib/tzinfo/definitions/America/Eirunepe.rb +0 -52
  215. data/lib/tzinfo/definitions/America/El_Salvador.rb +0 -23
  216. data/lib/tzinfo/definitions/America/Ensenada.rb +0 -13
  217. data/lib/tzinfo/definitions/America/Fort_Nelson.rb +0 -164
  218. data/lib/tzinfo/definitions/America/Fort_Wayne.rb +0 -13
  219. data/lib/tzinfo/definitions/America/Fortaleza.rb +0 -57
  220. data/lib/tzinfo/definitions/America/Glace_Bay.rb +0 -232
  221. data/lib/tzinfo/definitions/America/Godthab.rb +0 -13
  222. data/lib/tzinfo/definitions/America/Goose_Bay.rb +0 -301
  223. data/lib/tzinfo/definitions/America/Grand_Turk.rb +0 -207
  224. data/lib/tzinfo/definitions/America/Grenada.rb +0 -13
  225. data/lib/tzinfo/definitions/America/Guadeloupe.rb +0 -13
  226. data/lib/tzinfo/definitions/America/Guatemala.rb +0 -27
  227. data/lib/tzinfo/definitions/America/Guayaquil.rb +0 -23
  228. data/lib/tzinfo/definitions/America/Guyana.rb +0 -23
  229. data/lib/tzinfo/definitions/America/Halifax.rb +0 -320
  230. data/lib/tzinfo/definitions/America/Havana.rb +0 -247
  231. data/lib/tzinfo/definitions/America/Hermosillo.rb +0 -35
  232. data/lib/tzinfo/definitions/America/Indiana/Indianapolis.rb +0 -195
  233. data/lib/tzinfo/definitions/America/Indiana/Knox.rb +0 -249
  234. data/lib/tzinfo/definitions/America/Indiana/Marengo.rb +0 -199
  235. data/lib/tzinfo/definitions/America/Indiana/Petersburg.rb +0 -212
  236. data/lib/tzinfo/definitions/America/Indiana/Tell_City.rb +0 -194
  237. data/lib/tzinfo/definitions/America/Indiana/Vevay.rb +0 -177
  238. data/lib/tzinfo/definitions/America/Indiana/Vincennes.rb +0 -197
  239. data/lib/tzinfo/definitions/America/Indiana/Winamac.rb +0 -203
  240. data/lib/tzinfo/definitions/America/Indianapolis.rb +0 -13
  241. data/lib/tzinfo/definitions/America/Inuvik.rb +0 -225
  242. data/lib/tzinfo/definitions/America/Iqaluit.rb +0 -229
  243. data/lib/tzinfo/definitions/America/Jamaica.rb +0 -41
  244. data/lib/tzinfo/definitions/America/Jujuy.rb +0 -13
  245. data/lib/tzinfo/definitions/America/Juneau.rb +0 -241
  246. data/lib/tzinfo/definitions/America/Kentucky/Louisville.rb +0 -274
  247. data/lib/tzinfo/definitions/America/Kentucky/Monticello.rb +0 -244
  248. data/lib/tzinfo/definitions/America/Knox_IN.rb +0 -13
  249. data/lib/tzinfo/definitions/America/Kralendijk.rb +0 -13
  250. data/lib/tzinfo/definitions/America/La_Paz.rb +0 -22
  251. data/lib/tzinfo/definitions/America/Lima.rb +0 -35
  252. data/lib/tzinfo/definitions/America/Los_Angeles.rb +0 -278
  253. data/lib/tzinfo/definitions/America/Louisville.rb +0 -13
  254. data/lib/tzinfo/definitions/America/Lower_Princes.rb +0 -13
  255. data/lib/tzinfo/definitions/America/Maceio.rb +0 -59
  256. data/lib/tzinfo/definitions/America/Managua.rb +0 -36
  257. data/lib/tzinfo/definitions/America/Manaus.rb +0 -49
  258. data/lib/tzinfo/definitions/America/Marigot.rb +0 -13
  259. data/lib/tzinfo/definitions/America/Martinique.rb +0 -23
  260. data/lib/tzinfo/definitions/America/Matamoros.rb +0 -177
  261. data/lib/tzinfo/definitions/America/Mazatlan.rb +0 -83
  262. data/lib/tzinfo/definitions/America/Mendoza.rb +0 -13
  263. data/lib/tzinfo/definitions/America/Menominee.rb +0 -236
  264. data/lib/tzinfo/definitions/America/Merida.rb +0 -76
  265. data/lib/tzinfo/definitions/America/Metlakatla.rb +0 -176
  266. data/lib/tzinfo/definitions/America/Mexico_City.rb +0 -89
  267. data/lib/tzinfo/definitions/America/Miquelon.rb +0 -195
  268. data/lib/tzinfo/definitions/America/Moncton.rb +0 -300
  269. data/lib/tzinfo/definitions/America/Monterrey.rb +0 -75
  270. data/lib/tzinfo/definitions/America/Montevideo.rb +0 -110
  271. data/lib/tzinfo/definitions/America/Montreal.rb +0 -13
  272. data/lib/tzinfo/definitions/America/Montserrat.rb +0 -13
  273. data/lib/tzinfo/definitions/America/Nassau.rb +0 -13
  274. data/lib/tzinfo/definitions/America/New_York.rb +0 -328
  275. data/lib/tzinfo/definitions/America/Nipigon.rb +0 -13
  276. data/lib/tzinfo/definitions/America/Nome.rb +0 -242
  277. data/lib/tzinfo/definitions/America/Noronha.rb +0 -57
  278. data/lib/tzinfo/definitions/America/North_Dakota/Beulah.rb +0 -246
  279. data/lib/tzinfo/definitions/America/North_Dakota/Center.rb +0 -246
  280. data/lib/tzinfo/definitions/America/North_Dakota/New_Salem.rb +0 -246
  281. data/lib/tzinfo/definitions/America/Nuuk.rb +0 -209
  282. data/lib/tzinfo/definitions/America/Ojinaga.rb +0 -182
  283. data/lib/tzinfo/definitions/America/Panama.rb +0 -20
  284. data/lib/tzinfo/definitions/America/Pangnirtung.rb +0 -13
  285. data/lib/tzinfo/definitions/America/Paramaribo.rb +0 -24
  286. data/lib/tzinfo/definitions/America/Phoenix.rb +0 -30
  287. data/lib/tzinfo/definitions/America/Port__m__au__m__Prince.rb +0 -177
  288. data/lib/tzinfo/definitions/America/Port_of_Spain.rb +0 -13
  289. data/lib/tzinfo/definitions/America/Porto_Acre.rb +0 -13
  290. data/lib/tzinfo/definitions/America/Porto_Velho.rb +0 -47
  291. data/lib/tzinfo/definitions/America/Puerto_Rico.rb +0 -23
  292. data/lib/tzinfo/definitions/America/Punta_Arenas.rb +0 -139
  293. data/lib/tzinfo/definitions/America/Rainy_River.rb +0 -13
  294. data/lib/tzinfo/definitions/America/Rankin_Inlet.rb +0 -224
  295. data/lib/tzinfo/definitions/America/Recife.rb +0 -57
  296. data/lib/tzinfo/definitions/America/Regina.rb +0 -74
  297. data/lib/tzinfo/definitions/America/Resolute.rb +0 -224
  298. data/lib/tzinfo/definitions/America/Rio_Branco.rb +0 -50
  299. data/lib/tzinfo/definitions/America/Rosario.rb +0 -13
  300. data/lib/tzinfo/definitions/America/Santa_Isabel.rb +0 -13
  301. data/lib/tzinfo/definitions/America/Santarem.rb +0 -49
  302. data/lib/tzinfo/definitions/America/Santiago.rb +0 -251
  303. data/lib/tzinfo/definitions/America/Santo_Domingo.rb +0 -38
  304. data/lib/tzinfo/definitions/America/Sao_Paulo.rb +0 -109
  305. data/lib/tzinfo/definitions/America/Scoresbysund.rb +0 -209
  306. data/lib/tzinfo/definitions/America/Shiprock.rb +0 -13
  307. data/lib/tzinfo/definitions/America/Sitka.rb +0 -240
  308. data/lib/tzinfo/definitions/America/St_Barthelemy.rb +0 -13
  309. data/lib/tzinfo/definitions/America/St_Johns.rb +0 -334
  310. data/lib/tzinfo/definitions/America/St_Kitts.rb +0 -13
  311. data/lib/tzinfo/definitions/America/St_Lucia.rb +0 -13
  312. data/lib/tzinfo/definitions/America/St_Thomas.rb +0 -13
  313. data/lib/tzinfo/definitions/America/St_Vincent.rb +0 -13
  314. data/lib/tzinfo/definitions/America/Swift_Current.rb +0 -44
  315. data/lib/tzinfo/definitions/America/Tegucigalpa.rb +0 -25
  316. data/lib/tzinfo/definitions/America/Thule.rb +0 -185
  317. data/lib/tzinfo/definitions/America/Thunder_Bay.rb +0 -13
  318. data/lib/tzinfo/definitions/America/Tijuana.rb +0 -242
  319. data/lib/tzinfo/definitions/America/Toronto.rb +0 -325
  320. data/lib/tzinfo/definitions/America/Tortola.rb +0 -13
  321. data/lib/tzinfo/definitions/America/Vancouver.rb +0 -282
  322. data/lib/tzinfo/definitions/America/Virgin.rb +0 -13
  323. data/lib/tzinfo/definitions/America/Whitehorse.rb +0 -117
  324. data/lib/tzinfo/definitions/America/Winnipeg.rb +0 -278
  325. data/lib/tzinfo/definitions/America/Yakutat.rb +0 -239
  326. data/lib/tzinfo/definitions/America/Yellowknife.rb +0 -13
  327. data/lib/tzinfo/definitions/Antarctica/Casey.rb +0 -30
  328. data/lib/tzinfo/definitions/Antarctica/Davis.rb +0 -25
  329. data/lib/tzinfo/definitions/Antarctica/DumontDUrville.rb +0 -13
  330. data/lib/tzinfo/definitions/Antarctica/Macquarie.rb +0 -233
  331. data/lib/tzinfo/definitions/Antarctica/Mawson.rb +0 -20
  332. data/lib/tzinfo/definitions/Antarctica/McMurdo.rb +0 -13
  333. data/lib/tzinfo/definitions/Antarctica/Palmer.rb +0 -102
  334. data/lib/tzinfo/definitions/Antarctica/Rothera.rb +0 -18
  335. data/lib/tzinfo/definitions/Antarctica/South_Pole.rb +0 -13
  336. data/lib/tzinfo/definitions/Antarctica/Syowa.rb +0 -13
  337. data/lib/tzinfo/definitions/Antarctica/Troll.rb +0 -157
  338. data/lib/tzinfo/definitions/Antarctica/Vostok.rb +0 -13
  339. data/lib/tzinfo/definitions/Arctic/Longyearbyen.rb +0 -13
  340. data/lib/tzinfo/definitions/Asia/Aden.rb +0 -13
  341. data/lib/tzinfo/definitions/Asia/Almaty.rb +0 -71
  342. data/lib/tzinfo/definitions/Asia/Amman.rb +0 -106
  343. data/lib/tzinfo/definitions/Asia/Anadyr.rb +0 -86
  344. data/lib/tzinfo/definitions/Asia/Aqtau.rb +0 -71
  345. data/lib/tzinfo/definitions/Asia/Aqtobe.rb +0 -72
  346. data/lib/tzinfo/definitions/Asia/Ashgabat.rb +0 -45
  347. data/lib/tzinfo/definitions/Asia/Ashkhabad.rb +0 -13
  348. data/lib/tzinfo/definitions/Asia/Atyrau.rb +0 -72
  349. data/lib/tzinfo/definitions/Asia/Baghdad.rb +0 -73
  350. data/lib/tzinfo/definitions/Asia/Bahrain.rb +0 -13
  351. data/lib/tzinfo/definitions/Asia/Baku.rb +0 -86
  352. data/lib/tzinfo/definitions/Asia/Bangkok.rb +0 -20
  353. data/lib/tzinfo/definitions/Asia/Barnaul.rb +0 -87
  354. data/lib/tzinfo/definitions/Asia/Beirut.rb +0 -231
  355. data/lib/tzinfo/definitions/Asia/Bishkek.rb +0 -72
  356. data/lib/tzinfo/definitions/Asia/Brunei.rb +0 -13
  357. data/lib/tzinfo/definitions/Asia/Calcutta.rb +0 -13
  358. data/lib/tzinfo/definitions/Asia/Chita.rb +0 -87
  359. data/lib/tzinfo/definitions/Asia/Choibalsan.rb +0 -72
  360. data/lib/tzinfo/definitions/Asia/Chongqing.rb +0 -13
  361. data/lib/tzinfo/definitions/Asia/Chungking.rb +0 -13
  362. data/lib/tzinfo/definitions/Asia/Colombo.rb +0 -30
  363. data/lib/tzinfo/definitions/Asia/Dacca.rb +0 -13
  364. data/lib/tzinfo/definitions/Asia/Damascus.rb +0 -140
  365. data/lib/tzinfo/definitions/Asia/Dhaka.rb +0 -28
  366. data/lib/tzinfo/definitions/Asia/Dili.rb +0 -22
  367. data/lib/tzinfo/definitions/Asia/Dubai.rb +0 -18
  368. data/lib/tzinfo/definitions/Asia/Dushanbe.rb +0 -44
  369. data/lib/tzinfo/definitions/Asia/Famagusta.rb +0 -217
  370. data/lib/tzinfo/definitions/Asia/Gaza.rb +0 -274
  371. data/lib/tzinfo/definitions/Asia/Harbin.rb +0 -13
  372. data/lib/tzinfo/definitions/Asia/Hebron.rb +0 -276
  373. data/lib/tzinfo/definitions/Asia/Ho_Chi_Minh.rb +0 -29
  374. data/lib/tzinfo/definitions/Asia/Hong_Kong.rb +0 -89
  375. data/lib/tzinfo/definitions/Asia/Hovd.rb +0 -69
  376. data/lib/tzinfo/definitions/Asia/Irkutsk.rb +0 -88
  377. data/lib/tzinfo/definitions/Asia/Istanbul.rb +0 -13
  378. data/lib/tzinfo/definitions/Asia/Jakarta.rb +0 -30
  379. data/lib/tzinfo/definitions/Asia/Jayapura.rb +0 -22
  380. data/lib/tzinfo/definitions/Asia/Jerusalem.rb +0 -241
  381. data/lib/tzinfo/definitions/Asia/Kabul.rb +0 -20
  382. data/lib/tzinfo/definitions/Asia/Kamchatka.rb +0 -84
  383. data/lib/tzinfo/definitions/Asia/Karachi.rb +0 -32
  384. data/lib/tzinfo/definitions/Asia/Kashgar.rb +0 -13
  385. data/lib/tzinfo/definitions/Asia/Kathmandu.rb +0 -20
  386. data/lib/tzinfo/definitions/Asia/Katmandu.rb +0 -13
  387. data/lib/tzinfo/definitions/Asia/Khandyga.rb +0 -90
  388. data/lib/tzinfo/definitions/Asia/Kolkata.rb +0 -27
  389. data/lib/tzinfo/definitions/Asia/Krasnoyarsk.rb +0 -86
  390. data/lib/tzinfo/definitions/Asia/Kuala_Lumpur.rb +0 -13
  391. data/lib/tzinfo/definitions/Asia/Kuching.rb +0 -38
  392. data/lib/tzinfo/definitions/Asia/Kuwait.rb +0 -13
  393. data/lib/tzinfo/definitions/Asia/Macao.rb +0 -13
  394. data/lib/tzinfo/definitions/Asia/Macau.rb +0 -91
  395. data/lib/tzinfo/definitions/Asia/Magadan.rb +0 -87
  396. data/lib/tzinfo/definitions/Asia/Makassar.rb +0 -24
  397. data/lib/tzinfo/definitions/Asia/Manila.rb +0 -30
  398. data/lib/tzinfo/definitions/Asia/Muscat.rb +0 -13
  399. data/lib/tzinfo/definitions/Asia/Nicosia.rb +0 -217
  400. data/lib/tzinfo/definitions/Asia/Novokuznetsk.rb +0 -84
  401. data/lib/tzinfo/definitions/Asia/Novosibirsk.rb +0 -87
  402. data/lib/tzinfo/definitions/Asia/Omsk.rb +0 -86
  403. data/lib/tzinfo/definitions/Asia/Oral.rb +0 -73
  404. data/lib/tzinfo/definitions/Asia/Phnom_Penh.rb +0 -13
  405. data/lib/tzinfo/definitions/Asia/Pontianak.rb +0 -30
  406. data/lib/tzinfo/definitions/Asia/Pyongyang.rb +0 -24
  407. data/lib/tzinfo/definitions/Asia/Qatar.rb +0 -20
  408. data/lib/tzinfo/definitions/Asia/Qostanay.rb +0 -72
  409. data/lib/tzinfo/definitions/Asia/Qyzylorda.rb +0 -73
  410. data/lib/tzinfo/definitions/Asia/Rangoon.rb +0 -13
  411. data/lib/tzinfo/definitions/Asia/Riyadh.rb +0 -18
  412. data/lib/tzinfo/definitions/Asia/Saigon.rb +0 -13
  413. data/lib/tzinfo/definitions/Asia/Sakhalin.rb +0 -87
  414. data/lib/tzinfo/definitions/Asia/Samarkand.rb +0 -44
  415. data/lib/tzinfo/definitions/Asia/Seoul.rb +0 -50
  416. data/lib/tzinfo/definitions/Asia/Shanghai.rb +0 -47
  417. data/lib/tzinfo/definitions/Asia/Singapore.rb +0 -31
  418. data/lib/tzinfo/definitions/Asia/Srednekolymsk.rb +0 -86
  419. data/lib/tzinfo/definitions/Asia/Taipei.rb +0 -60
  420. data/lib/tzinfo/definitions/Asia/Tashkent.rb +0 -44
  421. data/lib/tzinfo/definitions/Asia/Tbilisi.rb +0 -73
  422. data/lib/tzinfo/definitions/Asia/Tehran.rb +0 -92
  423. data/lib/tzinfo/definitions/Asia/Tel_Aviv.rb +0 -13
  424. data/lib/tzinfo/definitions/Asia/Thimbu.rb +0 -13
  425. data/lib/tzinfo/definitions/Asia/Thimphu.rb +0 -20
  426. data/lib/tzinfo/definitions/Asia/Tokyo.rb +0 -27
  427. data/lib/tzinfo/definitions/Asia/Tomsk.rb +0 -87
  428. data/lib/tzinfo/definitions/Asia/Ujung_Pandang.rb +0 -13
  429. data/lib/tzinfo/definitions/Asia/Ulaanbaatar.rb +0 -69
  430. data/lib/tzinfo/definitions/Asia/Ulan_Bator.rb +0 -13
  431. data/lib/tzinfo/definitions/Asia/Urumqi.rb +0 -18
  432. data/lib/tzinfo/definitions/Asia/Ust__m__Nera.rb +0 -89
  433. data/lib/tzinfo/definitions/Asia/Vientiane.rb +0 -13
  434. data/lib/tzinfo/definitions/Asia/Vladivostok.rb +0 -86
  435. data/lib/tzinfo/definitions/Asia/Yakutsk.rb +0 -86
  436. data/lib/tzinfo/definitions/Asia/Yangon.rb +0 -23
  437. data/lib/tzinfo/definitions/Asia/Yekaterinburg.rb +0 -88
  438. data/lib/tzinfo/definitions/Asia/Yerevan.rb +0 -82
  439. data/lib/tzinfo/definitions/Atlantic/Azores.rb +0 -318
  440. data/lib/tzinfo/definitions/Atlantic/Bermuda.rb +0 -248
  441. data/lib/tzinfo/definitions/Atlantic/Canary.rb +0 -209
  442. data/lib/tzinfo/definitions/Atlantic/Cape_Verde.rb +0 -23
  443. data/lib/tzinfo/definitions/Atlantic/Faeroe.rb +0 -13
  444. data/lib/tzinfo/definitions/Atlantic/Faroe.rb +0 -205
  445. data/lib/tzinfo/definitions/Atlantic/Jan_Mayen.rb +0 -13
  446. data/lib/tzinfo/definitions/Atlantic/Madeira.rb +0 -317
  447. data/lib/tzinfo/definitions/Atlantic/Reykjavik.rb +0 -13
  448. data/lib/tzinfo/definitions/Atlantic/South_Georgia.rb +0 -18
  449. data/lib/tzinfo/definitions/Atlantic/St_Helena.rb +0 -13
  450. data/lib/tzinfo/definitions/Atlantic/Stanley.rb +0 -91
  451. data/lib/tzinfo/definitions/Australia/ACT.rb +0 -13
  452. data/lib/tzinfo/definitions/Australia/Adelaide.rb +0 -233
  453. data/lib/tzinfo/definitions/Australia/Brisbane.rb +0 -35
  454. data/lib/tzinfo/definitions/Australia/Broken_Hill.rb +0 -235
  455. data/lib/tzinfo/definitions/Australia/Canberra.rb +0 -13
  456. data/lib/tzinfo/definitions/Australia/Currie.rb +0 -13
  457. data/lib/tzinfo/definitions/Australia/Darwin.rb +0 -29
  458. data/lib/tzinfo/definitions/Australia/Eucla.rb +0 -37
  459. data/lib/tzinfo/definitions/Australia/Hobart.rb +0 -243
  460. data/lib/tzinfo/definitions/Australia/LHI.rb +0 -13
  461. data/lib/tzinfo/definitions/Australia/Lindeman.rb +0 -39
  462. data/lib/tzinfo/definitions/Australia/Lord_Howe.rb +0 -206
  463. data/lib/tzinfo/definitions/Australia/Melbourne.rb +0 -231
  464. data/lib/tzinfo/definitions/Australia/NSW.rb +0 -13
  465. data/lib/tzinfo/definitions/Australia/North.rb +0 -13
  466. data/lib/tzinfo/definitions/Australia/Perth.rb +0 -37
  467. data/lib/tzinfo/definitions/Australia/Queensland.rb +0 -13
  468. data/lib/tzinfo/definitions/Australia/South.rb +0 -13
  469. data/lib/tzinfo/definitions/Australia/Sydney.rb +0 -231
  470. data/lib/tzinfo/definitions/Australia/Tasmania.rb +0 -13
  471. data/lib/tzinfo/definitions/Australia/Victoria.rb +0 -13
  472. data/lib/tzinfo/definitions/Australia/West.rb +0 -13
  473. data/lib/tzinfo/definitions/Australia/Yancowinna.rb +0 -13
  474. data/lib/tzinfo/definitions/Brazil/Acre.rb +0 -13
  475. data/lib/tzinfo/definitions/Brazil/DeNoronha.rb +0 -13
  476. data/lib/tzinfo/definitions/Brazil/East.rb +0 -13
  477. data/lib/tzinfo/definitions/Brazil/West.rb +0 -13
  478. data/lib/tzinfo/definitions/CET.rb +0 -223
  479. data/lib/tzinfo/definitions/CST6CDT.rb +0 -238
  480. data/lib/tzinfo/definitions/Canada/Atlantic.rb +0 -13
  481. data/lib/tzinfo/definitions/Canada/Central.rb +0 -13
  482. data/lib/tzinfo/definitions/Canada/Eastern.rb +0 -13
  483. data/lib/tzinfo/definitions/Canada/Mountain.rb +0 -13
  484. data/lib/tzinfo/definitions/Canada/Newfoundland.rb +0 -13
  485. data/lib/tzinfo/definitions/Canada/Pacific.rb +0 -13
  486. data/lib/tzinfo/definitions/Canada/Saskatchewan.rb +0 -13
  487. data/lib/tzinfo/definitions/Canada/Yukon.rb +0 -13
  488. data/lib/tzinfo/definitions/Chile/Continental.rb +0 -13
  489. data/lib/tzinfo/definitions/Chile/EasterIsland.rb +0 -13
  490. data/lib/tzinfo/definitions/Cuba.rb +0 -11
  491. data/lib/tzinfo/definitions/EET.rb +0 -209
  492. data/lib/tzinfo/definitions/EST.rb +0 -14
  493. data/lib/tzinfo/definitions/EST5EDT.rb +0 -238
  494. data/lib/tzinfo/definitions/Egypt.rb +0 -11
  495. data/lib/tzinfo/definitions/Eire.rb +0 -11
  496. data/lib/tzinfo/definitions/Etc/GMT.rb +0 -16
  497. data/lib/tzinfo/definitions/Etc/GMT0.rb +0 -13
  498. data/lib/tzinfo/definitions/Etc/GMT__m__0.rb +0 -13
  499. data/lib/tzinfo/definitions/Etc/GMT__m__1.rb +0 -16
  500. data/lib/tzinfo/definitions/Etc/GMT__m__10.rb +0 -16
  501. data/lib/tzinfo/definitions/Etc/GMT__m__11.rb +0 -16
  502. data/lib/tzinfo/definitions/Etc/GMT__m__12.rb +0 -16
  503. data/lib/tzinfo/definitions/Etc/GMT__m__13.rb +0 -16
  504. data/lib/tzinfo/definitions/Etc/GMT__m__14.rb +0 -16
  505. data/lib/tzinfo/definitions/Etc/GMT__m__2.rb +0 -16
  506. data/lib/tzinfo/definitions/Etc/GMT__m__3.rb +0 -16
  507. data/lib/tzinfo/definitions/Etc/GMT__m__4.rb +0 -16
  508. data/lib/tzinfo/definitions/Etc/GMT__m__5.rb +0 -16
  509. data/lib/tzinfo/definitions/Etc/GMT__m__6.rb +0 -16
  510. data/lib/tzinfo/definitions/Etc/GMT__m__7.rb +0 -16
  511. data/lib/tzinfo/definitions/Etc/GMT__m__8.rb +0 -16
  512. data/lib/tzinfo/definitions/Etc/GMT__m__9.rb +0 -16
  513. data/lib/tzinfo/definitions/Etc/GMT__p__0.rb +0 -13
  514. data/lib/tzinfo/definitions/Etc/GMT__p__1.rb +0 -16
  515. data/lib/tzinfo/definitions/Etc/GMT__p__10.rb +0 -16
  516. data/lib/tzinfo/definitions/Etc/GMT__p__11.rb +0 -16
  517. data/lib/tzinfo/definitions/Etc/GMT__p__12.rb +0 -16
  518. data/lib/tzinfo/definitions/Etc/GMT__p__2.rb +0 -16
  519. data/lib/tzinfo/definitions/Etc/GMT__p__3.rb +0 -16
  520. data/lib/tzinfo/definitions/Etc/GMT__p__4.rb +0 -16
  521. data/lib/tzinfo/definitions/Etc/GMT__p__5.rb +0 -16
  522. data/lib/tzinfo/definitions/Etc/GMT__p__6.rb +0 -16
  523. data/lib/tzinfo/definitions/Etc/GMT__p__7.rb +0 -16
  524. data/lib/tzinfo/definitions/Etc/GMT__p__8.rb +0 -16
  525. data/lib/tzinfo/definitions/Etc/GMT__p__9.rb +0 -16
  526. data/lib/tzinfo/definitions/Etc/Greenwich.rb +0 -13
  527. data/lib/tzinfo/definitions/Etc/UCT.rb +0 -13
  528. data/lib/tzinfo/definitions/Etc/UTC.rb +0 -16
  529. data/lib/tzinfo/definitions/Etc/Universal.rb +0 -13
  530. data/lib/tzinfo/definitions/Etc/Zulu.rb +0 -13
  531. data/lib/tzinfo/definitions/Europe/Amsterdam.rb +0 -13
  532. data/lib/tzinfo/definitions/Europe/Andorra.rb +0 -199
  533. data/lib/tzinfo/definitions/Europe/Astrakhan.rb +0 -84
  534. data/lib/tzinfo/definitions/Europe/Athens.rb +0 -231
  535. data/lib/tzinfo/definitions/Europe/Belfast.rb +0 -13
  536. data/lib/tzinfo/definitions/Europe/Belgrade.rb +0 -209
  537. data/lib/tzinfo/definitions/Europe/Berlin.rb +0 -234
  538. data/lib/tzinfo/definitions/Europe/Bratislava.rb +0 -13
  539. data/lib/tzinfo/definitions/Europe/Brussels.rb +0 -278
  540. data/lib/tzinfo/definitions/Europe/Bucharest.rb +0 -227
  541. data/lib/tzinfo/definitions/Europe/Budapest.rb +0 -241
  542. data/lib/tzinfo/definitions/Europe/Busingen.rb +0 -13
  543. data/lib/tzinfo/definitions/Europe/Chisinau.rb +0 -237
  544. data/lib/tzinfo/definitions/Europe/Copenhagen.rb +0 -13
  545. data/lib/tzinfo/definitions/Europe/Dublin.rb +0 -322
  546. data/lib/tzinfo/definitions/Europe/Gibraltar.rb +0 -291
  547. data/lib/tzinfo/definitions/Europe/Guernsey.rb +0 -13
  548. data/lib/tzinfo/definitions/Europe/Helsinki.rb +0 -209
  549. data/lib/tzinfo/definitions/Europe/Isle_of_Man.rb +0 -13
  550. data/lib/tzinfo/definitions/Europe/Istanbul.rb +0 -136
  551. data/lib/tzinfo/definitions/Europe/Jersey.rb +0 -13
  552. data/lib/tzinfo/definitions/Europe/Kaliningrad.rb +0 -103
  553. data/lib/tzinfo/definitions/Europe/Kiev.rb +0 -13
  554. data/lib/tzinfo/definitions/Europe/Kirov.rb +0 -85
  555. data/lib/tzinfo/definitions/Europe/Kyiv.rb +0 -216
  556. data/lib/tzinfo/definitions/Europe/Lisbon.rb +0 -316
  557. data/lib/tzinfo/definitions/Europe/Ljubljana.rb +0 -13
  558. data/lib/tzinfo/definitions/Europe/London.rb +0 -334
  559. data/lib/tzinfo/definitions/Europe/Luxembourg.rb +0 -13
  560. data/lib/tzinfo/definitions/Europe/Madrid.rb +0 -255
  561. data/lib/tzinfo/definitions/Europe/Malta.rb +0 -259
  562. data/lib/tzinfo/definitions/Europe/Mariehamn.rb +0 -13
  563. data/lib/tzinfo/definitions/Europe/Minsk.rb +0 -92
  564. data/lib/tzinfo/definitions/Europe/Monaco.rb +0 -13
  565. data/lib/tzinfo/definitions/Europe/Moscow.rb +0 -104
  566. data/lib/tzinfo/definitions/Europe/Nicosia.rb +0 -13
  567. data/lib/tzinfo/definitions/Europe/Oslo.rb +0 -13
  568. data/lib/tzinfo/definitions/Europe/Paris.rb +0 -278
  569. data/lib/tzinfo/definitions/Europe/Podgorica.rb +0 -13
  570. data/lib/tzinfo/definitions/Europe/Prague.rb +0 -236
  571. data/lib/tzinfo/definitions/Europe/Riga.rb +0 -222
  572. data/lib/tzinfo/definitions/Europe/Rome.rb +0 -261
  573. data/lib/tzinfo/definitions/Europe/Samara.rb +0 -85
  574. data/lib/tzinfo/definitions/Europe/San_Marino.rb +0 -13
  575. data/lib/tzinfo/definitions/Europe/Sarajevo.rb +0 -13
  576. data/lib/tzinfo/definitions/Europe/Saratov.rb +0 -84
  577. data/lib/tzinfo/definitions/Europe/Simferopol.rb +0 -99
  578. data/lib/tzinfo/definitions/Europe/Skopje.rb +0 -13
  579. data/lib/tzinfo/definitions/Europe/Sofia.rb +0 -219
  580. data/lib/tzinfo/definitions/Europe/Stockholm.rb +0 -13
  581. data/lib/tzinfo/definitions/Europe/Tallinn.rb +0 -218
  582. data/lib/tzinfo/definitions/Europe/Tirane.rb +0 -223
  583. data/lib/tzinfo/definitions/Europe/Tiraspol.rb +0 -13
  584. data/lib/tzinfo/definitions/Europe/Ulyanovsk.rb +0 -88
  585. data/lib/tzinfo/definitions/Europe/Uzhgorod.rb +0 -13
  586. data/lib/tzinfo/definitions/Europe/Vaduz.rb +0 -13
  587. data/lib/tzinfo/definitions/Europe/Vatican.rb +0 -13
  588. data/lib/tzinfo/definitions/Europe/Vienna.rb +0 -229
  589. data/lib/tzinfo/definitions/Europe/Vilnius.rb +0 -216
  590. data/lib/tzinfo/definitions/Europe/Volgograd.rb +0 -87
  591. data/lib/tzinfo/definitions/Europe/Warsaw.rb +0 -258
  592. data/lib/tzinfo/definitions/Europe/Zagreb.rb +0 -13
  593. data/lib/tzinfo/definitions/Europe/Zaporozhye.rb +0 -13
  594. data/lib/tzinfo/definitions/Europe/Zurich.rb +0 -211
  595. data/lib/tzinfo/definitions/Factory.rb +0 -14
  596. data/lib/tzinfo/definitions/GB.rb +0 -11
  597. data/lib/tzinfo/definitions/GB__m__Eire.rb +0 -11
  598. data/lib/tzinfo/definitions/GMT.rb +0 -11
  599. data/lib/tzinfo/definitions/GMT0.rb +0 -11
  600. data/lib/tzinfo/definitions/GMT__m__0.rb +0 -11
  601. data/lib/tzinfo/definitions/GMT__p__0.rb +0 -11
  602. data/lib/tzinfo/definitions/Greenwich.rb +0 -11
  603. data/lib/tzinfo/definitions/HST.rb +0 -14
  604. data/lib/tzinfo/definitions/Hongkong.rb +0 -11
  605. data/lib/tzinfo/definitions/Iceland.rb +0 -11
  606. data/lib/tzinfo/definitions/Indian/Antananarivo.rb +0 -13
  607. data/lib/tzinfo/definitions/Indian/Chagos.rb +0 -20
  608. data/lib/tzinfo/definitions/Indian/Christmas.rb +0 -13
  609. data/lib/tzinfo/definitions/Indian/Cocos.rb +0 -13
  610. data/lib/tzinfo/definitions/Indian/Comoro.rb +0 -13
  611. data/lib/tzinfo/definitions/Indian/Kerguelen.rb +0 -13
  612. data/lib/tzinfo/definitions/Indian/Mahe.rb +0 -13
  613. data/lib/tzinfo/definitions/Indian/Maldives.rb +0 -20
  614. data/lib/tzinfo/definitions/Indian/Mauritius.rb +0 -23
  615. data/lib/tzinfo/definitions/Indian/Mayotte.rb +0 -13
  616. data/lib/tzinfo/definitions/Indian/Reunion.rb +0 -13
  617. data/lib/tzinfo/definitions/Iran.rb +0 -11
  618. data/lib/tzinfo/definitions/Israel.rb +0 -11
  619. data/lib/tzinfo/definitions/Jamaica.rb +0 -11
  620. data/lib/tzinfo/definitions/Japan.rb +0 -11
  621. data/lib/tzinfo/definitions/Kwajalein.rb +0 -11
  622. data/lib/tzinfo/definitions/Libya.rb +0 -11
  623. data/lib/tzinfo/definitions/MET.rb +0 -223
  624. data/lib/tzinfo/definitions/MST.rb +0 -14
  625. data/lib/tzinfo/definitions/MST7MDT.rb +0 -238
  626. data/lib/tzinfo/definitions/Mexico/BajaNorte.rb +0 -13
  627. data/lib/tzinfo/definitions/Mexico/BajaSur.rb +0 -13
  628. data/lib/tzinfo/definitions/Mexico/General.rb +0 -13
  629. data/lib/tzinfo/definitions/NZ.rb +0 -11
  630. data/lib/tzinfo/definitions/NZ__m__CHAT.rb +0 -11
  631. data/lib/tzinfo/definitions/Navajo.rb +0 -11
  632. data/lib/tzinfo/definitions/PRC.rb +0 -11
  633. data/lib/tzinfo/definitions/PST8PDT.rb +0 -238
  634. data/lib/tzinfo/definitions/Pacific/Apia.rb +0 -48
  635. data/lib/tzinfo/definitions/Pacific/Auckland.rb +0 -248
  636. data/lib/tzinfo/definitions/Pacific/Bougainville.rb +0 -25
  637. data/lib/tzinfo/definitions/Pacific/Chatham.rb +0 -219
  638. data/lib/tzinfo/definitions/Pacific/Chuuk.rb +0 -13
  639. data/lib/tzinfo/definitions/Pacific/Easter.rb +0 -231
  640. data/lib/tzinfo/definitions/Pacific/Efate.rb +0 -41
  641. data/lib/tzinfo/definitions/Pacific/Enderbury.rb +0 -13
  642. data/lib/tzinfo/definitions/Pacific/Fakaofo.rb +0 -20
  643. data/lib/tzinfo/definitions/Pacific/Fiji.rb +0 -47
  644. data/lib/tzinfo/definitions/Pacific/Funafuti.rb +0 -13
  645. data/lib/tzinfo/definitions/Pacific/Galapagos.rb +0 -23
  646. data/lib/tzinfo/definitions/Pacific/Gambier.rb +0 -18
  647. data/lib/tzinfo/definitions/Pacific/Guadalcanal.rb +0 -18
  648. data/lib/tzinfo/definitions/Pacific/Guam.rb +0 -42
  649. data/lib/tzinfo/definitions/Pacific/Honolulu.rb +0 -28
  650. data/lib/tzinfo/definitions/Pacific/Johnston.rb +0 -13
  651. data/lib/tzinfo/definitions/Pacific/Kanton.rb +0 -22
  652. data/lib/tzinfo/definitions/Pacific/Kiritimati.rb +0 -22
  653. data/lib/tzinfo/definitions/Pacific/Kosrae.rb +0 -30
  654. data/lib/tzinfo/definitions/Pacific/Kwajalein.rb +0 -27
  655. data/lib/tzinfo/definitions/Pacific/Majuro.rb +0 -13
  656. data/lib/tzinfo/definitions/Pacific/Marquesas.rb +0 -18
  657. data/lib/tzinfo/definitions/Pacific/Midway.rb +0 -13
  658. data/lib/tzinfo/definitions/Pacific/Nauru.rb +0 -23
  659. data/lib/tzinfo/definitions/Pacific/Niue.rb +0 -20
  660. data/lib/tzinfo/definitions/Pacific/Norfolk.rb +0 -134
  661. data/lib/tzinfo/definitions/Pacific/Noumea.rb +0 -25
  662. data/lib/tzinfo/definitions/Pacific/Pago_Pago.rb +0 -20
  663. data/lib/tzinfo/definitions/Pacific/Palau.rb +0 -20
  664. data/lib/tzinfo/definitions/Pacific/Pitcairn.rb +0 -20
  665. data/lib/tzinfo/definitions/Pacific/Pohnpei.rb +0 -13
  666. data/lib/tzinfo/definitions/Pacific/Ponape.rb +0 -13
  667. data/lib/tzinfo/definitions/Pacific/Port_Moresby.rb +0 -20
  668. data/lib/tzinfo/definitions/Pacific/Rarotonga.rb +0 -48
  669. data/lib/tzinfo/definitions/Pacific/Saipan.rb +0 -13
  670. data/lib/tzinfo/definitions/Pacific/Samoa.rb +0 -13
  671. data/lib/tzinfo/definitions/Pacific/Tahiti.rb +0 -18
  672. data/lib/tzinfo/definitions/Pacific/Tarawa.rb +0 -18
  673. data/lib/tzinfo/definitions/Pacific/Tongatapu.rb +0 -29
  674. data/lib/tzinfo/definitions/Pacific/Truk.rb +0 -13
  675. data/lib/tzinfo/definitions/Pacific/Wake.rb +0 -13
  676. data/lib/tzinfo/definitions/Pacific/Wallis.rb +0 -13
  677. data/lib/tzinfo/definitions/Pacific/Yap.rb +0 -13
  678. data/lib/tzinfo/definitions/Poland.rb +0 -11
  679. data/lib/tzinfo/definitions/Portugal.rb +0 -11
  680. data/lib/tzinfo/definitions/ROC.rb +0 -11
  681. data/lib/tzinfo/definitions/ROK.rb +0 -11
  682. data/lib/tzinfo/definitions/Singapore.rb +0 -11
  683. data/lib/tzinfo/definitions/Turkey.rb +0 -11
  684. data/lib/tzinfo/definitions/UCT.rb +0 -11
  685. data/lib/tzinfo/definitions/US/Alaska.rb +0 -13
  686. data/lib/tzinfo/definitions/US/Aleutian.rb +0 -13
  687. data/lib/tzinfo/definitions/US/Arizona.rb +0 -13
  688. data/lib/tzinfo/definitions/US/Central.rb +0 -13
  689. data/lib/tzinfo/definitions/US/East__m__Indiana.rb +0 -13
  690. data/lib/tzinfo/definitions/US/Eastern.rb +0 -13
  691. data/lib/tzinfo/definitions/US/Hawaii.rb +0 -13
  692. data/lib/tzinfo/definitions/US/Indiana__m__Starke.rb +0 -13
  693. data/lib/tzinfo/definitions/US/Michigan.rb +0 -13
  694. data/lib/tzinfo/definitions/US/Mountain.rb +0 -13
  695. data/lib/tzinfo/definitions/US/Pacific.rb +0 -13
  696. data/lib/tzinfo/definitions/US/Samoa.rb +0 -13
  697. data/lib/tzinfo/definitions/UTC.rb +0 -11
  698. data/lib/tzinfo/definitions/Universal.rb +0 -11
  699. data/lib/tzinfo/definitions/WET.rb +0 -209
  700. data/lib/tzinfo/definitions/W__m__SU.rb +0 -11
  701. data/lib/tzinfo/definitions/Zulu.rb +0 -11
  702. data/lib/tzinfo/indexes/countries.rb +0 -924
  703. data/lib/tzinfo/indexes/timezones.rb +0 -607
  704. data/lib/tzinfo/tzdataparser.rb +0 -1287
  705. data/test/in_load_path/payload.rb +0 -1
  706. data/tzinfo.gemspec +0 -19
@@ -1,20 +1,60 @@
1
- $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
- require 'test/unit'
3
- require 'tzinfo'
1
+ #--
2
+ # Copyright (c) 2006-2013 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
23
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'test_utils')
24
+ require 'rational'
4
25
 
5
26
  include TZInfo
6
27
 
7
28
  class TCTimeOrDateTime < Test::Unit::TestCase
8
29
  def test_initialize_time
9
- TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3))
30
+ assert_nothing_raised do
31
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000))
32
+ end
10
33
  end
11
34
 
12
35
  def test_initialize_time_local
13
- tdt = TimeOrDateTime.new(Time.local(2006, 3, 24, 15, 32, 3))
14
- assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), tdt.to_time)
36
+ tdt = TimeOrDateTime.new(Time.local(2006, 3, 24, 15, 32, 3))
37
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), tdt.to_time)
38
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), tdt.to_orig)
15
39
  assert_equal('UTC', tdt.to_time.zone)
16
40
  end
17
41
 
42
+ def test_intialize_time_local_usec
43
+ tdt = TimeOrDateTime.new(Time.local(2006, 3, 24, 15, 32, 3, 721123))
44
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123), tdt.to_time)
45
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123), tdt.to_orig)
46
+ assert_equal('UTC', tdt.to_time.zone)
47
+ end
48
+
49
+ if Time.utc(2013, 1, 1).respond_to?(:nsec)
50
+ def test_initialize_time_local_nsec
51
+ tdt = TimeOrDateTime.new(Time.local(2006, 3, 24, 15, 32, 3, 721123 + Rational(456,1000)))
52
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123 + Rational(456,1000)), tdt.to_time)
53
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123 + Rational(456,1000)), tdt.to_orig)
54
+ assert_equal('UTC', tdt.to_time.zone)
55
+ end
56
+ end
57
+
18
58
  def test_initialize_datetime_offset
19
59
  tdt = TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3).new_offset(Rational(5, 24)))
20
60
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3), tdt.to_datetime)
@@ -22,31 +62,78 @@ class TCTimeOrDateTime < Test::Unit::TestCase
22
62
  end
23
63
 
24
64
  def test_initialize_datetime
25
- TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3))
65
+ assert_nothing_raised do
66
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3))
67
+ end
26
68
  end
27
69
 
28
- def test_initialize_int
29
- TimeOrDateTime.new(1143214323)
70
+ def test_initialize_timestamp
71
+ assert_nothing_raised do
72
+ TimeOrDateTime.new(1143214323)
73
+ end
30
74
  end
31
75
 
32
- def test_initialize_string
33
- TimeOrDateTime.new('1143214323')
76
+ def test_initialize_timestamp_string
77
+ assert_nothing_raised do
78
+ TimeOrDateTime.new('1143214323')
79
+ end
80
+ end
81
+
82
+ unless RubyCoreSupport.time_supports_64bit
83
+ # Only define this test for non-64bit platforms. Some 64-bit Rubies support
84
+ # greater than 64-bit, others support less than the full range. In either
85
+ # case, times at the far ends of the range are so far in the future or past
86
+ # that they are not going to turn up in timezone data.
87
+ def test_initialize_timestamp_supported_range
88
+ assert_equal((2 ** 31) - 1, TimeOrDateTime.new((2 ** 31) - 1).to_orig)
89
+
90
+ assert_raises(RangeError) do
91
+ TimeOrDateTime.new(2 ** 31)
92
+ end
93
+
94
+ if RubyCoreSupport.time_supports_negative
95
+ assert_equal(-(2 ** 31), TimeOrDateTime.new(-(2 ** 31)).to_orig)
96
+
97
+ assert_raises(RangeError) do
98
+ TimeOrDateTime.new(-(2 ** 31) - 1)
99
+ end
100
+ else
101
+ assert_equal(0, TimeOrDateTime.new(0).to_orig)
102
+
103
+ assert_raises(RangeError) do
104
+ TimeOrDateTime.new(-1)
105
+ end
106
+ end
107
+ end
34
108
  end
35
109
 
36
110
  def test_to_time
37
111
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3),
38
112
  TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).to_time)
113
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123),
114
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721123)).to_time)
39
115
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3),
40
116
  TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).to_time)
117
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123),
118
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123, 1000000))).to_time)
41
119
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3),
42
120
  TimeOrDateTime.new(1143214323).to_time)
43
121
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3),
44
122
  TimeOrDateTime.new('1143214323').to_time)
45
123
  end
46
124
 
125
+ def test_to_time_trunc_to_usec
126
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721123),
127
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(7211239, 10000000))).to_time)
128
+ end
129
+
47
130
  def test_to_datetime
48
131
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3),
49
132
  TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).to_datetime)
133
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123, 1000000)),
134
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721123)).to_datetime)
135
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123, 1000000)),
136
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123, 1000000))).to_datetime)
50
137
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3),
51
138
  TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).to_datetime)
52
139
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3),
@@ -55,11 +142,29 @@ class TCTimeOrDateTime < Test::Unit::TestCase
55
142
  TimeOrDateTime.new('1143214323').to_datetime)
56
143
  end
57
144
 
145
+ def test_to_datetime_ruby186_bug
146
+ # DateTime.new in Ruby 1.8.6 won't allow a time to be specified using
147
+ # fractions of a second that is within the 60th second of a minute.
148
+
149
+ # TimeOrDateTime has a workaround for this issue.
150
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 59) + Rational(721123, 86400000000),
151
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 59, 721123)).to_datetime)
152
+ end
153
+
154
+ def test_to_datetime_trunc_to_usec
155
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123, 1000000)),
156
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721123 + Rational(9, 10))).to_datetime)
157
+ end
158
+
58
159
  def test_to_i
59
160
  assert_equal(1143214323,
60
161
  TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).to_i)
162
+ assert_equal(1143214323,
163
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).to_i)
61
164
  assert_equal(1143214323,
62
165
  TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).to_i)
166
+ assert_equal(1143214323,
167
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).to_i)
63
168
  assert_equal(1143214323,
64
169
  TimeOrDateTime.new(1143214323).to_i)
65
170
  assert_equal(1143214323,
@@ -69,8 +174,12 @@ class TCTimeOrDateTime < Test::Unit::TestCase
69
174
  def test_to_orig
70
175
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3),
71
176
  TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).to_orig)
177
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721000),
178
+ TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).to_orig)
72
179
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3),
73
180
  TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).to_orig)
181
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)),
182
+ TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).to_orig)
74
183
  assert_equal(1143214323,
75
184
  TimeOrDateTime.new(1143214323).to_orig)
76
185
  assert_equal(1143214323,
@@ -136,6 +245,20 @@ class TCTimeOrDateTime < Test::Unit::TestCase
136
245
  assert_equal(3, TimeOrDateTime.new(1143214323).sec)
137
246
  end
138
247
 
248
+ def test_usec
249
+ assert_equal(0, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).usec)
250
+ assert_equal(721123, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721123)).usec)
251
+ assert_equal(0, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).usec)
252
+ assert_equal(721123, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721123,1000000))).usec)
253
+ assert_equal(0, TimeOrDateTime.new(1143214323).usec)
254
+ end
255
+
256
+ def test_usec_after_to_i
257
+ val = TimeOrDateTime.new(Time.utc(2013, 2, 4, 22, 10, 33, 598000))
258
+ assert_equal(Time.utc(2013, 2, 4, 22, 10, 33).to_i, val.to_i)
259
+ assert_equal(598000, val.usec)
260
+ end
261
+
139
262
  def test_compare_timeordatetime_time
140
263
  assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 4)))
141
264
  assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) <=> TimeOrDateTime.new(Time.utc(2007, 3, 24, 15, 32, 3)))
@@ -154,6 +277,13 @@ class TCTimeOrDateTime < Test::Unit::TestCase
154
277
  assert_equal(0, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)))
155
278
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 2)))
156
279
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(Time.utc(2005, 3, 24, 15, 32, 3)))
280
+
281
+ assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500001)))
282
+ assert_equal(0, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)))
283
+ assert_equal(1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 499999)))
284
+ assert_equal(-1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500001)))
285
+ assert_equal(0, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)))
286
+ assert_equal(1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 499999)))
157
287
  end
158
288
 
159
289
  def test_compare_timeordatetime_datetime
@@ -174,6 +304,13 @@ class TCTimeOrDateTime < Test::Unit::TestCase
174
304
  assert_equal(0, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)))
175
305
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 2)))
176
306
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> TimeOrDateTime.new(DateTime.new(1960, 3, 24, 15, 32, 3)))
307
+
308
+ assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500001, 1000000))))
309
+ assert_equal(0, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))))
310
+ assert_equal(1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(499999, 1000000))))
311
+ assert_equal(-1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500001, 1000000))))
312
+ assert_equal(0, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))))
313
+ assert_equal(1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(499999, 1000000))))
177
314
  end
178
315
 
179
316
  def test_compare_timeordatetime_timestamp
@@ -214,6 +351,13 @@ class TCTimeOrDateTime < Test::Unit::TestCase
214
351
  assert_equal(0, TimeOrDateTime.new(1143214323) <=> Time.utc(2006, 3, 24, 15, 32, 3))
215
352
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> Time.utc(2006, 3, 24, 15, 32, 2))
216
353
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> Time.utc(2005, 3, 24, 15, 32, 3))
354
+
355
+ assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> Time.utc(2006, 3, 24, 15, 32, 3, 500001))
356
+ assert_equal(0, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> Time.utc(2006, 3, 24, 15, 32, 3, 500000))
357
+ assert_equal(1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> Time.utc(2006, 3, 24, 15, 32, 3, 499999))
358
+ assert_equal(-1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> Time.utc(2006, 3, 24, 15, 32, 3, 500001))
359
+ assert_equal(0, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> Time.utc(2006, 3, 24, 15, 32, 3, 500000))
360
+ assert_equal(1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> Time.utc(2006, 3, 24, 15, 32, 3, 499999))
217
361
  end
218
362
 
219
363
  def test_compare_datetime
@@ -234,6 +378,13 @@ class TCTimeOrDateTime < Test::Unit::TestCase
234
378
  assert_equal(0, TimeOrDateTime.new(1143214323) <=> DateTime.new(2006, 3, 24, 15, 32, 3))
235
379
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> DateTime.new(2006, 3, 24, 15, 32, 2))
236
380
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> DateTime.new(1960, 3, 24, 15, 32, 3))
381
+
382
+ assert_equal(-1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500001, 1000000)))
383
+ assert_equal(0, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000)))
384
+ assert_equal(1, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 500000)) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(499999, 1000000)))
385
+ assert_equal(-1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500001, 1000000)))
386
+ assert_equal(0, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000)))
387
+ assert_equal(1, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(500000, 1000000))) <=> DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(499999, 1000000)))
237
388
  end
238
389
 
239
390
  def test_compare_timestamp
@@ -276,12 +427,6 @@ class TCTimeOrDateTime < Test::Unit::TestCase
276
427
  assert_equal(1, TimeOrDateTime.new(1143214323) <=> '1111678323')
277
428
  end
278
429
 
279
- def test_compare_non_comparable
280
- assert_nil(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) <=> Object.new)
281
- assert_nil(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) <=> Object.new)
282
- assert_nil(TimeOrDateTime.new(1143214323) <=> Object.new)
283
- end
284
-
285
430
  def test_eql
286
431
  assert_equal(true, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3))))
287
432
  assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3))))
@@ -290,6 +435,11 @@ class TCTimeOrDateTime < Test::Unit::TestCase
290
435
  assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 4))))
291
436
  assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).eql?(Object.new))
292
437
 
438
+ assert_equal(true, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000))))
439
+ assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)))))
440
+ assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 722000))))
441
+ assert_equal(false, TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).eql?(Object.new))
442
+
293
443
  assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3))))
294
444
  assert_equal(true, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3))))
295
445
  assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(1143214323)))
@@ -297,6 +447,12 @@ class TCTimeOrDateTime < Test::Unit::TestCase
297
447
  assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 4))))
298
448
  assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).eql?(Object.new))
299
449
 
450
+ assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000))))
451
+ assert_equal(true, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)))))
452
+ assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(722, 1000)))))
453
+ assert_equal(false, TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).eql?(Object.new))
454
+
455
+
300
456
  assert_equal(false, TimeOrDateTime.new(1143214323).eql?(TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3))))
301
457
  assert_equal(false, TimeOrDateTime.new(1143214323).eql?(TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3))))
302
458
  assert_equal(true, TimeOrDateTime.new(1143214323).eql?(TimeOrDateTime.new(1143214323)))
@@ -314,41 +470,88 @@ class TCTimeOrDateTime < Test::Unit::TestCase
314
470
 
315
471
  def test_add
316
472
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) + 0).to_orig)
473
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) + 0).to_orig)
317
474
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) + 0).to_orig)
475
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) + 0).to_orig)
318
476
  assert_equal(1143214323, (TimeOrDateTime.new(1143214323) + 0).to_orig)
319
477
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 4), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) + 1).to_orig)
478
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 4, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) + 1).to_orig)
320
479
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) + 1).to_orig)
480
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) + 1).to_orig)
321
481
  assert_equal(1143214324, (TimeOrDateTime.new(1143214323) + 1).to_orig)
322
482
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 2), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) + (-1)).to_orig)
483
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 2, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) + (-1)).to_orig)
323
484
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) + (-1)).to_orig)
485
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) + (-1)).to_orig)
324
486
  assert_equal(1143214322, (TimeOrDateTime.new(1143214323) + (-1)).to_orig)
325
487
  end
326
488
 
327
489
  def test_subtract
328
490
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) - 0).to_orig)
491
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) - 0).to_orig)
329
492
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) - 0).to_orig)
493
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) - 0).to_orig)
330
494
  assert_equal(1143214323, (TimeOrDateTime.new(1143214323) - 0).to_orig)
331
495
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 2), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) - 1).to_orig)
496
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 2, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) - 1).to_orig)
332
497
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) - 1).to_orig)
498
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) - 1).to_orig)
333
499
  assert_equal(1143214322, (TimeOrDateTime.new(1143214323) - 1).to_orig)
334
500
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 4), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)) - (-1)).to_orig)
501
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 4, 721000), (TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)) - (-1)).to_orig)
335
502
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)) - (-1)).to_orig)
503
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4 + Rational(721, 1000)), (TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))) - (-1)).to_orig)
336
504
  assert_equal(1143214324, (TimeOrDateTime.new(1143214323) - (-1)).to_orig)
337
505
  end
338
506
 
339
507
  def test_add_with_convert
340
508
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 3), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).add_with_convert(0).to_orig)
509
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 3, 721000), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).add_with_convert(0).to_orig)
341
510
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).add_with_convert(0).to_orig)
511
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000)), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).add_with_convert(0).to_orig)
342
512
  assert_equal(1143214323, TimeOrDateTime.new(1143214323).add_with_convert(0).to_orig)
343
513
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 4), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).add_with_convert(1).to_orig)
514
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 4, 721000), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).add_with_convert(1).to_orig)
344
515
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).add_with_convert(1).to_orig)
516
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 4 + Rational(721, 1000)), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).add_with_convert(1).to_orig)
345
517
  assert_equal(1143214324, TimeOrDateTime.new(1143214323).add_with_convert(1).to_orig)
346
518
  assert_equal(Time.utc(2006, 3, 24, 15, 32, 2), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3)).add_with_convert(-1).to_orig)
519
+ assert_equal(Time.utc(2006, 3, 24, 15, 32, 2, 721000), TimeOrDateTime.new(Time.utc(2006, 3, 24, 15, 32, 3, 721000)).add_with_convert(-1).to_orig)
347
520
  assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3)).add_with_convert(-1).to_orig)
521
+ assert_equal(DateTime.new(2006, 3, 24, 15, 32, 2 + Rational(721, 1000)), TimeOrDateTime.new(DateTime.new(2006, 3, 24, 15, 32, 3 + Rational(721, 1000))).add_with_convert(-1).to_orig)
348
522
  assert_equal(1143214322, TimeOrDateTime.new(1143214323).add_with_convert(-1).to_orig)
349
523
 
350
- assert_equal(DateTime.new(1969, 12, 31, 23, 59, 59), TimeOrDateTime.new(Time.utc(1970, 1, 1, 0, 0, 0)).add_with_convert(-1).to_orig)
351
- assert_equal(DateTime.new(2038, 1, 19, 3, 14, 8), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 7)).add_with_convert(1).to_orig)
524
+ if RubyCoreSupport.time_supports_negative
525
+ assert_equal(Time.utc(1969, 12, 31, 23, 59, 59), TimeOrDateTime.new(Time.utc(1970, 1, 1, 0, 0, 0)).add_with_convert(-1).to_orig)
526
+ assert_equal(-1, TimeOrDateTime.new(0).add_with_convert(-1).to_orig)
527
+ assert_equal(Time.utc(1969, 12, 31, 23, 59, 59, 892000), TimeOrDateTime.new(Time.utc(1970, 1, 1, 0, 0, 0, 892000)).add_with_convert(-1).to_orig)
528
+
529
+ if RubyCoreSupport.time_supports_64bit
530
+ assert_equal(Time.utc(1901, 12, 13, 20, 45, 51), TimeOrDateTime.new(Time.utc(1901, 12, 13, 20, 45, 52)).add_with_convert(-1).to_orig)
531
+ assert_equal(-2147483649, TimeOrDateTime.new(-2147483648).add_with_convert(-1).to_orig)
532
+ assert_equal(Time.utc(1901, 12, 13, 20, 45, 51, 892000), TimeOrDateTime.new(Time.utc(1901, 12, 13, 20, 45, 52, 892000)).add_with_convert(-1).to_orig)
533
+ else
534
+ assert_equal(DateTime.new(1901, 12, 13, 20, 45, 51), TimeOrDateTime.new(Time.utc(1901, 12, 13, 20, 45, 52)).add_with_convert(-1).to_orig)
535
+ assert_equal(DateTime.new(1901, 12, 13, 20, 45, 51), TimeOrDateTime.new(-2147483648).add_with_convert(-1).to_orig)
536
+ assert_equal(DateTime.new(1901, 12, 13, 20, 45, 51 + Rational(892,1000)), TimeOrDateTime.new(Time.utc(1901, 12, 13, 20, 45, 52, 892000)).add_with_convert(-1).to_orig)
537
+ end
538
+ else
539
+ assert_equal(DateTime.new(1969, 12, 31, 23, 59, 59), TimeOrDateTime.new(Time.utc(1970, 1, 1, 0, 0, 0)).add_with_convert(-1).to_orig)
540
+ assert_equal(DateTime.new(1969, 12, 31, 23, 59, 59), TimeOrDateTime.new(0).add_with_convert(-1).to_orig)
541
+ assert_equal(RubyCoreSupport.datetime_new(1969, 12, 31, 23, 59, 59 + Rational(892,1000)), TimeOrDateTime.new(Time.utc(1970, 1, 1, 0, 0, 0, 892000)).add_with_convert(-1).to_orig)
542
+ end
543
+
544
+ if RubyCoreSupport.time_supports_64bit
545
+ assert_equal(Time.utc(2038, 1, 19, 3, 14, 8), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 7)).add_with_convert(1).to_orig)
546
+ assert_equal(2147483648, TimeOrDateTime.new(2147483647).add_with_convert(1).to_orig)
547
+ assert_equal(Time.utc(2038, 1, 19, 3, 14, 8, 892000), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 7, 892000)).add_with_convert(1).to_orig)
548
+ else
549
+ assert_equal(DateTime.new(2038, 1, 19, 3, 14, 8), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 7)).add_with_convert(1).to_orig)
550
+ assert_equal(DateTime.new(2038, 1, 19, 3, 14, 8), TimeOrDateTime.new(2147483647).add_with_convert(1).to_orig)
551
+ assert_equal(DateTime.new(2038, 1, 19, 3, 14, 8 + Rational(892,1000)), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 7, 892000)).add_with_convert(1).to_orig)
552
+
553
+ assert_equal(Time.utc(2038, 1, 19, 3, 14, 7, 892000), TimeOrDateTime.new(Time.utc(2038, 1, 19, 3, 14, 6, 892000)).add_with_convert(1).to_orig)
554
+ end
352
555
  end
353
556
 
354
557
  def test_wrap_time