Use "A unless B" insted of "B or A".

"B" is not side effect now.
Comment out unused variable for fix to avoid warning.
Add assertions to check blockCalled flags in test.