コード例 #1
0
ファイル: Absent.php プロジェクト: shabbyrobe/fulfil
 function __construct(array $config = [], array $deps = [])
 {
     if (isset($config['name'])) {
         $this->name = $config['name'];
     }
     if (isset($config['message'])) {
         $this->message = Message::ensure($config['message']);
     }
 }
コード例 #2
0
ファイル: Developer.php プロジェクト: shabbyrobe/fulfil
 public function format(\Fulfil\Message $message, $depth = 0)
 {
     list($path, $name) = $message->chop($depth);
     $out = '';
     if ($name || $path) {
         $out .= implode(" > ", $name ?: $path) . ": ";
     }
     if ($message->id && $message->text) {
         $out .= '(' . Message::implodePath($message->id) . ') ' . $message->text;
     } elseif ($message->id) {
         $out .= Message::implodePath($message->id);
     } elseif ($message->text) {
         $out .= $message->text;
     }
     if ($message->params) {
         $out .= " " . json_encode($message->params);
     }
     $out = trim($out);
     if (!$out) {
         throw new \UnexpectedValueException();
     }
     return $out;
 }
コード例 #3
0
ファイル: DateTest.php プロジェクト: shabbyrobe/fulfil
 /**
  * @dataProvider dataMinMax
  */
 function testMinMax($valid, $in, $min, $max, $error = null)
 {
     $check = new Check\Date(['min' => $min, 'max' => $max]);
     $ctx = new Context();
     $in = \DateTime::createFromFormat(\DateTime::ISO8601, $in);
     if (!$in) {
         throw new \Exception();
     }
     $check->apply($in, $ctx);
     $flat = $ctx->flatten();
     $this->assertEquals($valid, $flat->valid);
     if ($error) {
         $this->assertCount(1, $flat->messages);
         $this->assertEquals($error, Message::implodePath($flat->messages[0]->id));
     }
 }
コード例 #4
0
ファイル: CheckTestCase.php プロジェクト: shabbyrobe/fulfil
 function assertInvalidMsgId($ctxOrFlat, $id, $params = null)
 {
     if ($ctxOrFlat instanceof \Fulfil\Context) {
         $flat = $ctxOrFlat->flatten();
     } else {
         $flat = $ctxOrFlat;
     }
     $this->assertFalse($flat->valid);
     $this->assertCount(1, $flat->messages);
     if (is_string($id)) {
         $id = \Fulfil\Message::explodePath($id);
     }
     $this->assertEquals($id, $flat->messages[0]->id);
     if ($params !== null) {
         $this->assertEquals($params, $flat->messages[0]->params);
     }
 }