コード例 #1
0
ファイル: SafeHtml.php プロジェクト: packaged/glimpse
 public static function escape($string, $arrayGlue = ' ')
 {
     if ($string instanceof SafeHtml) {
         return $string;
     } else {
         if ($string instanceof ISafeHtmlProducer) {
             $result = $string->produceSafeHTML();
             if ($result instanceof SafeHtml) {
                 return $result;
             } else {
                 if (is_array($result)) {
                     return self::escape($result, $arrayGlue);
                 } else {
                     if ($result instanceof ISafeHtmlProducer) {
                         return self::escape($result, $arrayGlue);
                     } else {
                         try {
                             Strings::stringable($result);
                             return self::escape((string) $result);
                         } catch (\Exception $ex) {
                             $class = get_class($string);
                             throw new \Exception("Object (of class '{$class}') implements " . "ISafeHTMLProducer but did not return anything " . "renderable from produceSafeHTML().");
                         }
                     }
                 }
             }
         } else {
             if (is_array($string)) {
                 return implode($arrayGlue, array_map(['\\Packaged\\Glimpse\\Core\\SafeHtml', 'escape'], $string));
             }
         }
     }
     return Strings::escape($string);
 }
コード例 #2
0
ファイル: Phutil.php プロジェクト: PaulAntunes/gclf-paul
 function assert_stringlike($parameter)
 {
     \Packaged\Helpers\Strings::stringable($parameter);
 }
コード例 #3
0
ファイル: StringsTest.php プロジェクト: PaulAntunes/gclf-paul
 public function testAssertStringLike()
 {
     Strings::stringable(null);
     Strings::stringable("");
     Strings::stringable("Hello World");
     Strings::stringable(1);
     Strings::stringable(9.9999);
     Strings::stringable(true);
     Strings::stringable(new Exception('.'));
     $obj = (object) [];
     $caught = null;
     try {
         Strings::stringable($obj);
     } catch (InvalidArgumentException $ex) {
         $caught = $ex;
     }
     $this->assertInstanceOf("InvalidArgumentException", $caught);
     $array = ["foo" => "bar", "bar" => "foo"];
     $caught = null;
     try {
         Strings::stringable($array);
     } catch (InvalidArgumentException $ex) {
         $caught = $ex;
     }
     $this->assertInstanceOf("InvalidArgumentException", $caught);
 }