public function testJaRule()
 {
     $word = new Word();
     // required
     $word->en = '';
     $word->ja = '';
     $this->assertFalse($word->validate(['ja']));
     $word->ja = 'あ';
     $this->assertTrue($word->validate(['ja']));
     // trim
     $word->ja = ' あ ';
     $word->validate(['ja']);
     $this->assertSame('あ', $word->ja);
     // string: max
     $word->ja = str_repeat('あ', 51);
     $this->assertFalse($word->validate(['ja']));
     $word->ja = str_repeat('あ', 50);
     $this->assertTrue($word->validate(['ja']));
 }
예제 #2
0
파일: Word.php 프로젝트: murribu/crossword
 public static function create(array $args = array())
 {
     $v = new Word();
     if ($v->validate($args)) {
         $w = new Word();
         $word = preg_replace("[^a-zA-Z]", "", $args['word']);
         $w->word = $word;
         $w->length = strlen($args['word']);
         $w->user_id = $args['user_id'];
         $w->timestamp_utc = time();
         $w->save();
         for ($i = 0; $i < strlen($word); $i++) {
             $l = new Letter();
             $l->letter = substr($word, $i, 1);
             $l->word_id = $w->id;
             $l->ordinal = $i + 1;
             $l->save();
         }
         return $w;
     } else {
         return array('errors' => $v->errors);
     }
 }