Example #1
0
 });
 describe("::set()", function () {
     it("supports custom handlers", function () {
         Media::set('csv', ['application/csv'], ['encode' => function ($data) {
             ob_start();
             $out = fopen('php://output', 'w');
             foreach ($data as $record) {
                 fputcsv($out, $record);
             }
             fclose($out);
             return ob_get_clean();
         }]);
         $response = new Response();
         $response->format('csv');
         $data = [['John', 'Doe', '123 Main St.', 'Anytown, CA', '91724'], ['Jane', 'Doe', '124 Main St.', 'Anytown, CA', '91724']];
         $response->set($data);
         $expected = 'John,Doe,"123 Main St.","Anytown, CA",91724' . "\n";
         $expected .= 'Jane,Doe,"124 Main St.","Anytown, CA",91724' . "\n";
         expect($response->body())->toBe($expected);
         expect((string) $response->headers['Content-Type'])->toBe('Content-Type: application/csv');
     });
 });
 describe("::remove()", function () {
     it("remove a format", function () {
         Media::set('csv', []);
         Media::set('pdf', []);
         expect(Media::get('csv'))->not->toBe(null);
         expect(Media::get('pdf'))->not->toBe(null);
         Media::remove(['csv', 'pdf']);
         expect(Media::get('csv'))->toBe(null);
         expect(Media::get('pdf'))->toBe(null);