', 'http://acme.com/%3Cwacky%20stuff%3E', ], [ 'http://acme.com\\back\\slash', 'http://acme.com%5Cback%5Cslash', ], [ 'http://acme.com/~`!@#$%^&*()-_=+[]{}|:;\'",.<>/?', 'http://acme.com/~%60!@#$%%5E&*()-_=+[]%7B%7D%7C:;\'%22,.%3C%3E/?', ], ]; } /** * @dataProvider provideEscapeIRI */ public function testEscapeIRI( $iri, $expected ) { $quoter = new N3Quoter(); $this->assertEquals( $expected, $quoter->escapeIRI( $iri ) ); } public function provideEscapeLiteral() { return [ [ 'Hello World', 'Hello World' ], [ "Hello\nWorld", 'Hello\nWorld' ], [ "Hello\tWorld", 'Hello\tWorld' ], [ 'Hällo Wörld', 'Hällo Wörld', false ], [ 'Hällo Wörld', 'H\u00E4llo W\u00F6rld', true ], [ '\a', '\\\\a' ], [ "\x7\v\0\x1F", '\u0007\u000B\u0000\u001F' ], ]; } /** * @dataProvider provideEscapeLiteral */ public function testEscapeLiteral( $literal, $expected, $escapeUnicode = false ) { $quoter = new N3Quoter(); $quoter->setEscapeUnicode( $escapeUnicode ); $this->assertEquals( $expected, $quoter->escapeLiteral( $literal ) ); } }