lithium\tests\cases\net\http\MediaTest::testCustomEncodeHandler PHP Method

testCustomEncodeHandler() public method

    public function testCustomEncodeHandler()
    {
        $response = new Response();
        Media::type('csv', 'application/csv', array('encode' => function ($data) {
            ob_start();
            $out = fopen('php://output', 'w');
            foreach ($data as $record) {
                fputcsv($out, $record);
            }
            fclose($out);
            return ob_get_clean();
        }));
        $data = array(array('John', 'Doe', '123 Main St.', 'Anytown, CA', '91724'), array('Jane', 'Doe', '124 Main St.', 'Anytown, CA', '91724'));
        $response->type('csv');
        Media::render($response, $data);
        $result = $response->body;
        $expected = 'John,Doe,"123 Main St.","Anytown, CA",91724' . "\n";
        $expected .= 'Jane,Doe,"124 Main St.","Anytown, CA",91724' . "\n";
        $this->assertEqual(array($expected), $result);
        $result = $response->headers['Content-Type'];
        $this->assertEqual('application/csv; charset=UTF-8', $result);
    }