check_password_policy tests are done sequentially and stop whenever a warning is found. The result of this is that a user with a trivial password ("password") will first get an error "Passwords must have at least 1 digit(s)", then correct it, then press submit .. then get an error "Passwords must have at least 1 upper case letter(s).", correct, resumbit, etc.. until all errors are covered.
This can be done in one pass, making the policy clear, and wasting less user time.