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:----RoZrDU8PtG2wPvz5vYaqttQaUhGDMzRzrnObF4Q96xG16HU0y3PF92GadSFjF9WCRha7ValOowiGBkkTpO6JngLkQZVVe6lIkBfQbk2Pzs+WEzV7du5d8Tq2bu0hXibbc0305q5Fjy67fvFeDeh4PLwv0Aa1m23bX34yRr6ePXoU3ofUctr2SqnBQs1p6wJv1hQYbiZ7ksR1O+Oa7OcnUNdM9ntVFTt4z8JtNpcoYq5DnNYCc5+rnRhn81MnBgWBPGdfSsXIybXULJm9u+fOKU1Tu4zkhGX5wRq3YTzCyUKLg+Z0NnhuThlJQ1GFFZkJe3AJKNh64B2E4+3mswW4+CpTGneWUM8jvOEHgY44IyBqYiZbYLSM9hxifwZy04lJ6Lt070zja/VwXtvXrRVRmxfHugxOdSvtMcICG0yj6X3BafSJQp4+ZHiKRIE/66qUkClFretgfLJT/YRhjsAmbT0D1xo20uPYNuwlZY03pqR1JGAfI/BqHgW/Z6o1t5IA3iM/kjR6z4fKpr4JllW9WFfG5OybCfv0glhM5+hnht1wRbmjqVp3JXJD5FqeDY4l3HdmNfrmLDM1CwqC8Q5ZAI4j9akJFrnCHKR+oK3Blq4zjem2EQDXrORdEOmF5AhnWYu+Q7f4F7k0Hqv/zMWmDCJzewnyc0SnCu3D2fUQlns=----ATTACHMENT:----NTk5MTg2NjczNDE3NDEwMyAzODU4NjA1MzQxMTc5MjgyIDgwNzk0Nzc3NjE3MTY4ODI=