X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/86e57ee7249734545974d4b8ba2de3bcea6575a3..2d6b75a796ed12acc8aecf427d2eda1ba9b53b7d:/spec/timetable_spec.lua?ds=sidebyside diff --git a/spec/timetable_spec.lua b/spec/timetable_spec.lua index a80b9ad..c81308e 100644 --- a/spec/timetable_spec.lua +++ b/spec/timetable_spec.lua @@ -1,24 +1,16 @@ describe ( "Time table library" , function ( ) - local timetable = require "timetable" + local timetable = require "luatz.timetable" - it ( "Doomsday calculation" , function ( ) - local doomsday = timetable.doomsday - - -- Doomsday in Gregorian calendar for 2013 is Thursday. - assert.are.same ( 5 , doomsday(2013) ) - - assert.are.same ( 3 , doomsday(1967) ) - assert.are.same ( 5 , doomsday(1968) ) - end ) + local function native_normalise ( year , month , day ) + return os.date("*t",os.time{ + year = year ; + month = month ; + day = day ; + }) + end it ( "Get day of week correct" , function ( ) - local function native_normalise ( year , month , day ) - return os.date("*t",os.time{ - year = year ; - month = month ; - day = day ; - }) - end + local function assert_same_wday ( year , month , day ) return assert.are.same ( native_normalise ( year , month , day ).wday , @@ -33,6 +25,9 @@ describe ( "Time table library" , function ( ) assert_same_wday ( 2013 , 7 , 27 ) assert_same_wday ( 2013 , 7 , 28 ) assert_same_wday ( 2013 , 7 , 29 ) + assert_same_wday ( 2014 , 1 , 1 ) + assert_same_wday ( 2014 , 1 , 6 ) + assert_same_wday ( 2016 , 2 , 28 ) end ) local function native_timestamp ( year , month , day ) @@ -47,5 +42,9 @@ describe ( "Time table library" , function ( ) assert.same ( native_timestamp ( y,m,1 ) , timetable.timestamp(y,m,1,0,0,0) ) end end - end) + end ) + + it ( "Out of range month is normalised" , function ( ) + assert.same ( { timetable.normalise(2013,0,1,0,0,0) } , { 2012,12,1,0,0,0 } ) + end ) end )