None of these were defects; each is a value, a row index or a semantic the realm moved and the
test still asserted stock 1.12's:
- `RAID_CLASS_COLORS.SHAMAN` is the later blue `|cff0070de` (`Fonts.xml:50`), not a copy of
PALADIN's pink — 1.12 reused the row and the realm did not.
- `ChatTypeInfo` has 106 keys, the extra being the realm's `HARDCORE`, and ten of them are sticky
rather than five: it marks `CHANNEL`, `OFFICER`, `RAID_WARNING` and `WHISPER` too. Sticky is what
the edit box keeps between sends, so that list is typing behaviour a player feels.
- `ChatMenu`'s Macro row is eleventh: `HARDCORE_MESSAGE` went in fourth (`ChatFrame.lua:2371`).
- A friend row is coloured three ways (`FriendsFrame.lua:186-197`) — name and class from
`RAID_CLASS_COLORS[TW_CLASS_TOKEN[class]]`, level from `GetDifficultyColor`. `TW_CLASS_TOKEN`
lives in the realm's `Globals.lua`, so that row joins `SOCIAL_UI`; without it the window draws
uncoloured, which is a different window than the client paints.
- A guild row goes offline by **alpha 0.55** on all four columns (`FriendsFrame.lua:526`), keeping
its class and difficulty inks, where 1.12 wrote a flat grey.
- The minimap clock plate is four lines — `Clock`, then a Zone/Server/Local time triple
(`GameTime.lua:50-56`) — not one bare time.
- `ERR_TAXINOPATHS` uses a straight ASCII apostrophe; the test looked for U+2019 and so never
matched a line that was being drawn correctly all along.
- `DropDownList1/2`'s OnHide **wipes** `OPEN_DROPDOWNMENUS[n]` instead of dropping it
(`UIDropDownMenu.xml:17`, `:28`), so the row is emptied in place and an addon's reference to it
stays live. Asserted both halves.
- `CONFIRM_PET_UNLEARN` gained an `OnUpdate` that hides it unless `CheckPetUntrainerDist()` answers
(`StaticPopup.lua:1290-1294`), so the dialog needs that verb seated before the first tick.
- The spellbook shows its Spellbook tab with no pet at all (the realm sets tab 1 up on both arms of
`hasPetSpells`), and it **fixed** both pet-paging quirks this test had pinned as "DO NOT FIX":
`SpellBook_GetSpellID`'s pet arm carries the page term and Next writes the pet book's own page.
Also corrected a test of mine from the last batch: `IsEnabled()` answers the number 0, which is
truthy in Lua, so it is compared and not tested — as the stock UI itself does.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn