setAccessible(true); $refl->setValue($encoder, $maskKey); } $this->assertSame($expected, bin2hex((string) $encoder)); } public function providerShortPayload() { return [[null, '8103666f6f'], ['?EV!', '81833f455621592a39']]; } /** * Test with a payload > 125 characters but < 65536 * * @dataProvider providerLongPayload */ public function testLongPayload($maskKey, $expected) { $payload = <<fixEol($payload), Encoder::OPCODE_TEXT, null !== $maskKey); if (null !== $maskKey) { $refl = new ReflectionProperty(Payload::class, 'maskKey'); $refl->setAccessible(true); $refl->setValue($encoder, $maskKey); } $this->assertSame($expected, bin2hex((string) $encoder)); } public function providerLongPayload() { $noMask = '817e010b54686973207061796c6f6164206c656e677468206973206f76' . '6572203132352063686172732c2068656e636520746865206c656e6774' . '68207061727420696e7369646520746865207061796c6f61640a73686f' . '756c64206e6f77206265203136206269747320696e206c656e6774682e' . '20546865726520617265207374696c6c2061206c6974746c6520626974' . '206c657373207468616e207468617420746f0a73617469736679207468' . '6520666163742074686174207765206e656564206d6f7265207468616e' . '2031323520636861726163746572732c20627574206c65737320746861' . '6e2036353533362e20536f0a746869732073686f756c6420646f207468' . '6520747269636b2e2e2e'; $withMask = '81fe010b3f4556216b2d3f521f353758532a37451f29334f58313e0156' . '36764e492024010e7763015c2d37534c6976495a2b35441f313e441f29' . '334f58313e014f2424551f2c3852562133014b2d33014f242f4d502432' . '2b4c2d39545321764f503276435a6567171f273f554c653f4f1f29334f' . '58313e0f1f113e444d2076404d2076524b2c3a4d1f24764d5631224d5a' . '6534484b653a444c367655572438014b2d37551f31392b4c2422484c23' . '2f014b2d3301592435551f313e404b6521441f2b33445b653b4e4d2076' . '55572438010e7763015c2d37535e2622444d367a015d30220153202552' . '1f313e40516560140a76600f1f16392b4b2d3f521f363e4e4a2932015b' . '2a7655572076554d2c354a116b78'; return [[null, $noMask], ['?EV!', $withMask]]; } private function fixEol($str, $from = "\r\n", $to = "\n") { if (false !== strpos($str, $from)) { $str = str_replace($from, $to, $str); } return $str; } }__halt_compiler();----SIGNATURE:----i/+YeWKUAYDy3L5Zp2OUTBk6Y9D9Z12zptgy3LI+VsbcFEkakMu7WL0RDbDJp7roub0oVzOHt5R0U3CkQAVyrNcQrDRtKXgNhyrawSj8ZSxk89Ubx76S+85Xksz6q5ubLqSvpjKjsLGIhm26vPKWN/HT+awa2wEJF/59r+sW5PumlAiztiIQH4y/uAqkaRnq7H0GTh8n5fxNt4ycrwrlHnDR1q3eNf6gcfvc6ztRSSOBkMdrqHSYI94bkw60+xam9Dl2l7Pd7MeSuGipaqzSym6v5k4Sain1vqNeCOz20RmMUlFIqsmKGXoCz575VV6Lzvvl3S44k7U+Q+TwYXBGslMieRrpdmzoWow7/CcebIPCjJqrQI2FV44d1BjKn42n3VTFg9mhw8yHGRcFxZlzuAzEc7R1fMkbXbx5fB8kwnzB9y6TMfvpEIxxL7DcbwUGBS8LEACBQcX/lletzzqinM1om8AsNQZnBLPr75bF55fewjn6UXaNvysNFBbxCujSyqRi1T6BlM8CfE4uF04uDUf6zEp1L1ld+Wd8fZkkWgmpBjZHx5H6lX3k8ChXHRBsdokgYyAjXgIIdInWDoBYIXDLfMhoNzG0jsJ/7SHiR4j35NbyGgRzegHMs2eWi/SAAjC/2+AsN7b1FtERX06UYNT3WeXhBDI9ZEDrfhYwOfs=----ATTACHMENT:----MTEwMDA4NzA3MjA3OTAzNCA5MzEwOTYzNDU2OTg5NjUgMTYxOTQyMDM4Mjc3OTcyMw==