xref: /dokuwiki/_test/tests/inc/io_getSizeFile.test.php (revision f549be3d2c2fee54cbf7fcdb43461755a7753e0f)
1*f549be3dSGerrit Uitslag<?php
2*f549be3dSGerrit Uitslag
3*f549be3dSGerrit Uitslagclass io_getSizeFile_test extends DokuWikiTest {
4*f549be3dSGerrit Uitslag
5*f549be3dSGerrit Uitslag    /*
6*f549be3dSGerrit Uitslag     * dependency for tests needing zlib extension to pass
7*f549be3dSGerrit Uitslag     */
8*f549be3dSGerrit Uitslag    public function test_ext_zlib() {
9*f549be3dSGerrit Uitslag        if (!DOKU_HAS_GZIP) {
10*f549be3dSGerrit Uitslag            $this->markTestSkipped('skipping all zlib tests.  Need zlib extension');
11*f549be3dSGerrit Uitslag        }
12*f549be3dSGerrit Uitslag    }
13*f549be3dSGerrit Uitslag
14*f549be3dSGerrit Uitslag    /*
15*f549be3dSGerrit Uitslag     * dependency for tests needing zlib extension to pass
16*f549be3dSGerrit Uitslag     */
17*f549be3dSGerrit Uitslag    public function test_ext_bz2() {
18*f549be3dSGerrit Uitslag        if (!DOKU_HAS_BZIP) {
19*f549be3dSGerrit Uitslag            $this->markTestSkipped('skipping all bzip2 tests.  Need bz2 extension');
20*f549be3dSGerrit Uitslag        }
21*f549be3dSGerrit Uitslag    }
22*f549be3dSGerrit Uitslag
23*f549be3dSGerrit Uitslag    function test_plain(){
24*f549be3dSGerrit Uitslag        // since git converts line endings, we can't check in this test file but have to create it ourselves
25*f549be3dSGerrit Uitslag        $plain = TMP_DIR.'/test.txt';
26*f549be3dSGerrit Uitslag        file_put_contents($plain, "The\015\012Test\015\012");
27*f549be3dSGerrit Uitslag
28*f549be3dSGerrit Uitslag        $this->assertEquals(11, io_getSizeFile($plain));
29*f549be3dSGerrit Uitslag        $this->assertEquals(0, io_getSizeFile(__DIR__.'/io_readfile/nope.txt'));
30*f549be3dSGerrit Uitslag        $plain_mb = TMP_DIR.'/test.txt';
31*f549be3dSGerrit Uitslag        io_saveFile($plain_mb, "string with utf-8 chars åèö - doo-bee doo-bee dooh\012");
32*f549be3dSGerrit Uitslag        $this->assertEquals(54, io_getSizeFile($plain_mb));
33*f549be3dSGerrit Uitslag    }
34*f549be3dSGerrit Uitslag
35*f549be3dSGerrit Uitslag    /**
36*f549be3dSGerrit Uitslag     * @depends test_ext_zlib
37*f549be3dSGerrit Uitslag     */
38*f549be3dSGerrit Uitslag    function test_gzfiles(){
39*f549be3dSGerrit Uitslag        $this->assertEquals(11, io_getSizeFile(__DIR__.'/io_readfile/test.txt.gz'));
40*f549be3dSGerrit Uitslag        $this->assertEquals(0, io_getSizeFile(__DIR__.'/io_readfile/nope.txt.gz'));
41*f549be3dSGerrit Uitslag        $this->assertEquals(11, io_getSizeFile(__DIR__.'/io_readfile/corrupt.txt.gz'));
42*f549be3dSGerrit Uitslag        $gz_mb = TMP_DIR.'/test.txt.gz';
43*f549be3dSGerrit Uitslag        io_saveFile($gz_mb, "string with utf-8 chars åèö - doo-bee doo-bee dooh\012");
44*f549be3dSGerrit Uitslag        $this->assertEquals(54, io_getSizeFile($gz_mb));
45*f549be3dSGerrit Uitslag    }
46*f549be3dSGerrit Uitslag
47*f549be3dSGerrit Uitslag    /**
48*f549be3dSGerrit Uitslag     * @depends test_ext_bz2
49*f549be3dSGerrit Uitslag     */
50*f549be3dSGerrit Uitslag    function test_bzfiles(){
51*f549be3dSGerrit Uitslag
52*f549be3dSGerrit Uitslag        $this->assertEquals(11, io_getSizeFile(__DIR__.'/io_readfile/test.txt.bz2'));
53*f549be3dSGerrit Uitslag        $this->assertEquals(0, io_getSizeFile(__DIR__.'/io_readfile/nope.txt.bz2'));
54*f549be3dSGerrit Uitslag        $this->assertEquals(0, io_getSizeFile(__DIR__.'/io_readfile/corrupt.txt.bz2'));
55*f549be3dSGerrit Uitslag        $this->assertEquals(9720, io_getSizeFile(__DIR__.'/io_readfile/large.txt.bz2'));
56*f549be3dSGerrit Uitslag        $this->assertEquals(17780, io_getSizeFile(__DIR__.'/io_readfile/long.txt.bz2'));
57*f549be3dSGerrit Uitslag        $bz_mb = TMP_DIR.'/test.txt.bz2';
58*f549be3dSGerrit Uitslag        io_saveFile($bz_mb, "string with utf-8 chars åèö - doo-bee doo-bee dooh\012");
59*f549be3dSGerrit Uitslag        $this->assertEquals(54, io_getSizeFile($bz_mb));
60*f549be3dSGerrit Uitslag    }
61*f549be3dSGerrit Uitslag
62*f549be3dSGerrit Uitslag}
63