summaryrefslogtreecommitdiffstats
path: root/vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php')
-rw-r--r--vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php b/vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php
new file mode 100644
index 000000000..56236f222
--- /dev/null
+++ b/vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php
@@ -0,0 +1,47 @@
+<?php
+namespace spec\PlasmaConduit;
+use PHPSpec2\ObjectBehavior;
+
+class Path extends ObjectBehavior {
+
+ public function it_should_concat_two_peices_for_join() {
+ Path::join("wat", "lol")->shouldReturn("wat/lol");
+ }
+
+ public function it_should_drop_excess_slashes_for_join() {
+ Path::join("/a", "///b")->shouldReturn("/a/b");
+ }
+
+ public function it_should_correctly_traverse_for_join() {
+ Path::join("/a", "b", "c", "..", "d")->shouldReturn("/a/b/d");
+ }
+
+ public function it_should_filter_empty_peices_for_join() {
+ Path::join("", "lonely")->shouldReturn("lonely");
+ }
+
+ public function it_should_correctly_traverse_for_normalize() {
+ Path::normalize("/a/b/c/../d")->shouldReturn("/a/b/d");
+ }
+
+ public function it_should_do_multiple_traversals_for_normalize() {
+ Path::normalize("/a/b/c/../../d")->shouldReturn("/a/d");
+ }
+
+ public function it_should_drop_trailing_extra_slashes_for_normalize() {
+ Path::normalize("/b/wat//")->shouldReturn("/b/wat/");
+ }
+
+ public function it_should_drop_extra_slashes_for_normalize() {
+ Path::normalize("/b///wat/")->shouldReturn("/b/wat/");
+ }
+
+ public function it_should_resolve_empty_as_dot() {
+ Path::normalize("")->shouldReturn(".");
+ }
+
+ public function it_should_return_slash_for_slash() {
+ Path::normalize("/")->shouldReturn("/");
+ }
+
+}