diff --git a/spec/tier_spec.lua b/spec/tier_spec.lua index a60cbcfcb37..188233d77e3 100644 --- a/spec/tier_spec.lua +++ b/spec/tier_spec.lua @@ -37,6 +37,17 @@ describe('tier', function() end) end) + describe('is valid tiertype', function() + it('check', function() + assert.is_true(Tier.isValidTierType('showmatch')) + assert.is_true(Tier.isValidTierType('show match')) + assert.is_true(Tier.isValidTierType('qualifier')) + assert.is_true(Tier.isValidTierType('')) + assert.is_true(Tier.isValidTierType()) + assert.is_false(Tier.isValidTierType('foo')) + end) + end) + describe('to value', function() it('check', function() assert.are_same({'1', 'Showmatch'}, {Tier.toValue(1, 'show match')}) diff --git a/standard/tier/commons/tier_utils.lua b/standard/tier/commons/tier_utils.lua index 73b6307b225..56afc743c92 100644 --- a/standard/tier/commons/tier_utils.lua +++ b/standard/tier/commons/tier_utils.lua @@ -36,7 +36,7 @@ function Tier.toIdentifier(input) end --- Retrieves the raw data for a given (tier, tierType) tuple ----@param tier integer +---@param tier string|integer? ---@param tierType string? ---@return table?, table? function Tier.raw(tier, tierType) @@ -60,6 +60,16 @@ function Tier.isValid(tier, tierType) return true end +--- Checks if a valid tierType is provided +---@param tierType string? +---@return boolean +function Tier.isValidTierType(tierType) + if String.isEmpty(tierType) then return true end + + local _, tierTypeData = Tier.raw(nil, tierType) + return tierTypeData ~= nil +end + --- Converts input to (storage) values for a given (tier, tierType) tuple ---@param tier integer ---@param tierType string?