3 * Copyright (C) 2018 Kunal Mehta <legoktm@member.fsf.org>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 class EasyDeflateTest
extends PHPUnit\Framework\TestCase
{
26 public function provideIsDeflated() {
28 [ 'rawdeflate,S8vPT0osAgA=', true ],
29 [ 'abcdefghijklmnopqrstuvwxyz', false ],
34 * @dataProvider provideIsDeflated
36 public function testIsDeflated( $data, $expected ) {
37 $actual = EasyDeflate
::isDeflated( $data );
38 $this->assertSame( $expected, $actual );
41 public function provideInflate() {
43 [ 'rawdeflate,S8vPT0osAgA=', true, 'foobar' ],
44 // Fails base64_decode
45 [ 'rawdeflate,🌻', false, 'easydeflate-invaliddeflate' ],
47 [ 'rawdeflate,S8vPT0dfdAgB=', false, 'easydeflate-invaliddeflate' ],
52 * @dataProvider provideInflate
54 public function testInflate( $data, $ok, $value ) {
55 $actual = EasyDeflate
::inflate( $data );
57 $this->assertTrue( $actual->isOK() );
58 $this->assertSame( $value, $actual->getValue() );
60 $this->assertFalse( $actual->isOK() );
61 $this->assertTrue( $actual->hasMessage( $value ) );