bf6ecaedbe
Code changes (13 files, +916/-171): - ZoneDB integration: GetZoneId() converts uiMapId→areaId via ZoneDB reverse lookup - MIN_CONFIDENCE_PINS reduced to 1 for Ascension (incomplete NPC DBs) - QuestieLearner icon preservation: objective Icon passed to RegisterObjectiveTooltip - InjectLearnedData zone migration: converts old uiMapId spawn keys to areaId - areaId passed through all LearnNPC call sites (OnMouseoverUnit, OnQuestDetail, OnQuestComplete, OnQuestAccepted, OnQuestTurnedIn, OnGossipShow) - Compat/Compat.lua: C_Map.GetPlayerMapPosition UiMapData support - Compat/HBD.lua: Sunstrider mapData aliases and fallback loading - Sunstrider arrow fix (QuestieArrow.lua), resolved pin rendering (QuestieMap.lua) - _MergeOverride helper for string/numeric key compatibility - Northshire Valley UiMapData registration Testing infrastructure: - .busted config pointing to tests/ directory - Tests/wow_api_mock.lua: WoW API mocks (ZoneDB, C_Map, QuestLogCache, etc.) - Tests/QuestieLearner_spec.lua: 12 tests covering coordinate scaling, spell cast learning, zone migration (NPC/objects), icon preservation, settings defaults, and LearnNPC spawn zone tracking - selene.toml + wow_classic.yml: linter configuration Documentation: - Makefile with test/lint/ci targets - sunstrider-coordinate-collection.md: coordinate data reference - sunstrider-pin-fix.md: root cause analysis and fix documentation
27 lines
462 B
Makefile
27 lines
462 B
Makefile
# Makefile for Questie-X development tasks
|
|
# Requires: lua5.1, busted, selene
|
|
|
|
BUSTED := busted
|
|
SELENE := selene
|
|
|
|
.PHONY: test test-verbose lint ci clean
|
|
|
|
# Run all Busted unit tests
|
|
test:
|
|
$(BUSTED)
|
|
|
|
# Run tests with verbose output
|
|
test-verbose:
|
|
$(BUSTED) --verbose
|
|
|
|
# Run selene linter with WoW Classic ruleset
|
|
lint:
|
|
$(SELENE) --config selene.toml .
|
|
|
|
# CI: run lint + test
|
|
ci: lint test
|
|
|
|
# Clean up temporary/generated files
|
|
clean:
|
|
rm -f luac.out *.bak
|