diff options
Diffstat (limited to 'vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php')
-rw-r--r-- | vendor/plasmaconduit/path/spec/PlasmaConduit/Path.php | 47 |
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("/"); + } + +} |