From 37b3834c2f11a1eca2036f0d02aa2ce231e81f20 Mon Sep 17 00:00:00 2001 From: henoheno Date: Sat, 27 Dec 2008 20:20:06 +0900 Subject: [PATCH] delimiter_reverse(): Return FALSE with invalid argument. Added test cases --- spam/SpamTest.php | 37 ++++++++++++++++++++++++++++++++++++- spam/spam.php | 45 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 76 insertions(+), 6 deletions(-) diff --git a/spam/SpamTest.php b/spam/SpamTest.php index 145f361..882480b 100644 --- a/spam/SpamTest.php +++ b/spam/SpamTest.php @@ -1,5 +1,5 @@ assertEquals('com.example.bar.foo', + delimiter_reverse('foo.bar.example.com')); + + // A vector (an simple array) + $array = array('foo.ba2r', 'foo.bar2'); + $this->assertEquals(array('ba2r|foo', 'bar2|foo'), + delimiter_reverse($array, '.', '|')); + + // Note: array_map() vanishes all keys + $array = array('FB' => 'foo.ba2r', 'FB2' => 'foo.bar2'); + $this->assertEquals(array('ba2r|foo', 'bar2|foo'), + delimiter_reverse($array, '.', '|')); + + // A tree (recurse) + $array = array('foo.ba2r', 'foo.bar2', array('john.doe', 'bob.dude')); + $this->assertEquals(array('ba2r|foo', 'bar2|foo', array('doe|john', 'dude|bob')), + delimiter_reverse($array, '.', '|')); + + // Nothing changes + $this->assertEquals('100', delimiter_reverse('100')); + $this->assertEquals(array(), delimiter_reverse(array())); + + // Invalid cases + $this->assertEquals(FALSE, delimiter_reverse(TRUE)); + $this->assertEquals(FALSE, delimiter_reverse(FALSE)); + $this->assertEquals(FALSE, delimiter_reverse(NULL)); + $this->assertEquals(FALSE, delimiter_reverse(100)); + $this->assertEquals(FALSE, delimiter_reverse('100', FALSE)); + $this->assertEquals(FALSE, delimiter_reverse('100', 0)); + $this->assertEquals(FALSE, delimiter_reverse('100', '0', 0)); + } + function setup_string_null() { return array( diff --git a/spam/spam.php b/spam/spam.php index 6d76ad6..d3d1080 100644 --- a/spam/spam.php +++ b/spam/spam.php @@ -1,5 +1,5 @@