assertSame('level', $error); // Admin trying to do Admin stuff $error = qa_permit_value_error(QA_PERMIT_ADMINS, 1, QA_USER_LEVEL_ADMIN, $userFlags); $this->assertSame(false, $error); // Admin trying to do Editor stuff $error = qa_permit_value_error(QA_PERMIT_EDITORS, 1, QA_USER_LEVEL_ADMIN, $userFlags); $this->assertSame(false, $error); // Expert trying to do Moderator stuff $error = qa_permit_value_error(QA_PERMIT_MODERATORS, 1, QA_USER_LEVEL_EXPERT, $userFlags); $this->assertSame('level', $error); // Unconfirmed User trying to do Confirmed stuff $error = qa_permit_value_error(QA_PERMIT_CONFIRMED, 1, QA_USER_LEVEL_BASIC, 0); $this->assertSame('confirm', $error); // Blocked User trying to do anything $error = qa_permit_value_error(QA_PERMIT_ALL, 1, QA_USER_LEVEL_BASIC, $blockedFlags); $this->assertSame('userblock', $error); // Logged Out User trying to do User stuff $error = qa_permit_value_error(QA_PERMIT_USERS, null, null, 0); $this->assertSame('login', $error); // Logged Out User trying to do Moderator stuff $error = qa_permit_value_error(QA_PERMIT_MODERATORS, null, null, 0); $this->assertSame('level', $error); } }