euromark 12 年 前
コミット
a91fc016be
2 ファイル変更1383 行追加0 行削除
  1. 1291 0
      Model/Datasource/ImapSource.php
  2. 92 0
      Test/Case/Model/Datasource/ImapSourceTest.php

ファイルの差分が大きいため隠しています
+ 1291 - 0
Model/Datasource/ImapSource.php


+ 92 - 0
Test/Case/Model/Datasource/ImapSourceTest.php

@@ -0,0 +1,92 @@
+<?php
+/**
+ * Imap Datasource Test file
+ *
+ * PHP version 5
+ *
+ * Licensed under The MIT License
+ * @author Mark Scherer
+ */
+
+App::uses('ImapSource', 'Tools.Model/Datasource');
+App::uses('ConnectionManager', 'Model');
+App::uses('AppModel', 'Model');
+App::uses('MyCakeTestCase', 'Tools.TestSuite');
+
+//class_exists('TestImapSource');
+
+// Add new db config
+//ConnectionManager::create('test_imap', array('datasource' => 'TestImapSource', 'type' => 'imap'));
+
+/**
+ * Imap Datasource Test
+ *
+ */
+class ImapSourceTest extends MyCakeTestCase {
+
+	public $Model = null;
+
+	/**
+	 * Imap Source Instance
+	 *
+	 * @var ImapSource
+	 */
+	public $Imap = null;
+
+	public function setUp() {
+		parent::setUp();
+
+		$this->Model = ClassRegistry::init('TestImap');
+		$config = array();
+		$this->Imap = new TestImapSource($config);
+	}
+
+	/**
+	 * testFindWithoutConfig
+	 *
+	 * @expectedException RuntimeException
+	 */
+	public function _testFindWithoutConfig() {
+		$result = $this->Model->find('all');
+		//$expected = ?
+		//$this->assertEquals($expected, $result);
+		$this->debug($result);
+	}
+
+	public function testMakeSearch() {
+		$query = array(
+			'answered' => 1,
+			'seen' => true,
+			'deleted' => null,
+			'flagged' => false, // will be reversed
+		);
+		$res = $this->Imap->makeSearch($this->Model, array('conditions' => $query));
+		$expected = array('SEEN', 'UNFLAGGED', 'ANSWERED');
+		$this->assertEquals($expected, $res);
+	}
+
+}
+
+/**
+ * Testing Source
+ *
+ */
+class TestImapSource extends ImapSource {
+
+	public function makeSearch($Model, $query) {
+		return $this->_makeSearch($Model, $query);
+	}
+
+}
+
+/**
+ * Testing Model
+ *
+ */
+class TestImap extends AppModel {
+
+	public $useTable = false;
+
+	public $recursive = -1;
+
+}