예제 #1
0
 public function testSortOn()
 {
     $array = CArray::fromElements(new ClassForSorting("d"), new ClassForSorting("e"), new ClassForSorting("a"), new ClassForSorting("c"), new ClassForSorting("b"));
     CArray::sortOn($array, "value", CComparator::ORDER_ASC);
     $this->assertTrue($array[0]->value() === "a" && $array[1]->value() === "b" && $array[2]->value() === "c" && $array[3]->value() === "d" && $array[4]->value() === "e");
     $array = CArray::fromElements(new ClassForSorting(5), new ClassForSorting(2), new ClassForSorting(1), new ClassForSorting(3), new ClassForSorting(4));
     CArray::sortOn($array, "value", CComparator::ORDER_ASC);
     $this->assertTrue($array[0]->value() == 1 && $array[1]->value() == 2 && $array[2]->value() == 3 && $array[3]->value() == 4 && $array[4]->value() == 5);
     $array = CArray::fromElements(new ClassForSorting(u("d")), new ClassForSorting(u("e")), new ClassForSorting(u("a")), new ClassForSorting(u("c")), new ClassForSorting(u("b")));
     CArray::sortOn($array, "value", CComparator::ORDER_ASC);
     $this->assertTrue(CUString::equals($array[0]->value(), "a") && CUString::equals($array[1]->value(), "b") && CUString::equals($array[2]->value(), "c") && CUString::equals($array[3]->value(), "d") && CUString::equals($array[4]->value(), "e"));
 }
예제 #2
0
 public function testSplit()
 {
     // ASCII.
     $res = CRegex::split("He,llo;th,ere!", "/[,;]/");
     $this->assertTrue(CArray::length($res) == 4 && CString::equals($res[0], "He") && CString::equals($res[1], "llo") && CString::equals($res[2], "th") && CString::equals($res[3], "ere!"));
     $res = CRegex::split("He,llo;th.ere!", CArray::fromElements("/[,;]/", "/\\./"));
     $this->assertTrue(CArray::length($res) == 4 && CString::equals($res[0], "He") && CString::equals($res[1], "llo") && CString::equals($res[2], "th") && CString::equals($res[3], "ere!"));
     // Special cases.
     $res = CRegex::split("", "/[,;]/");
     $this->assertTrue(CArray::length($res) == 1 && CString::equals($res[0], ""));
     $res = CRegex::split("Hey", "//");
     $this->assertTrue(CArray::length($res) == 3 && CString::equals($res[0], "H") && CString::equals($res[1], "e") && CString::equals($res[2], "y"));
     $res = CRegex::split("", "//");
     $this->assertTrue(CArray::length($res) == 1 && CString::equals($res[0], ""));
     // Unicode.
     $res = CRegex::split("¡He,llo·se,ñor!", "/[,·]/u");
     $this->assertTrue(CArray::length($res) == 4 && CUString::equals($res[0], "¡He") && CUString::equals($res[1], "llo") && CUString::equals($res[2], "se") && CUString::equals($res[3], "ñor!"));
     $res = CRegex::split("¡He,llo·se.ñor!", CArray::fromElements("/[,·]/u", "/\\./u"));
     $this->assertTrue(CArray::length($res) == 4 && CUString::equals($res[0], "¡He") && CUString::equals($res[1], "llo") && CUString::equals($res[2], "se") && CUString::equals($res[3], "ñor!"));
     // Special cases.
     $res = CRegex::split("", "/[,·]/u");
     $this->assertTrue(CArray::length($res) == 1 && CUString::equals($res[0], ""));
     $res = CRegex::split("Héy", "//u");
     $this->assertTrue(CArray::length($res) == 3 && CUString::equals($res[0], "H") && CUString::equals($res[1], "é") && CUString::equals($res[2], "y"));
     $res = CRegex::split("", "//u");
     $this->assertTrue(CArray::length($res) == 1 && CUString::equals($res[0], ""));
 }
예제 #3
0
 /**
  * Determines if a string is equal to another string, comparing case-sensitively.
  *
  * @param  string $toString The second string for comparison.
  * @param  bitfield $collationFlags **OPTIONAL. Default is** `COLLATION_DEFAULT`. The collation option(s) to be
  * used for the comparison. The available collation options are `COLLATION_IGNORE_ACCENTS`,
  * `COLLATION_IGNORE_NONWORD`, `COLLATION_UPPERCASE_FIRST`, and `COLLATION_FRENCH` (see [Summary](#summary)).
  *
  * @return bool `true` if the two strings are equal, taking into account the letter case of the characters, and
  * `false` otherwise.
  */
 public function equals($toString, $collationFlags = self::COLLATION_DEFAULT)
 {
     return CUString::equals($this, $toString, $collationFlags);
 }