Module:TwitterSnowflake/testcases
Appearance
From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:TwitterSnowflake]]. Click talk page to run tests. localp=require('Module:UnitTests') -- test snowflakeToDate functionp:test_snowflakeToDate_only_id()-- default date format is "Month Day, Year" self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 1345021162959503360}}','January 1, 2021') end functionp: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 functionp:test_snowflakeToDate_custom_epoch()-- uses Discord's epoch self:preprocess_equals('{{#invoke:TwitterSnowflake | snowflakeToDate | id_str = 797545051047460888 | epoch = 1420070400}}','January 9, 2021') end functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 functionp: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 returnp