[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/tests/inc/ -> io_readfile.test.php (source)

   1  <?php
   2  
   3  class io_readfile_test extends DokuWikiTest {
   4  
   5      /*
   6       * dependency for tests needing zlib extension to pass
   7       */
   8      public function test_ext_zlib() {
   9          if (!DOKU_HAS_GZIP) {
  10              $this->markTestSkipped('skipping all zlib tests.  Need zlib extension');
  11              return;
  12          }
  13          $this->assertTrue(true);
  14      }
  15  
  16      /*
  17       * dependency for tests needing zlib extension to pass
  18       */
  19      public function test_ext_bz2() {
  20          if (!DOKU_HAS_BZIP) {
  21              $this->markTestSkipped('skipping all bzip2 tests.  Need bz2 extension');
  22              return;
  23          }
  24          $this->assertTrue(true);
  25      }
  26  
  27      function test_plain(){
  28          // since git converts line endings, we can't check in this test file but have to create it ourselves
  29          $plain = TMP_DIR.'/test.txt';
  30          file_put_contents($plain, "The\015\012Test\015\012");
  31  
  32          $this->assertEquals("The\012Test\012", io_readFile($plain));
  33          $this->assertEquals("The\015\012Test\015\012", io_readFile($plain, false));
  34          $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt'));
  35      }
  36  
  37      /**
  38       * @depends test_ext_zlib
  39       */
  40      function test_gzfiles(){
  41          $this->assertEquals("The\012Test\012", io_readFile(__DIR__.'/io_readfile/test.txt.gz'));
  42          $this->assertEquals("The\015\012Test\015\012", io_readFile(__DIR__.'/io_readfile/test.txt.gz', false));
  43          $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt.gz'));
  44          $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/corrupt.txt.gz'));
  45      }
  46  
  47      /**
  48       * @depends test_ext_bz2
  49       */
  50      function test_bzfiles(){
  51          $this->assertEquals("The\012Test\012", io_readFile(__DIR__.'/io_readfile/test.txt.bz2'));
  52          $this->assertEquals("The\015\012Test\015\012", io_readFile(__DIR__.'/io_readfile/test.txt.bz2', false));
  53          $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/nope.txt.bz2'));
  54          $this->assertEquals(false, io_readFile(__DIR__.'/io_readfile/corrupt.txt.bz2'));
  55          // internal bzfile function
  56          $this->assertEquals(array("The\015\012","Test\015\012"), bzfile(__DIR__.'/io_readfile/test.txt.bz2', true));
  57          $this->assertEquals(array_fill(0, 120, str_repeat('a', 80)."\012"), bzfile(__DIR__.'/io_readfile/large.txt.bz2', true));
  58          $line = str_repeat('a', 8888)."\012";
  59          $this->assertEquals(array($line,"\012",$line,"!"), bzfile(__DIR__.'/io_readfile/long.txt.bz2', true));
  60      }
  61  
  62  }