$user->addCredential('supplier'); $t->is($user->hasCredential($credential), false, '->hasCredential() can takes an array of credential as a parameter'); $user->addCredential('owner'); $t->is($user->hasCredential($credential), true, '->hasCredential() can takes an array of credential as a parameter'); $user->addCredential('quasiowner'); $t->is($user->hasCredential($credential), true, '->hasCredential() can takes an array of credential as a parameter'); $user->removeCredential('owner'); $t->is($user->hasCredential($credential), true, '->hasCredential() can takes an array of credential as a parameter'); $user->removeCredential('supplier'); $t->is($user->hasCredential($credential), false, '->hasCredential() can takes an array of credential as a parameter'); $user->clearCredentials(); $user->addCredential('admin'); $user->addCredential('user'); $t->is($user->hasCredential('admin'), true); $t->is($user->hasCredential('user'), true); $user->addCredentials('superadmin', 'subscriber'); $t->is($user->hasCredential('subscriber'), true); $t->is($user->hasCredential('superadmin'), true); // admin and (user or subscriber) $t->is($user->hasCredential(array(array('admin', array('user', 'subscriber')))), true); $user->addCredentials(array('superadmin1', 'subscriber1')); $t->is($user->hasCredential('subscriber1'), true); $t->is($user->hasCredential('superadmin1'), true); // admin and (user or subscriber) and (superadmin1 or subscriber1) $t->is($user->hasCredential(array(array('admin', array('user', 'subscriber'), array('superadmin1', 'subscriber1')))), true); // numerical credentials $user->clearCredentials(); $user->addCredentials(array('1', 2)); $t->is($user->hasCredential(1), true, '->hasCrendential() supports numerical credentials'); $t->is($user->hasCredential('2'), true, '->hasCrendential() supports numerical credentials'); $t->is($user->hasCredential(array('1', 2)), true, '->hasCrendential() supports numerical credentials');