public function test_shared_locals() { $cacheA = $this->get_cache(); $cacheB = new LocalCache(); $cacheA->set('shared_test', 'has a value'); $cacheA->set('shared_test2', 'exists'); $keys = ['shared_test', 'shared_test2', 'missing']; $resA = $cacheA->get_multi($keys); $resB = $cacheB->get_multi($keys); $this->assertEmpty(array_diff($keys, array_keys($resA))); $this->assertEmpty(array_diff($keys, array_keys($resB))); foreach ($resA as $key => $itemA) { $itemB = $resB[$key]; $this->assertEquals($itemA->get_data(), $itemB->get_data()); } $cacheB->delete('shared_test'); $resA = $cacheA->get_multi($keys); $resB = $cacheB->get_multi($keys); $this->assertEmpty(array_diff($keys, array_keys($resA))); $this->assertEmpty(array_diff($keys, array_keys($resB))); foreach ($resA as $key => $itemA) { $itemB = $resB[$key]; $this->assertEquals($itemA->get_data(), $itemB->get_data()); } }