Module:LDSverse/testcases
| This is the test cases page for the module Module:LDSverse. Results of the test cases. |
-- Unit tests for [[Module:LDSVerse]]. Click talk page to run tests.
-- NB: If you ever see a failure on the results page even though the text seems like it's
-- *exactly* the same as what was expected but it still tells you there's a
-- difference, check the underscore situation. The LDSverse module does not use
-- underscores between words when generating the cross-wiki link (except for in
-- #bookmarks, where they are required for the bookmark to work) so if the
-- test case here expects there to be underscores in the generated link (e.g.,
-- [[s:Bible_(King_James)/Genesis|Gen.]]) it will throw an error because the
-- link generated by the module will just be [[s:Bible (King James)/Genesis|Gen.]].
-- This is really annoying to debug because by the time MediaWiki generates the
-- HTML that you see on the results page, it has in fact swapped in underscores
-- for those spaces! But that is what is going on. FYI :)
local p = require('Module:UnitTests')
-- No parameters unit test
function p:test_01_noParams()
self:preprocess_equals('{{LDS}}', '[[s:Portal:Mormonism#LDS_Standard_Works_(Scriptures)|LDS Standard Works]]')
end
-- One parameter
function p:test_02_noParams2()
self:preprocess_equals('{{LDS|Display Text}}', '[[s:Portal:Mormonism#LDS_Standard_Works_(Scriptures)|Display Text]]')
end
-- Cite to book in Bible
function p:test_03_genesis()
self:preprocess_equals('{{LDS|Gen.|gen}}', '[[s:Bible (King James)/Genesis|Gen.]]')
end
-- Cite to (other) book in Bible #1
function p:test_04_sos1()
self:preprocess_equals('{{LDS|The Songs of Solomon|song}}', '[[s:Bible (King James)/Song of Solomon|The Songs of Solomon]]')
end
-- Cite to (other) book in Bible #2
function p:test_05_sos2()
self:preprocess_equals('{{LDS|Canticles|Song of Solomon}}', '[[s:Bible (King James)/Song of Solomon|Canticles]]')
end
-- Cite to Bible chapter #1
function p:test_06_num_3()
self:preprocess_equals('{{LDS|Num.|num|3}}', '[[s:Bible (King James)/Numbers#chapter_3|Num. 3]]')
end
-- Cite to Bible chapter #2
function p:test_07_1_kings_5()
self:preprocess_equals('{{LDS|1 Kuningad|1kgs|5}}', '[[s:Bible (King James)/1 Kings#chapter_5|1 Kuningad 5]]')
end
-- Cite to Bible chapter #3
function p:test_08_amos_2()
self:preprocess_equals('{{LDS|Amos (not Andy)|Amos|2}}', '[[s:Bible (King James)/Amos#chapter_2|Amos (not Andy) 2]]')
end
-- Cite to Bible verse #1
function p:test_09_gen_3_6()
self:preprocess_equals('{{LDS|Gen.|gen|3|6}}', '[[s:Bible (King James)/Genesis#3:6|Gen. 3:6]]')
end
-- Cite to Bible verse #2
function p:test_10_matt_5_20()
self:preprocess_equals('{{LDS|Matt.|Matthew|5|20}}', '[[s:Bible (King James)/Matthew#5:20|Matt. 5:20]]')
end
-- Cite to BoM book #1
function p:test_11_mormon()
self:preprocess_equals('{{LDS|Morm.|Mormon}}', '[[s:Book of Mormon (1981)/Mormon|Morm.]]')
end
-- Cite to BoM book #2
function p:test_12_enos()
self:preprocess_equals('{{LDS|Enos da Man|Enos}}', '[[s:Book of Mormon (1981)/Enos|Enos da Man]]')
end
-- Cite to BoM book #3
function p:test_13_1_ne()
self:preprocess_equals('{{LDS|Morm.|1 Nephi}}', '[[s:Book of Mormon (1981)/1 Nephi|Morm.]]')
end
-- Cite to BoM chapter #1
function p:test_14_2_ne_26()
self:preprocess_equals('{{LDS|2 Nyafi|2 Nephi|26}}', '[[s:Book of Mormon (1981)/2 Nephi#chapter_26|2 Nyafi 26]]')
end
-- Cite to BoM chapter #2
function p:test_15_alma_50()
self:preprocess_equals('{{LDS|Alma|alma|50}}', '[[s:Book of Mormon (1981)/Alma#chapter_50|Alma 50]]')
end
-- Cite to BoM verse #1
function p:test_16_2_ne_26_33()
self:preprocess_equals('{{LDS|2 Nyafi|2 Nephi|26|33}}', '[[s:Book of Mormon (1981)/2 Nephi#26:33|2 Nyafi 26:33]]')
end
-- Cite to D&C
function p:test_17_dc()
self:preprocess_equals('{{LDS|D&C|dc}}', '[[s:The Doctrine and Covenants|D&C]]')
end
-- Cite to D&C Section
function p:test_18_dc_88()
self:preprocess_equals('{{LDS|D&C|dc|88}}', '[[s:The Doctrine and Covenants/Section 88|D&C 88]]')
end
-- Cite to D&C verse
function p:test_19_dc_88_6()
self:preprocess_equals('{{LDS|D&C|dc|88|6}}', '[[s:The Doctrine and Covenants/Section 88#6|D&C 88:6]]')
end
-- Cite to PoGP book 1
function p:test_20_jst_matthew()
self:preprocess_equals('{{LDS|JST Matthew|jst-matt}}', '[[s:The Pearl of Great Price (1913)/Matthew|JST Matthew]]')
end
-- Cite to PoGP book 2
function p:test_21_abraham()
self:preprocess_equals('{{LDS|Avraham (Gileadi)|abr}}', '[[s:The Pearl of Great Price (1913)/Abraham|Avraham (Gileadi)]]')
end
-- Cite to PoGP book 3
function p:test_22_moses()
self:preprocess_equals('{{LDS|Moses|moses}}', '[[s:The Pearl of Great Price (1913)/Moses|Moses]]')
end
-- Cite to PoGP book 4
function p:test_23_history()
self:preprocess_equals('{{LDS|JS History|History}}', '[[s:The Pearl of Great Price (1913)/History|JS History]]')
end
-- Cite to PoGP book 5
function p:test_24_aof()
self:preprocess_equals('{{LDS|AoF|aoff}}', '[[s:The Pearl of Great Price (1913)/Articles of Faith|AoF]]')
end
-- Cite to PoGP chapter 1
function p:test_25_moses_2()
self:preprocess_equals('{{LDS|Moses|moses|2}}', '[[s:The Pearl of Great Price (1913)/Moses#chapter_2|Moses 2]]') -- This assumes that PoGP chapter bookmarks get standardized
end
-- Cite to PoGP chapter 2
function p:test_26_abraham_3()
self:preprocess_equals('{{LDS|Abr.|Abraham|3}}', '[[s:The Pearl of Great Price (1913)/Abraham#chapter_3|Abr. 3]]') -- This assumes that PoGP chapter bookmarks get standardized
end
-- Cite to PoGP chapter 3
function p:test_27_aof_1()
self:preprocess_equals('{{LDS|AoF|aoff|1}}', '[[s:The Pearl of Great Price (1913)/Articles of Faith#chapter_1|AoF 1]]') -- This assumes that PoGP chapter bookmarks get standardized
end
-- Cite to PoGP chapter 4
function p:test_28_jst_matthew_1()
self:preprocess_equals('{{LDS|JS Matthew|jsm|1}}', '[[s:The Pearl of Great Price (1913)/Matthew#chapter_1|JS Matthew 1]]') -- This assumes that PoGP chapter bookmarks get standardized
end
-- Cite to PoGP chapter 5
function p:test_29_js_history_1()
self:preprocess_equals('{{LDS|JS Hist.|jsh|1}}', '[[s:The Pearl of Great Price (1913)/History#chapter_1|JS Hist. 1]]') -- This assumes that PoGP chapter bookmarks get standardized
end
-- Cite to PoGP verse 1
function p:test_30_moses_3_8()
self:preprocess_equals('{{LDS|Moses|moses|3|8}}', '[[s:The Pearl of Great Price (1913)/Moses#3:8|Moses 3:8]]')
end
-- Cite to PoGP verse 2
function p:test_31_abraham_3_8()
self:preprocess_equals('{{LDS|Abr.|Abraham|3|8}}', '[[s:The Pearl of Great Price (1913)/Abraham#3:8|Abr. 3:8]]')
end
-- Cite to PoGP verse 3
function p:test_32_jst_matthew_26()
self:preprocess_equals('{{LDS|JST Matthew|jst-matt|1|26}}', '[[s:The Pearl of Great Price (1913)/Matthew#1:26|JST Matthew 1:26]]')
end
-- Cite to PoGP verse 4
function p:test_33_jst_hist_16()
self:preprocess_equals('{{LDS|JST Historia|js-hist|1|16}}', '[[s:The Pearl of Great Price (1913)/History#1:16|JST Historia 1:16]]')
end
-- Cite to PoGP verse 5
function p:test_34_aof_11()
self:preprocess_equals('{{LDS|Articles o\' Faith|Articles of Faith|1|11}}', '[[s:The Pearl of Great Price (1913)/Articles of Faith#1:11|Articles o\' Faith 1:11]]')
end
-- weird spacing issues
function p:test_35_spacing_1()
self:preprocess_equals('{{LDS |Alma |alma |7 |11 }}', '[[s:Book of Mormon (1981)/Alma#7:11|Alma 7:11]]')
end
-- weird spacing issues
function p:test_36_spacing_2()
self:preprocess_equals('{{LDS | Mos. | mosiah | 4 | 16 }}', '[[s:Book of Mormon (1981)/Mosiah#4:16|Mos. 4:16]]')
end
-- range of verses
function p:test_37_range_1()
self:preprocess_equals('{{LDS|Doctrine + Covenants|dc|128|19|22}}', '[[s:The Doctrine and Covenants/Section 128#19|Doctrine + Covenants 128:19–22]]')
end
-- range of verses
function p:test_38_range_2()
self:preprocess_equals('{{LDS|Doctrine + Covenants|dc|128|19|–22, 24|||x}}', '[[s:The Doctrine and Covenants/Section 128#19|Doctrine + Covenants 128:19–22, 24]]')
end
-- BoM intro
function p:test_39_bom_title_page()
self:preprocess_equals('{{LDS|Title Page to the Book of Mormon|ttlpg}}', '[[s:Book of Mormon (1981)/Title Page|Title Page to the Book of Mormon]]')
end
-- BoM 3 witnesses
function p:test_40_bom_3_witnesses()
self:preprocess_equals('{{LDS|3 Witnesses|three}}', '[[s:Book of Mormon (1981)/Testimony of Three Witnesses|3 Witnesses]]')
end
-- BoM 8 witnesses
function p:test_41_bom_8_witnesses()
self:preprocess_equals('{{LDS|8 Witnesses|eight}}', '[[s:Book of Mormon (1981)/Testimony of Eight Witnesses|8 Witnesses]]')
end
-- Lectures on Faith
function p:test_42_Lectures()
self:preprocess_equals('{{LDS|Lectures re Faith|lof}}', '[[s:Lectures on Faith|Lectures re Faith]]')
end
-- Lectures on Faith
function p:test_43_Lecture_Seventh()
self:preprocess_equals('{{LDS|Lectures about Faith|lof|7}}', '[[s:Lectures on Faith/Lecture Seventh|Lectures about Faith 7]]')
end
-- Forgotten second parameter
-- It's easy to forget to "repeat" the second parameter for the book name, especially if you use
-- the full book name as the display text, so these next tests check for a fix for that
function p:test_44_forgotten_2nd_param_1()
self:preprocess_equals('{{LDS|Alma|7}}', '[[s:Book of Mormon (1981)/Alma#chapter_7|Alma 7]]')
end
-- Forgotten second parameter
function p:test_45_forgotten_2nd_param_2()
self:preprocess_equals('{{LDS|Alma|7|11}}', '[[s:Book of Mormon (1981)/Alma#7:11|Alma 7:11]]')
end
-- Forgotten second parameter
function p:test_46_forgotten_2nd_param_3()
self:preprocess_equals('{{LDS|Alma|7|11|–13, 23–24|||x}}', '[[s:Book of Mormon (1981)/Alma#7:11|Alma 7:11–13, 23–24]]')
end
-- Forgotten second parameter and abbreviation in displayText
function p:test_47_forgotten_2nd_param_4()
self:preprocess_equals('{{LDS|2 Ne.|4|28|30}}', '[[s:Book of Mormon (1981)/2 Nephi#4:28|2 Ne. 4:28–30]]')
end
-- Graceful error handling for bad LoF numbers
function p:test_48_bad_lof_param()
self:preprocess_equals('{{LDS|Lectures about Faith|lof|8}}', '[[s:Lectures on Faith|Lectures about Faith 8 (invalid)]]')
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.