local p = require('Module:UnitTests')

function p:test_trainingpages()
    self:preprocess_equals_many('{{#invoke:TrainingPages|next_page|', '}}', {
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/valuable contribution', 'Wikipedia:Training/For students/Editing topics' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/Editing topics', 'Wikipedia:Training/For students/Getting started 1' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/Citing sources', 'Wikipedia:Training/For students/Citing sources 2' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Project:Training/For students/Citing sources', 'Wikipedia:Training/For students/Citing sources 2' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|anonymize=yes|page=Wikipedia:Training/For students/Citing sources', 'Project:Training/For students/Citing sources 2' }
    })
    self:preprocess_equals_many('{{#invoke:TrainingPages|last_page|', '}}', {
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/valuable contribution|defaultpage=Wikipedia:Training/header', 'Wikipedia:Training/header' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/Citing sources|defaultpage=Wikipedia:Training/header', 'Wikipedia:Training/For students/Text editing' },
        { 'Wikipedia:Training/For students/Index for TrainingPages testcases|page=Wikipedia:Training/For students/Where to get help|defaultpage=Wikipedia:Training/header', '[[Module:TrainingPages]] error:no index parameter specified' }
    })
    self:preprocess_equals_many('{{#invoke:TrainingPages|main|', '}}', {
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|displacement=5|page=Wikipedia:Training/For students/Citing sources|defaultpage=', 'Wikipedia:Training/For students/Sandbox edits for new articles' },
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|displacement=5|page=Wikipedia:Training/For students/Where to get help|defaultpage=', '' },
    })
    self:preprocess_equals_many('{{#invoke:TrainingPages|page_number|', '}}', {
        { 'index=Wikipedia:Training/For students/Nonexistent index|defaultpage=|noerr=yes', '' },
        { 'index=Wikipedia:Training/For students/Nonexistent index|defaultpage=', "[[Module:TrainingPages]] error (''index'' parameter):failed to access mw.title.new(Wikipedia:Training/For students/Nonexistent index):getContent() to load the index data" },
    })
    self:preprocess_equals_many('{{#invoke:TrainingPages|main|', '}}', {
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases|page=1', 'Wikipedia:Training/For students/valuable contribution' }
    })
    self:preprocess_equals_many('{{#invoke:TrainingPages|total_pages|', '}}', {
        { 'index=Wikipedia:Training/For students/Index for TrainingPages testcases ', '21' }
    })
end

return p