Refactor 3 tests so that they avoid clearing %:: via list assignment.

For all 3, clearing %:: was intended to expose another bug, not to directly
test the effects of clearing %::

Tested by building the 3 revisions that added the tests, and confirming that
the revised test also triggers the bug that each fixed.