X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Flibs%2FMemoizedCallableTest.php;h=628cca0c68773569c6d5224cb74a856e9aa3693b;hb=6cfb2e3d7a2b96d5041312fcec88248bb46573d7;hp=9127a30f7a1260c96ae1698336e9df2a47d5360f;hpb=302e19c143d55cca7e10e37f3bf72a886e52b1be;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/libs/MemoizedCallableTest.php b/tests/phpunit/includes/libs/MemoizedCallableTest.php index 9127a30f7a..628cca0c68 100644 --- a/tests/phpunit/includes/libs/MemoizedCallableTest.php +++ b/tests/phpunit/includes/libs/MemoizedCallableTest.php @@ -1,27 +1,6 @@ cache ) ) { - $success = true; - return $this->cache[$key]; - } - $success = false; - return false; - } - - protected function storeResult( $key, $result ) { - $this->cache[$key] = $result; - } -} - -/** - * PHP Unit tests for MemoizedCallable class. + * PHPUnit tests for MemoizedCallable class. * @covers MemoizedCallable */ class MemoizedCallableTest extends PHPUnit\Framework\TestCase { @@ -140,3 +119,24 @@ class MemoizedCallableTest extends PHPUnit\Framework\TestCase { $memoized = new MemoizedCallable( 14 ); } } + +/** + * A MemoizedCallable subclass that stores function return values + * in an instance property rather than APC or APCu. + */ +class ArrayBackedMemoizedCallable extends MemoizedCallable { + private $cache = []; + + protected function fetchResult( $key, &$success ) { + if ( array_key_exists( $key, $this->cache ) ) { + $success = true; + return $this->cache[$key]; + } + $success = false; + return false; + } + + protected function storeResult( $key, $result ) { + $this->cache[$key] = $result; + } +}