aboutsummaryrefslogtreecommitdiff
path: root/engine/tests/api
diff options
context:
space:
mode:
authorBrett Profitt <brett.profitt@gmail.com>2012-12-18 15:55:42 -0500
committerBrett Profitt <brett.profitt@gmail.com>2012-12-18 15:55:42 -0500
commit2b08c9d03b803c8227a99a4c3fce3ecb84ed6fc4 (patch)
treee22771dd91ef304562f79e6bc010c82d6946eb9e /engine/tests/api
parentb691e4e2c002ef83c0c2e2bbd74885d4828b5c67 (diff)
downloadelgg-2b08c9d03b803c8227a99a4c3fce3ecb84ed6fc4.tar.gz
elgg-2b08c9d03b803c8227a99a4c3fce3ecb84ed6fc4.tar.bz2
Fixes #3940. Cleaned up caching for access functions. Access caches are now cleared on ignore access change.
Diffstat (limited to 'engine/tests/api')
-rw-r--r--engine/tests/api/access_collections.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/engine/tests/api/access_collections.php b/engine/tests/api/access_collections.php
index bea995a6e..ebcd7d318 100644
--- a/engine/tests/api/access_collections.php
+++ b/engine/tests/api/access_collections.php
@@ -268,4 +268,26 @@ class ElggCoreAccessCollectionsTest extends ElggCoreUnitTest {
$group->delete();
}
+
+ public function testAccessCaching() {
+ // create a new user to check against
+ $user = new ElggUser();
+ $user->username = 'access_test_user';
+ $user->save();
+
+ foreach (array('get_access_list', 'get_access_array') as $func) {
+ $cache = _elgg_get_access_cache();
+ $cache->clear();
+
+ // admin users run tests, so disable access
+ elgg_set_ignore_access(true);
+ $access = $func($user->getGUID());
+
+ elgg_set_ignore_access(false);
+ $access2 = $func($user->getGUID());
+ $this->assertNotEqual($access, $access2, "Access test for $func");
+ }
+
+ $user->delete();
+ }
}