示例#1
0
 /**
  * @expectedException Tarsana\Syntax\Exceptions\DumpException
  */
 public function test_dump_wrong_boolean()
 {
     $syntax = S::boolean();
     $this->assertFalse($syntax->canDump('boolean'));
     $syntax->dump('boolean');
 }
示例#2
0
 public function test_dump_object()
 {
     $this->checkDump('person{:,name,#age,vip?,friends[,]}', S::obj(['name' => S::string(), 'age' => S::number(), 'vip' => S::boolean(), 'friends' => S::arr()->description(',')], ':')->description('person'));
     $this->checkDump('[person{:,name,#age,friends[,]}]', S::obj(['name' => S::string(), 'age' => S::number(), 'friends' => S::arr()->description(',')], ':', '')->description('person'));
     $this->checkDump('{:,}', S::obj([], ':'));
 }
示例#3
0
 /**
  * @expectedException Tarsana\Syntax\Exceptions\DumpException
  */
 public function test_dump_wrong_field()
 {
     $syntax = S::obj(['name' => S::string(), 'age' => S::number(), 'is_programmer' => S::boolean(), 'friends' => S::arr()]);
     $object = (object) ['name' => 'Foo', 'age' => 'weird', 'is_programmer' => false, 'friends' => ['Bar', 'Baz']];
     $this->assertFalse($syntax->canDump($object));
     $syntax->dump($object);
 }
示例#4
0
 protected function parseBoolean($text)
 {
     $default = null;
     if (F\head($text) == '[' && F\last($text) == ']') {
         $text = F\init(F\tail($text));
         $default = '';
     }
     return S::boolean($default, F\init($text));
 }