diff --git a/Tests/QuestieArrowAssets_spec.lua b/Tests/QuestieArrowAssets_spec.lua deleted file mode 100644 index 19afe15..0000000 --- a/Tests/QuestieArrowAssets_spec.lua +++ /dev/null @@ -1,113 +0,0 @@ -local lfs = require("lfs") - -local function read_file(path) - local handle = assert(io.open(path, "rb")) - local content = assert(handle:read("*a")) - handle:close() - return content -end - -local function list_arrows() - local names = {} - for entry in lfs.dir("Icons/Arrows") do - if entry ~= "." and entry ~= ".." then - names[#names + 1] = entry - end - end - table.sort(names) - return names -end - -local function extract_block(content, key) - local needle = ' ["' .. key .. '"] = {' - local startPos = assert(content:find(needle, 1, true), "missing style block for " .. key) - local tail = content:sub(startPos) - local endPos = assert(tail:find("\n },", 1, true), "missing terminator for style block " .. key) - return tail:sub(1, endPos) -end - -local function extract_mode(content, key) - local block = extract_block(content, key) - return assert(block:match('mode%s*=%s*"([^"]+)"'), "missing mode for " .. key) -end - -local function extract_texture(content, key) - local block = extract_block(content, key) - return assert(block:match('texture%s*=%s*"([^"]+)"'), "missing texture for " .. key) -end - -describe("QuestieArrowAssets manifest", function() - local content = read_file("Modules/Arrow/QuestieArrowAssets.lua") - local arrowLua = read_file("Modules/Arrow/QuestieArrow.lua") - - it("keeps the default arrow as a regular image", function() - assert.are.equal("image", extract_mode(content, "arrow1")) - assert.are.equal("Icons\\\\Arrows\\\\Arrow1.tga", extract_texture(content, "arrow1")) - end) - - it("keeps the old arrow as a sprite sheet", function() - assert.are.equal("sheet", extract_mode(content, "arrowold")) - end) - - it("keeps the other bundled arrows as regular images", function() - assert.are.equal("image", extract_mode(content, "arrow2")) - assert.are.equal("image", extract_mode(content, "arrow3")) - assert.are.equal("image", extract_mode(content, "arrow4")) - assert.are.equal("image", extract_mode(content, "arcanearrow")) - assert.are.equal("image", extract_mode(content, "hordearrow")) - assert.are.equal("image", extract_mode(content, "alliancearrow")) - assert.are.equal("image", extract_mode(content, "minimal1")) - assert.are.equal("image", extract_mode(content, "minimal2")) - assert.are.equal("image", extract_mode(content, "minimal3")) - end) - - it("only treats arrowold as a bundled sprite sheet", function() - assert.are.equal("sheet", extract_mode(content, "arrowold")) - assert.are.equal("image", extract_mode(content, "arrow1")) - assert.are.equal("image", extract_mode(content, "arrow2")) - assert.are.equal("image", extract_mode(content, "arrow3")) - assert.are.equal("image", extract_mode(content, "arrow4")) - assert.are.equal("image", extract_mode(content, "arcanearrow")) - assert.are.equal("image", extract_mode(content, "hordearrow")) - assert.are.equal("image", extract_mode(content, "alliancearrow")) - assert.are.equal("image", extract_mode(content, "minimal1")) - assert.are.equal("image", extract_mode(content, "minimal2")) - assert.are.equal("image", extract_mode(content, "minimal3")) - end) - - it("keeps the runtime default pointed at arrow1 and the sheet guard locked to arrowold", function() - assert.is_truthy(arrowLua:find('local ARROW_DEFAULT_STYLE = "arrow1"', 1, true)) - assert.is_truthy(arrowLua:find('return styleKey == "arrowold"', 1, true)) - assert.is_truthy(arrowLua:find('if styleKey == "arrow" then', 1, true)) - assert.is_truthy(arrowLua:find('self.arrow:SetTexCoord(0, 1, 0, 1)', 1, true)) - assert.is_truthy(arrowLua:find('local runtimeTexture = style.preview', 1, true)) - assert.is_truthy(arrowLua:find('sourceTexturePath = QuestieLib.AddonPath .. style.texture', 1, true)) - end) - - it("keeps the bundled arrow folder clean and named consistently", function() - assert.are.same({ - "AllianceArrow.tga", - "AllianceArrow_preview.tga", - "ArcaneArrow.tga", - "ArcaneArrow_preview.tga", - "Arrow1.tga", - "Arrow1_preview.tga", - "Arrow2.tga", - "Arrow2_preview.tga", - "Arrow3.tga", - "Arrow3_preview.tga", - "Arrow4.tga", - "Arrow4_preview.tga", - "HordeArrow.tga", - "HordeArrow_preview.tga", - "Minimal1.tga", - "Minimal1_preview.tga", - "Minimal2.tga", - "Minimal2_preview.tga", - "Minimal3.tga", - "Minimal3_preview.tga", - "arrowold.tga", - "arrowold_preview.tga", - }, list_arrows()) - end) -end)