From 0aef5c083d5d80371a6a415d8e86b5c2a8d1de32 Mon Sep 17 00:00:00 2001 From: Master Yoda Date: Mon, 11 Jun 2018 23:30:14 -0700 Subject: [PATCH] Date & filesystem helper tests --- tests/system/Helpers/DateHelperTest.php | 9 +- tests/system/Helpers/FilesystemHelperTest.php | 405 +++++++----------- 2 files changed, 157 insertions(+), 257 deletions(-) diff --git a/tests/system/Helpers/DateHelperTest.php b/tests/system/Helpers/DateHelperTest.php index b718ec2fd4..bb6bea584b 100644 --- a/tests/system/Helpers/DateHelperTest.php +++ b/tests/system/Helpers/DateHelperTest.php @@ -23,7 +23,7 @@ final class DateHelperTest extends \CIUnitTestCase public function testNowDefault() { $time = new \DateTime(); - $this->assertLessThan(1, abs(now() - time())); + $this->assertLessThan(1, abs(now() - time())); // close enough } //-------------------------------------------------------------------- @@ -32,13 +32,6 @@ final class DateHelperTest extends \CIUnitTestCase { // Chicago should be two hours ahead of Vancouver $this->assertEquals(7200,now('America/Chicago')-now('America/Vancouver')); -// $zone = 'America/Vancouver'; -// $time = new \DateTime('now', new \DateTimeZone($zone)); -// echo now($zone) . '\n'; -// echo now() . '\n'; -// echo $time->getTimestamp() . '\n'; -// -// $this->assertLessThan(1, abs(now($zone) - $time->getTimestamp())); } } diff --git a/tests/system/Helpers/FilesystemHelperTest.php b/tests/system/Helpers/FilesystemHelperTest.php index cbf2c437a5..6418516503 100644 --- a/tests/system/Helpers/FilesystemHelperTest.php +++ b/tests/system/Helpers/FilesystemHelperTest.php @@ -5,294 +5,201 @@ use org\bovigo\vfs\vfsStream; class FilesystemHelperTest extends \CIUnitTestCase { - public function testDirectoryMapDefaults() - { - helper('filesystem'); - $this->assertTrue(function_exists('directory_map')); + public function setUp() + { + parent::setUp(); - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; + $this->structure = [ + 'foo' => [ + 'bar' => 'Once upon a midnight dreary', + 'baz' => 'While I pondered weak and weary' + ], + 'boo' => [ + 'far' => 'Upon a tome of long-forgotten lore', + 'faz' => 'There came a tapping up on the door' + ], + 'AnEmptyFolder' => [], + 'simpleFile' => 'A tap-tap-tapping upon my door', + '.hidden' => 'There is no spoon' + ]; + } - $expected = [ - 'foo' . DIRECTORY_SEPARATOR => [ - 'bar', - 'baz' - ], - 'boo' . DIRECTORY_SEPARATOR => [ - 'far', - 'faz' - ], - 'AnEmptyFolder' . DIRECTORY_SEPARATOR => [], - 'simpleFile' - ]; + //-------------------------------------------------------------------- - $root = vfsStream::setup('root', null, $structure); - $this->assertTrue($root->hasChild('foo')); + public function testDirectoryMapDefaults() + { + helper('filesystem'); + $this->assertTrue(function_exists('directory_map')); - $this->assertEquals($expected, directory_map(vfsStream::url('root'))); - } + $expected = [ + 'foo' . DIRECTORY_SEPARATOR => [ + 'bar', + 'baz' + ], + 'boo' . DIRECTORY_SEPARATOR => [ + 'far', + 'faz' + ], + 'AnEmptyFolder' . DIRECTORY_SEPARATOR => [], + 'simpleFile' + ]; - //-------------------------------------------------------------------- + $root = vfsStream::setup('root', null, $this->structure); + $this->assertTrue($root->hasChild('foo')); - public function testDirectoryMapShowsHiddenFiles() - { - helper('filesystem'); - $this->assertTrue(function_exists('directory_map')); + $this->assertEquals($expected, directory_map(vfsStream::url('root'))); + } - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; + public function testDirectoryMapShowsHiddenFiles() + { + helper('filesystem'); + $this->assertTrue(function_exists('directory_map')); - $expected = [ - 'foo' . DIRECTORY_SEPARATOR => [ - 'bar', - 'baz' - ], - 'boo' . DIRECTORY_SEPARATOR => [ - 'far', - 'faz' - ], - 'AnEmptyFolder' . DIRECTORY_SEPARATOR => [], - 'simpleFile', - '.hidden' - ]; + $expected = [ + 'foo' . DIRECTORY_SEPARATOR => [ + 'bar', + 'baz' + ], + 'boo' . DIRECTORY_SEPARATOR => [ + 'far', + 'faz' + ], + 'AnEmptyFolder' . DIRECTORY_SEPARATOR => [], + 'simpleFile', + '.hidden' + ]; - $root = vfsStream::setup('root', null, $structure); - $this->assertTrue($root->hasChild('foo')); + $root = vfsStream::setup('root', null, $this->structure); + $this->assertTrue($root->hasChild('foo')); - $this->assertEquals($expected, directory_map(vfsStream::url('root'), false, true)); - } + $this->assertEquals($expected, directory_map(vfsStream::url('root'), false, true)); + } - //-------------------------------------------------------------------- + public function testDirectoryMapLimitsRecursion() + { + $this->assertTrue(function_exists('directory_map')); - public function testDirectoryMapLimitsRecursion() - { - $this->assertTrue(function_exists('directory_map')); + $expected = [ + 'foo' . DIRECTORY_SEPARATOR, + 'boo' . DIRECTORY_SEPARATOR, + 'AnEmptyFolder' . DIRECTORY_SEPARATOR, + 'simpleFile', + '.hidden' + ]; - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; + $root = vfsStream::setup('root', null, $this->structure); + $this->assertTrue($root->hasChild('foo')); - $expected = [ - 'foo' . DIRECTORY_SEPARATOR, - 'boo' . DIRECTORY_SEPARATOR, - 'AnEmptyFolder' . DIRECTORY_SEPARATOR, - 'simpleFile', - '.hidden' - ]; + $this->assertEquals($expected, directory_map(vfsStream::url('root'), 1, true)); + } - $root = vfsStream::setup('root', null, $structure); - $this->assertTrue($root->hasChild('foo')); + //-------------------------------------------------------------------- - $this->assertEquals($expected, directory_map(vfsStream::url('root'), 1, true)); - } + public function testWriteFileSuccess() + { + $vfs = vfsStream::setup('root'); - //-------------------------------------------------------------------- + $this->assertTrue(write_file(vfsStream::url('root/test.php'), 'Simple')); + $this->assertFileExists($vfs->getChild('test.php')->url()); + } - public function testWriteFileSuccess() - { - $vfs = vfsStream::setup('root'); + //-------------------------------------------------------------------- - $this->assertTrue(write_file(vfsStream::url('root/test.php'), 'Simple')); - $this->assertFileExists($vfs->getChild('test.php')->url()); - } + public function testDeleteFilesDefaultsToOneLevelDeep() + { + $this->assertTrue(function_exists('delete_files')); - //-------------------------------------------------------------------- + $vfs = vfsStream::setup('root', null, $this->structure); - public function testDeleteFilesDefaultsToOneLevelDeep() - { - $this->assertTrue(function_exists('delete_files')); + delete_files(vfsStream::url('root')); - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; + $this->assertFalse($vfs->hasChild('simpleFile')); + $this->assertFalse($vfs->hasChild('.hidden')); + $this->assertTrue($vfs->hasChild('foo')); + $this->assertTrue($vfs->hasChild('boo')); + $this->assertTrue($vfs->hasChild('AnEmptyFolder')); + } - $vfs = vfsStream::setup('root', null, $structure); + public function testDeleteFilesHandlesRecursion() + { + $this->assertTrue(function_exists('delete_files')); - delete_files(vfsStream::url('root')); + $vfs = vfsStream::setup('root', null, $this->structure); - $this->assertFalse($vfs->hasChild('simpleFile')); - $this->assertFalse($vfs->hasChild('.hidden')); - $this->assertTrue($vfs->hasChild('foo')); - $this->assertTrue($vfs->hasChild('boo')); - $this->assertTrue($vfs->hasChild('AnEmptyFolder')); - } + delete_files(vfsStream::url('root'), true); - //-------------------------------------------------------------------- + $this->assertFalse($vfs->hasChild('simpleFile')); + $this->assertFalse($vfs->hasChild('.hidden')); + $this->assertFalse($vfs->hasChild('foo')); + $this->assertFalse($vfs->hasChild('boo')); + $this->assertFalse($vfs->hasChild('AnEmptyFolder')); + } - public function testDeleteFilesHandlesRecursion() - { - $this->assertTrue(function_exists('delete_files')); + public function testDeleteFilesLeavesHTFiles() + { + $structure = array_merge($this->structure, [ + '.htaccess' => 'Deny All', + 'index.html' => 'foo', + 'index.php' => 'blah' + ]); - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; + $vfs = vfsStream::setup('root', null, $structure); - $vfs = vfsStream::setup('root', null, $structure); + delete_files(vfsStream::url('root'), true, true); - delete_files(vfsStream::url('root'), true); + $this->assertFalse($vfs->hasChild('simpleFile')); + $this->assertFalse($vfs->hasChild('foo')); + $this->assertFalse($vfs->hasChild('boo')); + $this->assertFalse($vfs->hasChild('AnEmptyFolder')); + $this->assertTrue($vfs->hasChild('.htaccess')); + $this->assertTrue($vfs->hasChild('index.html')); + $this->assertTrue($vfs->hasChild('index.php')); + } - $this->assertFalse($vfs->hasChild('simpleFile')); - $this->assertFalse($vfs->hasChild('.hidden')); - $this->assertFalse($vfs->hasChild('foo')); - $this->assertFalse($vfs->hasChild('boo')); - $this->assertFalse($vfs->hasChild('AnEmptyFolder')); - } + //-------------------------------------------------------------------- - //-------------------------------------------------------------------- + public function testGetFilenames() + { + $this->assertTrue(function_exists('delete_files')); - public function testDeleteFilesLeavesHTFiles() - { - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon', - '.htaccess' => 'Deny All', - 'index.html' => 'foo', - 'index.php' => 'blah' - ]; + // Not sure the directory names should actually show up + // here but this matches v3.x results. + $expected = [ + 'foo', + 'boo', + 'AnEmptyFolder', + 'simpleFile' + ]; - $vfs = vfsStream::setup('root', null, $structure); + $vfs = vfsStream::setup('root', null, $this->structure); - delete_files(vfsStream::url('root'), true, true); + $this->assertEquals($expected, get_filenames($vfs->url(), false)); + } - $this->assertFalse($vfs->hasChild('simpleFile')); - $this->assertFalse($vfs->hasChild('foo')); - $this->assertFalse($vfs->hasChild('boo')); - $this->assertFalse($vfs->hasChild('AnEmptyFolder')); - $this->assertTrue($vfs->hasChild('.htaccess')); - $this->assertTrue($vfs->hasChild('index.html')); - $this->assertTrue($vfs->hasChild('index.php')); - } + public function testGetFilenamesWithSource() + { + $this->assertTrue(function_exists('delete_files')); - //-------------------------------------------------------------------- + // Not sure the directory names should actually show up + // here but this matches v3.x results. + $expected = [ + DIRECTORY_SEPARATOR . 'foo', + DIRECTORY_SEPARATOR . 'boo', + DIRECTORY_SEPARATOR . 'AnEmptyFolder', + DIRECTORY_SEPARATOR . 'simpleFile' + ]; - public function testGetFilenames() - { - $this->assertTrue(function_exists('delete_files')); + $vfs = vfsStream::setup('root', null, $this->structure); - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; - - // Not sure the directory names should actually show up - // here but this matches v3.x results. - $expected = [ - 'foo', - 'boo', - 'AnEmptyFolder', - 'simpleFile' - ]; - - $vfs = vfsStream::setup('root', null, $structure); - - $this->assertEquals($expected, get_filenames($vfs->url(), false)); - } - - //-------------------------------------------------------------------- - - public function testGetFilenamesWithSource() - { - $this->assertTrue(function_exists('delete_files')); - - $structure = [ - 'foo' => [ - 'bar' => 'Once upon a midnight dreary', - 'baz' => 'While I pondered weak and weary' - ], - 'boo' => [ - 'far' => 'Upon a tome of long-forgotten lore', - 'faz' => 'There came a tapping up on the door' - ], - 'AnEmptyFolder' => [], - 'simpleFile' => 'A tap-tap-tapping upon my door', - '.hidden' => 'There is no spoon' - ]; - - // Not sure the directory names should actually show up - // here but this matches v3.x results. - $expected = [ - DIRECTORY_SEPARATOR . 'foo', - DIRECTORY_SEPARATOR . 'boo', - DIRECTORY_SEPARATOR . 'AnEmptyFolder', - DIRECTORY_SEPARATOR . 'simpleFile' - ]; - - $vfs = vfsStream::setup('root', null, $structure); - - $this->assertEquals($expected, get_filenames($vfs->url(), true)); - } - - //-------------------------------------------------------------------- + $this->assertEquals($expected, get_filenames($vfs->url(), true)); + } + //-------------------------------------------------------------------- + + public function testGetFileInfo(){ + $vfs = vfsStream::setup('root', null, $this->structure); + $this->assertEquals($expected, get_filenames($vfs->url(), true)); + + } }