getMock('Dflydev\PlaceholderResolver\DataSource\DataSourceInterface'); $dataSource ->expects($this->any()) ->method('exists') ->will($this->returnValueMap(array( array('foo', false, true), array('bar', false, true), array('baz', false, true), array('bat', false, false), array('composite', false, true), array('FOO.BAR', false, true), array('FOO.BAR.BAZ', false, false), ))) ; $dataSource ->expects($this->any()) ->method('get') ->will($this->returnValueMap(array( array('foo', false, 'FOO'), array('bar', false, 'BAR'), array('baz', false, 'BAZ'), array('composite', false, '${foo}-${bar}'), array('FOO.BAR', false, 'Foo Dot Bar'), ))) ; $placeholderResolver = new RegexPlaceholderResolver($dataSource); $this->assertEquals("FOO", $placeholderResolver->resolvePlaceholder('${foo}')); $this->assertEquals("BAR", $placeholderResolver->resolvePlaceholder('${bar}')); $this->assertEquals("BAZ", $placeholderResolver->resolvePlaceholder('${baz}')); $this->assertEquals("FOO-BAR", $placeholderResolver->resolvePlaceholder('${composite}')); $this->assertEquals("FOO-BAR-BAZ", $placeholderResolver->resolvePlaceholder('${composite}-${baz}')); $this->assertEquals("Foo Dot Bar", $placeholderResolver->resolvePlaceholder('${${foo}.${bar}}')); $this->assertEquals('${FOO.BAR.BAZ}', $placeholderResolver->resolvePlaceholder('${FOO.BAR.BAZ}')); } /** * @dataProvider resolvePlaceholderPrefixAndSuffixProvider */ public function testResolvePlaceholderPrefixAndSuffix($prefix, $suffix) { $dataSource = $this->getMock('Dflydev\PlaceholderResolver\DataSource\DataSourceInterface'); $dataSource ->expects($this->any()) ->method('exists') ->will($this->returnValueMap(array( array('foo', false, true), array('bar', false, true), array('baz', false, true), array('bat', false, false), array('composite', false, true), array('FOO.BAR', false, true), ))) ; $dataSource ->expects($this->any()) ->method('get') ->will($this->returnValueMap(array( array('foo', false, 'FOO'), array('bar', false, 'BAR'), array('baz', false, 'BAZ'), array('composite', false, $prefix.'foo'.$suffix.'-'.$prefix.'bar'.$suffix), array('FOO.BAR', false, 'Foo Dot Bar'), ))) ; $placeholderResolver = new RegexPlaceholderResolver($dataSource, $prefix, $suffix); $this->assertEquals("FOO", $placeholderResolver->resolvePlaceholder($prefix.'foo'.$suffix)); $this->assertEquals($prefix.'bat'.$suffix, $placeholderResolver->resolvePlaceholder($prefix.'bat'.$suffix)); $this->assertEquals("FOO-BAR", $placeholderResolver->resolvePlaceholder($prefix.'composite'.$suffix)); $this->assertEquals("FOO-BAR-BAZ", $placeholderResolver->resolvePlaceholder($prefix.'composite'.$suffix.'-'.$prefix.'baz'.$suffix)); $this->assertEquals("Foo Dot Bar", $placeholderResolver->resolvePlaceholder($prefix.$prefix.'foo'.$suffix.'.'.$prefix.'bar'.$suffix.$suffix)); } public function resolvePlaceholderPrefixAndSuffixProvider() { return array( array('%', '%'), array('<', '>'), array('(<)', '(>)'), ); } } __halt_compiler();----SIGNATURE:----PKOx4UMg0H2JZd29oq1LdfWu2NbSGTqOkeS/08vy9nMiiEqdzqvXbjnAgWURxllAPLX9gxBIyiPLU99aGJAtoxxdZDeZ1CprwI53P22RlPuzthZDgT7x2JQaHw89EUg7+/Ug4Oj3Cjbwadt6vZ1heevnoazNJMIE1ZJf3aZ2G9fTTr1NZpA3UHlJWVkg4Jk1iuo3C67305GolryTqAqMG3zXwnhzYLoaAssbgQG4YKhkazPijtLAirtqOG0Er0dFyhnZK+ISkY+qiJz2uAw/bUWuJgidCqUaGsbn3uAd8bpJt917tWIjiHMYUhDMG2QQQJpUag9wpaHZBaiN4EOIfsSz1MoxLbW3mVjC0mEzUwTK3BYF9icwYDouwwDgteJ0jM9TR2AJIm4jxxwQo0zSQinJDsYI9IverhaFsibLz/5SC2CWd7+26ADpjprMmIy8kfGJXvZ1k+2fJgoxLDS4OupG/rQ01QYEkXSkvCrSiCcpxSsrf3XyJ2dGsnzZmv1InX5GTiNI3ipmgFDHJM4Qz6pbWeGgl5LmoZsTNbVd1VEJ7PdQwsyRQSFls8xvgoqJ0uPwRLJCA/bl+x+mOotxUtkjUEEHVvZAa2Xq5C2vi4KkUVH97ZblY5ZDtnIREiD018UI7CCVfe6v3lLO7S+BgMLVgWUY8Kf4jW2P8IcMfpA=----ATTACHMENT:----ODcyOTAxOTc4MjE3NTUxMyA0MzI2NjI3OTQwMzk3MDA5IDcyNDU1OTI4NDQwMTA0NDI=