@@ -2742,4 +2742,35 @@ public function testFopenGone() {
27422742
27432743 $ this ->assertFalse ($ cache ->inCache ('foo.txt ' ));
27442744 }
2745+
2746+ public function testMountpointParentsCreated () {
2747+ $ storage1 = $ this ->getTestStorage ();
2748+ Filesystem::mount ($ storage1 , [], '/ ' );
2749+
2750+ $ storage2 = $ this ->getTestStorage ();
2751+ Filesystem::mount ($ storage2 , [], '/A/B/C ' );
2752+
2753+ $ rootView = new View ('' );
2754+
2755+ $ folderData = $ rootView ->getDirectoryContent ('/ ' );
2756+ $ this ->assertCount (4 , $ folderData );
2757+ $ this ->assertEquals ('folder ' , $ folderData [0 ]['name ' ]);
2758+ $ this ->assertEquals ('foo.png ' , $ folderData [1 ]['name ' ]);
2759+ $ this ->assertEquals ('foo.txt ' , $ folderData [2 ]['name ' ]);
2760+ $ this ->assertEquals ('A ' , $ folderData [3 ]['name ' ]);
2761+
2762+ $ folderData = $ rootView ->getDirectoryContent ('/A ' );
2763+ $ this ->assertCount (1 , $ folderData );
2764+ $ this ->assertEquals ('B ' , $ folderData [0 ]['name ' ]);
2765+
2766+ $ folderData = $ rootView ->getDirectoryContent ('/A/B ' );
2767+ $ this ->assertCount (1 , $ folderData );
2768+ $ this ->assertEquals ('C ' , $ folderData [0 ]['name ' ]);
2769+
2770+ $ folderData = $ rootView ->getDirectoryContent ('/A/B/C ' );
2771+ $ this ->assertCount (3 , $ folderData );
2772+ $ this ->assertEquals ('folder ' , $ folderData [0 ]['name ' ]);
2773+ $ this ->assertEquals ('foo.png ' , $ folderData [1 ]['name ' ]);
2774+ $ this ->assertEquals ('foo.txt ' , $ folderData [2 ]['name ' ]);
2775+ }
27452776}
0 commit comments