parseMessagePlaceholders($value['message'], $value['context']); $this->assertEquals($expected['message'], $value['message']); $this->assertEquals($expected['context'], $message_placeholders); } /** * Data provider for testParseMessagePlaceholders(). */ public function providerTestParseMessagePlaceholders() { return [ // PSR3 only message. [ ['message' => 'User {username} created', 'context' => ['username' => 'Dries']], ['message' => 'User @username created', 'context' => ['@username' => 'Dries']], ], // PSR3 style mixed in a format_string style message. [ ['message' => 'User {username} created @time', 'context' => ['username' => 'Dries', '@time' => 'now']], ['message' => 'User @username created @time', 'context' => ['@username' => 'Dries', '@time' => 'now']], ], // format_string style message only. [ ['message' => 'User @username created', 'context' => ['@username' => 'Dries']], ['message' => 'User @username created', 'context' => ['@username' => 'Dries']], ], // Message without placeholders but wildcard characters. [ ['message' => 'User W-\\};~{&! created @', 'context' => ['' => '']], ['message' => 'User W-\\};~{&! created @', 'context' => []], ], // Message with double PSR3 style messages. [ ['message' => 'Test {with} two {encapsuled} strings', 'context' => ['with' => 'together', 'encapsuled' => 'awesome']], ['message' => 'Test @with two @encapsuled strings', 'context' => ['@with' => 'together', '@encapsuled' => 'awesome']], ], ]; } }