local luatz = require "luatz.init"
local time = 1234567890
local base_tt = luatz.gmtime(time)
describe("#strftime works the same as os.date", function()
	local strftime = luatz.strftime.strftime
	for _, spec in ipairs {
		"a", "A", "b", "B", "c", "C", "d", "D", "e", "F",
		"g", "G", "H", "I", "j", "m", "M", "n", "p", "r",
		"R", --[["s",]] "S", "t", "T", "u", "U", "V", "w", "W",
		"y", "Y", "z", "Z" , "%"
	} do
		local tt = base_tt:clone()
		local f = "%"..spec
		local osdf = "!%"..spec
		it("format specifier '"..f.."' is equivalent to os.date('"..osdf.."')", function()
			for i=1, 365*12 do
				local t = time + 60*60*24*i
				tt.day = tt.day + 1
				tt:normalise ( )
				assert.are.same(os.date(osdf,t), strftime(f,tt))
			end
		end)
	end
end)
describe("#asctime", function()
	local asctime = luatz.strftime.asctime
	it("should format correctly", function()
		assert.are.same("Fri Feb 13 23:31:30 2009\n", asctime(base_tt))
	end)
end)