public function testLookupNamespaceObeysParentBehavior() { $prefix = 'test'; $testString10 = 'TEST-v1-0'; $testString20 = 'TEST-v2-0'; $testString11 = 'TEST-v1-1'; $testString21 = 'TEST-v2-1'; $testString12 = 'TEST-v1-2'; $testString22 = 'TEST-v2-2'; App\AbstractBase::flushNamespaceLookupCache(); $feed = $this->feed; $feed->registerNamespace($prefix, $testString10, 1, 0); $feed->registerNamespace($prefix, $testString20, 2, 0); $feed->registerNamespace($prefix, $testString11, 1, 1); $feed->registerNamespace($prefix, $testString21, 2, 1); $feed->registerNamespace($prefix, $testString12, 1, 2); $feed->registerNamespace($prefix, $testString22, 2, 2); // Assumes default version (1) $result = $feed->lookupNamespace($prefix, 1, null); $this->assertEquals($testString12, $result); $result = $feed->lookupNamespace($prefix, 2, null); $this->assertEquals($testString22, $result); $result = $feed->lookupNamespace($prefix, 1, 1); $this->assertEquals($testString11, $result); $result = $feed->lookupNamespace($prefix, 2, 1); $this->assertEquals($testString21, $result); $result = $feed->lookupNamespace($prefix, null, null); $this->assertEquals($testString12, $result); $result = $feed->lookupNamespace($prefix, null, 1); $this->assertEquals($testString11, $result); // Override to retrieve latest version $feed->setMajorProtocolVersion(null); $result = $feed->lookupNamespace($prefix, null, null); $this->assertEquals($testString22, $result); $result = $feed->lookupNamespace($prefix, null, 1); $this->assertEquals($testString21, $result); }