60 lines
1.3 KiB
PHP
60 lines
1.3 KiB
PHP
|
<?php
|
||
|
namespace FluentTests\Logger;
|
||
|
|
||
|
use Fluent\Logger\Entity;
|
||
|
use Fluent\Logger\JsonPacker;
|
||
|
|
||
|
class JsonPackerTest extends \PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
const TAG = "debug.test";
|
||
|
const EXPECTED_TIME = 123456789;
|
||
|
|
||
|
protected $time;
|
||
|
protected $expected_data = array();
|
||
|
|
||
|
public function setUp()
|
||
|
{
|
||
|
$this->expected_data = array("abc" => "def");
|
||
|
}
|
||
|
|
||
|
public function testPack()
|
||
|
{
|
||
|
$entity = new Entity(self::TAG, $this->expected_data, self::EXPECTED_TIME);
|
||
|
|
||
|
$packer = new JsonPacker();
|
||
|
$result = $packer->pack($entity);
|
||
|
|
||
|
/*
|
||
|
* expected format.
|
||
|
* ["<Tag>", <Unixtime>, {object}]
|
||
|
*/
|
||
|
$this->assertStringMatchesFormat('["%s",%d,{"%s":"%s"}]', $result, "unexpected format returns");
|
||
|
|
||
|
return json_decode($result, true);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testPack
|
||
|
*/
|
||
|
public function testPackReturnTag($result)
|
||
|
{
|
||
|
$this->assertEquals($result['0'], self::TAG);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testPack
|
||
|
*/
|
||
|
public function testPackReturnTime($result)
|
||
|
{
|
||
|
$this->assertEquals($result['1'], self::EXPECTED_TIME);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testPack
|
||
|
*/
|
||
|
public function testPackReturnData($result)
|
||
|
{
|
||
|
$this->assertEquals($result['2'], $this->expected_data);
|
||
|
}
|
||
|
}
|