1defmodule ZoneInfoParserTest do 2 use ExUnit.Case, async: true 3 alias Timex.Timezone.Local 4 5 @seconds1 :calendar.datetime_to_gregorian_seconds({{2014,3,24},{0,0,0}}) 6 @seconds2 :calendar.datetime_to_gregorian_seconds({{2014,2,24},{0,0,0}}) 7 8 test "parse_tzfile with TZIF v1" do 9 # TZIF Version 1 10 chicago = System.cwd |> Path.join("test/include/tzif/America/Chicago") 11 assert {:ok, "CDT"} = chicago |> File.read! |> Local.parse_tzfile(@seconds1) 12 assert {:ok, "CST"} = chicago |> File.read! |> Local.parse_tzfile(@seconds2) 13 14 # TZIF Version 1 15 new_york = System.cwd |> Path.join("test/include/tzif/America/New_York") 16 assert {:ok, "EDT"} = new_york |> File.read! |> Local.parse_tzfile(@seconds1) 17 assert {:ok, "EST"} = new_york |> File.read! |> Local.parse_tzfile(@seconds2) 18 end 19 20 test "parse_tzfile with TZIF v2" do 21 # TZIF Version 2 22 chicago = System.cwd |> Path.join("test/include/tzif2/America/Chicago") 23 assert {:ok, "CDT"} = chicago |> File.read! |> Local.parse_tzfile(@seconds1) 24 assert {:ok, "CST"} = chicago |> File.read! |> Local.parse_tzfile(@seconds2) 25 26 # TZIF Version 2 27 new_york = System.cwd |> Path.join("test/include/tzif2/America/New_York") 28 assert {:ok, "EDT"} = new_york |> File.read! |> Local.parse_tzfile(@seconds1) 29 assert {:ok, "EST"} = new_york |> File.read! |> Local.parse_tzfile(@seconds2) 30 end 31end 32