Blame view

sources/3rdparty/sabre/dav/tests/Sabre/DAV/Issue33Test.php 2.54 KB
6d9380f96   Cédric Dupont   Update sources OC...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  <?php
  
  namespace Sabre\DAV;
  
  use Sabre\HTTP;
  
  require_once 'Sabre/TestUtil.php';
  
  class Issue33Test extends \PHPUnit_Framework_TestCase {
  
      function setUp() {
  
          \Sabre\TestUtil::clearTempDir();
  
      }
  
      function testCopyMoveInfo() {
  
          $bar = new SimpleCollection('bar');
          $root = new SimpleCollection('webdav',array($bar));
  
          $server = new Server($root);
          $server->setBaseUri('/webdav/');
  
          $serverVars = array(
              'REQUEST_URI' => '/webdav/bar',
              'HTTP_DESTINATION' => 'http://dev2.tribalos.com/webdav/%C3%A0fo%C3%B3',
              'HTTP_OVERWRITE' => 'F',
          );
  
          $request = new HTTP\Request($serverVars);
  
          $server->httpRequest = $request;
  
          $info = $server->getCopyAndMoveInfo();
  
          $this->assertEquals('%C3%A0fo%C3%B3', urlencode($info['destination']));
          $this->assertFalse($info['destinationExists']);
          $this->assertFalse($info['destinationNode']);
  
      }
  
      function testTreeMove() {
  
          mkdir(SABRE_TEMPDIR . '/issue33');
          $dir = new FS\Directory(SABRE_TEMPDIR . '/issue33');
  
          $dir->createDirectory('bar');
  
          $tree = new ObjectTree($dir);
          $tree->move('bar',urldecode('%C3%A0fo%C3%B3'));
  
          $node = $tree->getNodeForPath(urldecode('%C3%A0fo%C3%B3'));
          $this->assertEquals(urldecode('%C3%A0fo%C3%B3'),$node->getName());
  
      }
  
      function testDirName() {
  
          $dirname1 = 'bar';
          $dirname2 = urlencode('%C3%A0fo%C3%B3');;
  
          $this->assertTrue(dirname($dirname1)==dirname($dirname2));
  
      }
  
      /**
       * @depends testTreeMove
       * @depends testCopyMoveInfo
       */
      function testEverything() {
  
          // Request object
          $serverVars = array(
              'REQUEST_METHOD' => 'MOVE',
              'REQUEST_URI' => '/webdav/bar',
              'HTTP_DESTINATION' => 'http://dev2.tribalos.com/webdav/%C3%A0fo%C3%B3',
              'HTTP_OVERWRITE' => 'F',
          );
  
          $request = new HTTP\Request($serverVars);
          $request->setBody('');
  
          $response = new HTTP\ResponseMock();
  
          // Server setup
          mkdir(SABRE_TEMPDIR . '/issue33');
          $dir = new FS\Directory(SABRE_TEMPDIR . '/issue33');
  
          $dir->createDirectory('bar');
  
          $tree = new ObjectTree($dir);
  
          $server = new Server($tree);
          $server->setBaseUri('/webdav/');
  
          $server->httpRequest = $request;
          $server->httpResponse = $response;
          $server->exec();
  
          $this->assertTrue(file_exists(SABRE_TEMPDIR  . '/issue33/' . urldecode('%C3%A0fo%C3%B3')));
  
      }
  
  }