Testing the basic functionality of audits. == Running test suite: Audit.Basic -- Running test case: Audit.Basic.Error.Undefined Testing value `undefined`... PASS: Result should be "error". errors: - Return value is not an object, string, or boolean -- Running test case: Audit.Basic.Error.Null Testing value `null`... PASS: Result should be "error". errors: - Return value is not an object, string, or boolean -- Running test case: Audit.Basic.Error.Number Testing value `42`... PASS: Result should be "error". errors: - Return value is not an object, string, or boolean -- Running test case: Audit.Basic.Error.String Testing value `"foo"`... PASS: Result should be "error". errors: - Return string must be one of ["pass","warn","fail","error","unsupported"] -- Running test case: Audit.Basic.Error.Object Testing value `{}`... PASS: Result should be "error". errors: - Missing result level -- Running test case: Audit.Basic.Error.Variable Testing value `INVALID`... PASS: Result should be "error". errors: - ReferenceError: Can't find variable: INVALID -- Running test case: Audit.Basic.Error.Promise.Resolved Testing value `new Promise((resolve, reject) => setTimeout(resolve, 0))`... PASS: Result should be "error". errors: - Return value is not an object, string, or boolean -- Running test case: Audit.Basic.Error.Promise.Rejected Testing value `new Promise((resolve, reject) => setTimeout(reject, 0, "rejected"))`... PASS: Result should be "error". errors: - rejected