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:----G1U076u0VRGdJl9ro2/f2jBvd3+tsC8m+1RyNuZKWqpQlVOhx32zptUM9c9XeIBSxzVpmUkYBU1CncALjBwniFA6vFd0el7UJh4qKq6D8QLjY20wM51bJ+vKP4rue1nCbDgBm0XBeW8hN2rv2nUoDVICSNU7YJH7UEf1TUlytZQvofs3fvEg6bkoOWmbii6HirM/ajHuXPtTFM4UfzdXPPPG0+pH305W/YdrAj57Wj4L7jtdsfIspXHGR0pTsA65mpEnTk/atXxZysSu1AbFxiLOkDvcitaRfd2IMyMaJYlZtmcvoMEzEECNzIrVZ/lnmLm6hqzXp72j8FejZFXvlAwuPwm7p7mqMU84yBQKP/sokRkfzLzPHX7rvXRk/wxz/Pe8wmhpTkwghK/YmtKFIbaCqkyiBo3EjOSu4ZPWsaRm5nHH759x8R6bdMNyBJ/QdQKXTpKeP59/hSYl7cO9J3Pic4sYmsslj/ncogVrkTO6zNJT3zwMIdoLD8bNkIswlqazeUk5I8jfL9N4gkSA/BvPXHY/kQ1+gWHzIICeiulG+Z7Bal/Vyo1A8352LJy+wxfzGodoJXw9Y59756GhFo2szjHjGJoztC7f3qhNPJstwvGQ+v3crooHJ9jYEvAJB0ftfddXnLAQ6xyGXNyEjzel5OH+ya8NnZL/7dTS0nw=----ATTACHMENT:----ODE0ODg1MzkyNjg3NjYwMiA3NDQwMDA3NzE4MjA4NDk0IDI1NzE5MjE5MjM0OTg0NjU=