Skip to content

Commit 15a0783

Browse files
refactor(hdb): move warning texts to i18n (#7309)
* use i18n * adjust tests * add after_each
1 parent 08dde11 commit 15a0783

3 files changed

Lines changed: 33 additions & 9 deletions

File tree

lua/spec/hidden_data_box_spec.lua

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ describe('hidden data box', function()
55
local Variables = require('Module:Variables')
66
local WarningBox = require('Module:Widget/WarningBox')
77

8+
local AddCategorySpy
9+
10+
before_each(function()
11+
AddCategorySpy = spy.on(mw.ext.TeamLiquidIntegration, 'add_category')
12+
end)
13+
14+
after_each(function()
15+
AddCategorySpy:revert()
16+
end)
17+
818
describe('tier parseing', function()
919
it('empty tier return nil', function()
1020
assert.is_nil(Hdb.validateTier())
@@ -19,12 +29,14 @@ describe('hidden data box', function()
1929

2030
it('unknown tier', function()
2131
local _, _, warnings = Hdb.validateTier('Qualifier')
22-
assert.are_same({'Qualifier is not a known Liquipedia Tier[[Category:Pages with invalid Tier]]'}, warnings)
32+
assert.are_same({'Qualifier is not a known Liquipedia Tier'}, warnings)
33+
assert.stub(AddCategorySpy).was.called_with('Pages with invalid Tier')
2334
end)
2435

2536
it('unknown tiertype', function()
2637
local _, _, warnings = Hdb.validateTier(nil, 'Abc')
27-
assert.are_same({'Abc is not a known Liquipedia Tiertype[[Category:Pages with invalid Tiertype]]'}, warnings)
38+
assert.are_same({'Abc is not a known Liquipedia Tiertype'}, warnings)
39+
assert.stub(AddCategorySpy).was.called_with('Pages with invalid Tiertype')
2840
end)
2941
end)
3042

@@ -40,9 +52,10 @@ describe('hidden data box', function()
4052

4153
it('has correct warning', function()
4254
assert.are_same(
43-
tostring(WarningBox{text = 'DummyPage is not a Liquipedia Tournament[[Category:Pages with invalid parent]]'}),
55+
tostring(WarningBox{text = 'DummyPage is not a Liquipedia Tournament'}),
4456
tostring(Hdb.run({parent = 'DummyPage'}))
4557
)
58+
assert.stub(AddCategorySpy).was.called_with('Pages with invalid parent')
4659
end)
4760
end)
4861

lua/wikis/commons/HiddenDataBox.lua

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ local Array = Lua.import('Module:Array')
1111
local Class = Lua.import('Module:Class')
1212
local Logic = Lua.import('Module:Logic')
1313
local Game = Lua.import('Module:Game')
14+
local I18n = Lua.import('Module:I18n')
1415
local Info = Lua.import('Module:Info', {loadData = true})
1516
local MatchTicker = Lua.import('Module:MatchTicker')
1617
local MatchTickerEntityDisplay = Lua.import('Module:MatchTicker/DisplayComponents/Entity')
@@ -28,9 +29,6 @@ local WarningBoxGroup = Lua.import('Module:Widget/WarningBox/Group')
2829
local WidgetUtil = Lua.import('Module:Widget/Util')
2930

3031
local HiddenDataBox = {}
31-
local INVALID_TIER_WARNING = '${tierString} is not a known Liquipedia '
32-
.. '${tierMode}[[Category:Pages with invalid ${tierMode}]]'
33-
local INVALID_PARENT = '${parent} is not a Liquipedia Tournament[[Category:Pages with invalid parent]]'
3432
local DEFAULT_TIER_TYPE = 'general'
3533

3634
local Language = mw.getContentLanguage()
@@ -59,7 +57,8 @@ function HiddenDataBox.run(args)
5957
})[1] or {}
6058

6159
if Table.isEmpty(queryResult) and Namespace.isMain() then
62-
table.insert(warnings, String.interpolate(INVALID_PARENT, {parent = parent}))
60+
mw.ext.TeamLiquidIntegration.add_category('Pages with invalid parent')
61+
table.insert(warnings, I18n.translate('hiddendatabox-invalid-parent-warning', {parent = parent}))
6362
else
6463
local date = HiddenDataBox.cleanDate(args.date, args.sdate) or queryResult.startdate or
6564
Variables.varDefault('tournament_startdate') or HiddenDataBox.cleanDate(args.edate) or
@@ -214,11 +213,19 @@ function HiddenDataBox.validateTier(tier, tierType)
214213
local tierValue, tierTypeValue = Tier.toValue(tier, tierType)
215214

216215
if tier and not tierValue then
217-
table.insert(warnings, String.interpolate(INVALID_TIER_WARNING, {tierString = tier, tierMode = 'Tier'}))
216+
mw.ext.TeamLiquidIntegration.add_category('Pages with invalid Tier')
217+
table.insert(
218+
warnings,
219+
I18n.translate('hiddendatabox-invalid-tier-warning', {tierString = tier, tierMode = 'Tier'})
220+
)
218221
end
219222

220223
if tierType and tierType:lower() ~= DEFAULT_TIER_TYPE and not tierTypeValue then
221-
table.insert(warnings, String.interpolate(INVALID_TIER_WARNING, {tierString = tierType, tierMode = 'Tiertype'}))
224+
mw.ext.TeamLiquidIntegration.add_category('Pages with invalid Tiertype')
225+
table.insert(
226+
warnings,
227+
I18n.translate('hiddendatabox-invalid-tier-warning', {tierString = tierType, tierMode = 'Tiertype'})
228+
)
222229
end
223230

224231
return tierValue, tierTypeValue, warnings

lua/wikis/commons/I18n/Data.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ return {
7070
['date-range-month-day--month-unknown_day'] = '${startMonth} ${startDate} – ${endMonth} TBA',
7171
['date-range-month-day--month-day'] = '${startMonth} ${startDate} – ${endMonth} ${endDate}',
7272

73+
-- HiddenDataBox warnings
74+
['hiddendatabox-invalid-parent-warning'] = '${parent} is not a Liquipedia Tournament',
75+
['hiddendatabox-invalid-tier-warning'] = '${tierString} is not a known Liquipedia ${tierMode}',
76+
7377
-- Bracket Headers
7478
['brkts-header-r1'] = 'Grand Final,Final,GF',
7579
['brkts-header-r2'] = 'Semifinals,Semis,SF',

0 commit comments

Comments
 (0)