From Wikipedia, the free encyclopedia

-- Unit tests for [[Module:TwitterSnowflake]]. Click talk page to run tests. 

local p = require('Module:UnitTests')



-- test snowflakeToDate



function p:test_snowflakeToDate_only_id() -- default date format is "Month Day, Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 1345021162959503360}}', 'January  1, 2021')

end



function p:test_snowflakeToDate_custom_output_format() -- tests date format "Day Month Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 1345021162959503360 | format = %e %B %Y}}', ' 1 January 2021')

end



function p:test_snowflakeToDate_custom_epoch() -- uses Discord's epoch

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 797545051047460888 | epoch = 1420070400}}', 'January  9, 2021')

end



function p:test_snowflakeToDate_weird_breaking_date() -- this one used to break old versions of the script, outputting "April 11, 2011"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 574608900537761792}}', 'March  8, 2015')

end



-- test getDate



function p:test_getDate_date_off_by_five() -- date off by five days, so this returns "5"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 6, 2021}}', '5')

end



function p:test_getDate_date_off_by_one() -- date off by one day, so this returns "1"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 2, 2021}}', '1')

end



function p:test_getDate_date_match() -- date matches, so this returns "0"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 1, 2021}}', '0')

end



function p:test_getDate_before_epoch() -- posted before epoch, so this returns "-1" (date isn't correct here, but that's irrelevant — it can't check it either way)

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 20 | date = January 1, 2015}}', '-1')

end



function p:test_getDate_invalid_id_str() -- id_str is invalid, so this returns "-2"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360?s=19 | date = January 1, 2021}}', '-2')

end



--sandbox tests for snowflakeToDate



function p:test_zzsandbox_snowflakeToDate_only_id() -- default date format is "Month Day, Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 1345021162959503360}}', 'January  1, 2021')

end



function p:test_zzsandbox_snowflakeToDate_custom_output_format() -- tests date format "Day Month Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 1345021162959503360 | format = %e %B %Y}}', ' 1 January 2021')

end



function p:test_zzsandbox_snowflakeToDate_custom_epoch() -- uses Discord's epoch

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 797545051047460888 | epoch = 1420070400}}', 'January  9, 2021')

end



function p:test_zzsandbox_snowflakeToDate_weird_breaking_date() -- this one used to break old versions of the script, outputting "April 11, 2011"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 574608900537761792}}', 'March  8, 2015')

end



--sandbox tests for getDate



function p:test_zzsandbox_getDate_date_off_by_five() -- date off by five days, so this returns "5"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 6, 2021}}', '5')

end



function p:test_zzsandbox_getDate_date_off_by_one() -- date off by one day, so this returns "1"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 2, 2021}}', '1')

end



function p:test_zzsandbox_getDate_date_match() -- date matches, so this returns "0"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 1, 2021}}', '0')

end



function p:test_zzsandbox_getDate_before_epoch() -- posted before epoch, so this returns "-1" (date isn't correct here, but that's irrelevant — it can't check it either way)

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 20 | date = January 1, 2015}}', '-1')

end



function p:test_zzsandbox_getDate_invalid_id_str() -- id_str is invalid, so this returns "-2"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360?s=19 | date = January 1, 2021}}', '-2')

end



return p
From Wikipedia, the free encyclopedia

-- Unit tests for [[Module:TwitterSnowflake]]. Click talk page to run tests. 

local p = require('Module:UnitTests')



-- test snowflakeToDate



function p:test_snowflakeToDate_only_id() -- default date format is "Month Day, Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 1345021162959503360}}', 'January  1, 2021')

end



function p:test_snowflakeToDate_custom_output_format() -- tests date format "Day Month Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 1345021162959503360 | format = %e %B %Y}}', ' 1 January 2021')

end



function p:test_snowflakeToDate_custom_epoch() -- uses Discord's epoch

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 797545051047460888 | epoch = 1420070400}}', 'January  9, 2021')

end



function p:test_snowflakeToDate_weird_breaking_date() -- this one used to break old versions of the script, outputting "April 11, 2011"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 574608900537761792}}', 'March  8, 2015')

end



-- test getDate



function p:test_getDate_date_off_by_five() -- date off by five days, so this returns "5"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 6, 2021}}', '5')

end



function p:test_getDate_date_off_by_one() -- date off by one day, so this returns "1"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 2, 2021}}', '1')

end



function p:test_getDate_date_match() -- date matches, so this returns "0"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360 | date = January 1, 2021}}', '0')

end



function p:test_getDate_before_epoch() -- posted before epoch, so this returns "-1" (date isn't correct here, but that's irrelevant — it can't check it either way)

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 20 | date = January 1, 2015}}', '-1')

end



function p:test_getDate_invalid_id_str() -- id_str is invalid, so this returns "-2"

    self:preprocess_equals('{{#invoke:TwitterSnowflake | getDate | id_str = 1345021162959503360?s=19 | date = January 1, 2021}}', '-2')

end



--sandbox tests for snowflakeToDate



function p:test_zzsandbox_snowflakeToDate_only_id() -- default date format is "Month Day, Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 1345021162959503360}}', 'January  1, 2021')

end



function p:test_zzsandbox_snowflakeToDate_custom_output_format() -- tests date format "Day Month Year"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 1345021162959503360 | format = %e %B %Y}}', ' 1 January 2021')

end



function p:test_zzsandbox_snowflakeToDate_custom_epoch() -- uses Discord's epoch

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 797545051047460888 | epoch = 1420070400}}', 'January  9, 2021')

end



function p:test_zzsandbox_snowflakeToDate_weird_breaking_date() -- this one used to break old versions of the script, outputting "April 11, 2011"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | snowflakeToDate | id_str = 574608900537761792}}', 'March  8, 2015')

end



--sandbox tests for getDate



function p:test_zzsandbox_getDate_date_off_by_five() -- date off by five days, so this returns "5"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 6, 2021}}', '5')

end



function p:test_zzsandbox_getDate_date_off_by_one() -- date off by one day, so this returns "1"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 2, 2021}}', '1')

end



function p:test_zzsandbox_getDate_date_match() -- date matches, so this returns "0"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360 | date = January 1, 2021}}', '0')

end



function p:test_zzsandbox_getDate_before_epoch() -- posted before epoch, so this returns "-1" (date isn't correct here, but that's irrelevant — it can't check it either way)

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 20 | date = January 1, 2015}}', '-1')

end



function p:test_zzsandbox_getDate_invalid_id_str() -- id_str is invalid, so this returns "-2"

    self:preprocess_equals('{{#invoke:TwitterSnowflake/sandbox | getDate | id_str = 1345021162959503360?s=19 | date = January 1, 2021}}', '-2')

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook