X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FRouting%2FParameterBindingTest.php;fp=web%2Fmodules%2Fcontrib%2Fdrupalmoduleupgrader%2Ftests%2Fsrc%2FUnit%2FRouting%2FParameterBindingTest.php;h=6d4d5bc574b267fe09e516b4208a81bef63f0ce8;hb=8acec36f19c470dfcda1ae2336826a782f41874c;hp=0000000000000000000000000000000000000000;hpb=e0411c4e83ba0d079034db83c3f7f55be24a0e35;p=yaffs-website diff --git a/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Routing/ParameterBindingTest.php b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Routing/ParameterBindingTest.php new file mode 100644 index 000000000..6d4d5bc57 --- /dev/null +++ b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Routing/ParameterBindingTest.php @@ -0,0 +1,117 @@ +parameter = ParameterNode::create('foo'); + } + + public function testGetParameter() { + $path = new PathUtility('foo/baz'); + $binding = new ParameterBinding($path, $this->parameter); + $this->assertSame($this->parameter, $binding->getParameter()); + } + + public function testInPath() { + $path = new PathUtility('foo/baz'); + $binding = new ParameterBinding($path, $this->parameter); + $this->assertFalse($binding->inPath()); + + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 1); + $this->assertTrue($binding->inPath()); + } + + public function testHasArgument() { + $path = new PathUtility('foo/baz'); + $binding = new ParameterBinding($path, $this->parameter); + $this->assertFalse($binding->hasArgument()); + + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 1); + $this->assertTrue($binding->hasArgument()); + + $path = new PathUtility('foo/%'); + $binding = new ParameterBinding($path, $this->parameter, 'baz'); + $this->assertTrue($binding->hasArgument()); + } + + public function testGetArgument() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 1); + $this->assertSame(1, $binding->getArgument()); + + $path = new PathUtility('foo/%'); + $binding = new ParameterBinding($path, $this->parameter, 'baz'); + $this->assertEquals('baz', $binding->getArgument()); + } + + public function testIsPathPosition() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 1); + $this->assertTrue($binding->isPathPosition()); + + $path = new PathUtility('foo/%'); + $binding = new ParameterBinding($path, $this->parameter, 'baz'); + $this->assertFalse($binding->isPathPosition()); + } + + public function testGetValuePathPositionInPath() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 1); + $value = $binding->getValue(); + $this->assertInstanceOf('\Drupal\drupalmoduleupgrader\Utility\Path\PathComponentInterface', $value); + $this->assertEquals('%node', $value); + } + + public function testGetValuePathPositionNotInPath() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 2); + $value = $binding->getValue(); + $this->assertInstanceOf('\Drupal\drupalmoduleupgrader\Utility\Path\PathComponentInterface', $value); + $this->assertEquals('%', $value); + } + + public function testGetValueStaticArgument() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter, 'baz'); + $this->assertEquals('baz', $binding->getValue()); + } + + public function testGetValueNoArgument() { + $this->parameter->setValue(StringNode::fromValue('har')); + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter); + $this->assertEquals('har', $binding->getValue()); + } + + public function testGetValueNoArgumentNoDefaultvalue() { + $path = new PathUtility('foo/%node'); + $binding = new ParameterBinding($path, $this->parameter); + $this->assertNull($binding->getValue()); + } + +}