示例#1
0
 public function testASortPersistent()
 {
     $ts = new TodosEx();
     $ts->loadFromFile('todo.txt');
     $file = tempnam(sys_get_temp_dir(), 'otodo');
     $ts->asort(array('done' => true, 'due' => true, 'priority' => false, 'text' => false));
     $ts->saveToFile($file);
     $this->assertEquals(sha1_file('todo.txt'), sha1_file($file));
     unlink($file);
 }
示例#2
0
 public function testMarkDone()
 {
     $ts = new TodosEx();
     $t = new TodoEx($ts);
     $t->text = 'dummy';
     $t->recurrent = new Recurrent('1d');
     $t->due = new DateTime('2014-01-01');
     $t->markDone();
     $this->assertTrue($ts->count() == 1);
     $t = $ts[array_pop($ts->array_keys())];
     $this->assertFalse($t->done);
     $this->assertEquals($t->text, 'dummy');
     $this->assertEquals($t->recurrent->toString(), '1d');
     $this->assertEquals($t->due->format('Y-m-d'), '2014-01-02');
 }
示例#3
0
文件: Todos.php 项目: nielsk/otodo
 public function archive($archive)
 {
     if (!file_exists($archive)) {
         touch($archive);
     }
     $ta = new TodosEx();
     $ta->loadFromFile($archive);
     $unset = array();
     foreach ($this->todos as $k => $todo) {
         if ($todo->done) {
             $ta[] = $todo;
             $unset[] = $k;
         }
     }
     if (count($unset)) {
         foreach ($unset as $k) {
             unset($this->todos[$k]);
         }
         $ta->saveToFile($archive);
         return count($unset);
     } else {
         return 0;
     }
 }