38 lines
897 B
PHP
38 lines
897 B
PHP
|
<?php
|
||
|
|
||
|
namespace NoccyLabs\React\Http2\Huffman;
|
||
|
|
||
|
use PHPUnit\Framework\Attributes\CoversClass;
|
||
|
|
||
|
#[CoversClass(Codec::class)]
|
||
|
#[CoversClass(Dictionary::class)]
|
||
|
class CodecTest extends \PHPUnit\Framework\TestCase
|
||
|
{
|
||
|
|
||
|
public function testDecodingExamplesFromRfc7541()
|
||
|
{
|
||
|
$dict = Dictionary::createRfc7541Dictionary();
|
||
|
$huff = new Codec($dict);
|
||
|
|
||
|
$in = "\xf1\xe3\xc2\xe5\xf2\x3a\x6b\xa0\xab\x90\xf4\xff";
|
||
|
$expect = "www.example.com";
|
||
|
$out = $huff->decode($in);
|
||
|
|
||
|
$this->assertEquals($expect, $out);
|
||
|
|
||
|
}
|
||
|
|
||
|
public function testEncodingExamplesFromRfc7541()
|
||
|
{
|
||
|
$dict = Dictionary::createRfc7541Dictionary();
|
||
|
$huff = new Codec($dict);
|
||
|
|
||
|
$in = "www.example.com";
|
||
|
$expect = "\xf1\xe3\xc2\xe5\xf2\x3a\x6b\xa0\xab\x90\xf4\xff";
|
||
|
$out = $huff->encode($in);
|
||
|
|
||
|
$this->assertEquals($expect, $out);
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|