Suspicious Pirate is not discovering weapon

In an arena run, and has happened in more than one game now where his battlecry doesn’t happen.

If your class has no weapons it has zero options in the pool, if warrior is your hero power you are NOT a warrior and it will look at the main class for a weapon(mage, druid, priest, and warlock I would believe discover nothing)

Which is not an explanation since there are cards that discover from their original class if your current one has an empty pool
Taste of Chaos will discover a demon hunter fel spell if you play a class wiht no fel spells.

Why do secret discover cards work then?