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:----ERfFdEjSDYiugIT05g2ZmirlOtH7URC85y/Mimz4zvEXAzjrguQdWnanUjXJWWtdRJOKxPHPrZtOIGtZGnop5m+NnVOtK1CKclH9U4hAFitbUv/1oEtjc0SFyJb0U5Rorp2AhXf0q5Kbufs+1YSOp3a5ezIxiXFSIDQ9gBLTGeZamzpR56E3cRDaGLzAo1M2AYC0rRG3Fx21Emc8rphuMyBa+MmYm3MTsnvn/hHcJTtxbsYFWxwyPZrXydHpVcObbgDjookLlTrkmgIVcfvzcAT7FhNnMUR7Cn0jM/eeslCjskRX6KS+qPV0izNZnHkQIA/I2qX4s1HJ43rvmFg3rdF5/wJTt072UJ5iVGa4eM+dCdSssr4sI+xBrV+8O11p01hbxNgZ6JsR24vkxlcQTUhw7wSIK4/C0iK7WNUPGpVrnU5GaC7z6kg6djWLuYhvt8wrH+VLiB6tTV/n6hhBkDn21g6y2N/o63uhfJ/FbCT5Nva9Kjm3UbGPnRqiGItVo0g7mnrIXYu0MVMVr32mVgGprs7Y5+6e9jvxP6xtsIEIIq10r4mzQYATYkgzQW5kE+j8olqvI71JY8vF3cY1JGMmLe6nytdWxNKt0Mxxh4qitns6EX2vBNDl/ZRvADHeDux2k1QgOkqQ/NivbO0q8eJSUQknxeH/2YPzEPXXBmc=----ATTACHMENT:----NTIxMjc5NjA2NjIxMzMzNSA3Njc4NzMyNjAzMTYyODM1IDcwMjE5MjIzNzI0MDcwMzU=