aboutsummaryrefslogblamecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
blob: ec104ec805e641a55097af1a4a0942db6a10750a (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                         
                        








                                                       
                        





                               
                            

                               
                                                 



     
                            





                                            
                                   








                                                       
                           








                                                       
                            





                               
                                    



                                                                   
                                               



                                            
                             






                                                     
                                





                                                         
                                     








                                                           
                                








                                                       
                               

                                   
                                          





                                                       
                                    





                                       
                                             
 
                                                     
                                                                    





                                            
                                                  

                               
                                                          

                                            
                                           






                                             
                                            
 
                                                                                





                                            
                                            





                                                 
                                           






                                            
                                               




                                                 
                                                          





                                            
                                           

                                                 
                                                          






                                                      
                                               
















                                                 
                                













                             
<?php

namespace Sabre\DAV;

class BasicNodeTest extends \PHPUnit_Framework_TestCase {

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testPut() {

        $file = new FileMock();
        $file->put('hi');

    }

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testGet() {

        $file = new FileMock();
        $file->get();

    }

    function testGetSize() {

        $file = new FileMock();
        $this->assertEquals(0, $file->getSize());

    }


    function testGetETag() {

        $file = new FileMock();
        $this->assertNull($file->getETag());

    }

    function testGetContentType() {

        $file = new FileMock();
        $this->assertNull($file->getContentType());

    }

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testDelete() {

        $file = new FileMock();
        $file->delete();

    }

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testSetName() {

        $file = new FileMock();
        $file->setName('hi');

    }

    function testGetLastModified() {

        $file = new FileMock();
        // checking if lastmod is within the range of a few seconds
        $lastMod = $file->getLastModified();
        $compareTime = ($lastMod + 1) - time();
        $this->assertTrue($compareTime < 3);

    }

    function testGetChild() {

        $dir = new DirectoryMock();
        $file = $dir->getChild('mockfile');
        $this->assertTrue($file instanceof FileMock);

    }

    function testChildExists() {

        $dir = new DirectoryMock();
        $this->assertTrue($dir->childExists('mockfile'));

    }

    function testChildExistsFalse() {

        $dir = new DirectoryMock();
        $this->assertFalse($dir->childExists('mockfile2'));

    }

    /**
     * @expectedException Sabre\DAV\Exception\NotFound
     */
    function testGetChild404() {

        $dir = new DirectoryMock();
        $file = $dir->getChild('blabla');

    }

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testCreateFile() {

        $dir = new DirectoryMock();
        $dir->createFile('hello', 'data');

    }

    /**
     * @expectedException Sabre\DAV\Exception\Forbidden
     */
    function testCreateDirectory() {

        $dir = new DirectoryMock();
        $dir->createDirectory('hello');

    }

    function testSimpleDirectoryConstruct() {

        $dir = new SimpleCollection('simpledir', []);
        $this->assertInstanceOf('Sabre\DAV\SimpleCollection', $dir);

    }

    /**
     * @depends testSimpleDirectoryConstruct
     */
    function testSimpleDirectoryConstructChild() {

        $file = new FileMock();
        $dir = new SimpleCollection('simpledir', [$file]);
        $file2 = $dir->getChild('mockfile');

        $this->assertEquals($file, $file2);

    }

    /**
     * @expectedException Sabre\DAV\Exception
     * @depends testSimpleDirectoryConstruct
     */
    function testSimpleDirectoryBadParam() {

        $dir = new SimpleCollection('simpledir', ['string shouldn\'t be here']);

    }

    /**
     * @depends testSimpleDirectoryConstruct
     */
    function testSimpleDirectoryAddChild() {

        $file = new FileMock();
        $dir = new SimpleCollection('simpledir');
        $dir->addChild($file);
        $file2 = $dir->getChild('mockfile');

        $this->assertEquals($file, $file2);

    }

    /**
     * @depends testSimpleDirectoryConstruct
     * @depends testSimpleDirectoryAddChild
     */
    function testSimpleDirectoryGetChildren() {

        $file = new FileMock();
        $dir = new SimpleCollection('simpledir');
        $dir->addChild($file);

        $this->assertEquals([$file], $dir->getChildren());

    }

    /*
     * @depends testSimpleDirectoryConstruct
     */
    function testSimpleDirectoryGetName() {

        $dir = new SimpleCollection('simpledir');
        $this->assertEquals('simpledir', $dir->getName());

    }

    /**
     * @depends testSimpleDirectoryConstruct
     * @expectedException Sabre\DAV\Exception\NotFound
     */
    function testSimpleDirectoryGetChild404() {

        $dir = new SimpleCollection('simpledir');
        $dir->getChild('blabla');

    }
}

class DirectoryMock extends Collection {

    function getName() {

        return 'mockdir';

    }

    function getChildren() {

        return [new FileMock()];

    }

}

class FileMock extends File {

    function getName() {

        return 'mockfile';

    }

}