public function testSetGetHasAndRemoveItemsWithSpecificNamespace() { $this->_options->setNamespace('defaultns'); $items = array( 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', ); $this->assertSame(array(), $this->_storage->setItems($items, array('namespace' => 'specificns'))); $this->assertEquals(array(), $this->_storage->hasItems(array_keys($items))); $rs = $this->_storage->getItems(array_keys($items), array('namespace' => 'specificns')); $this->assertInternalType('array', $rs); foreach ($items as $key => $value) { $this->assertArrayHasKey($key, $rs); $this->assertEquals($value, $rs[$key]); } $rs = $this->_storage->hasItems(array_keys($items), array('namespace' => 'specificns')); $this->assertInternalType('array', $rs); $this->assertEquals(count($items), count($rs)); foreach ($items as $key => $value) { $this->assertContains($key, $rs); } // remove the first and the last item $this->assertSame(array('missing'), $this->_storage->removeItems(array('missing', 'key1', 'key3'), array('namespace' => 'specificns'))); unset($items['key1'], $items['key3']); $rs = $this->_storage->getItems(array_keys($items), array('namespace' => 'specificns')); $this->assertInternalType('array', $rs); foreach ($items as $key => $value) { $this->assertArrayHasKey($key, $rs); $this->assertEquals($value, $rs[$key]); } $rs = $this->_storage->hasItems(array_keys($items), array('namespace' => 'specificns')); $this->assertInternalType('array', $rs); $this->assertEquals(count($items), count($rs)); foreach ($items as $key => $value) { $this->assertContains($key, $rs); } }