Removes all elements not matched by [test] from the queue.
The test function must not throw or modify the queue.
test