!framework/SyncML/tests/testpacket.php
!framework/SyncML/tests/testsync.php
!framework/XML_WBXML/tests/decode.php
+framework/Alarm/test/Horde/Alarm/conf.php
framework/Db/test/Horde/Db/Adapter/conf.php
framework/Kolab_Storage/test/Horde/Kolab/Storage/conf.php
--- /dev/null
+<?php
+class HordeAlarmsTable extends Horde_Db_Migration_Base
+{
+ public function up()
+ {
+ $t = $this->createTable('horde_alarms');
+ $t->column('alarm_id', 'string', array('limit' => 255, 'null' => false));
+ $t->column('alarm_uid', 'string', array('limit' => 255));
+ $t->column('alarm_start', 'datetime', array('null' => false));
+ $t->column('alarm_end', 'datetime');
+ $t->column('alarm_methods', 'string', array('limit' => 255));
+ $t->column('alarm_params', 'text');
+ $t->column('alarm_title', 'string', array('limit' => 255, 'null' => false));
+ $t->column('alarm_text', 'text');
+ $t->column('alarm_snooze', 'datetime');
+ $t->column('alarm_dismissed', 'integer', array('limit' => 1, 'null' => false, 'default' => 0));
+ $t->column('alarm_internal', 'text');
+ $t->end();
+
+ $this->addIndex('horde_alarms', array('alarm_id'));
+ $this->addIndex('horde_alarms', array('alarm_uid'));
+ $this->addIndex('horde_alarms', array('alarm_start'));
+ $this->addIndex('horde_alarms', array('alarm_end'));
+ $this->addIndex('horde_alarms', array('alarm_snooze'));
+ $this->addIndex('horde_alarms', array('alarm_dismissed'));
+ }
+
+ public function down()
+ {
+ $this->dropTable('horde_alarms');
+ }
+}
--- /dev/null
+<?php
+/**
+ * Horde_Alarm test suite
+ *
+ * @author Jan Schneider <jan@horde.org>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @category Horde
+ * @package Horde_Alarm
+ * @subpackage UnitTests
+ */
+
+/**
+ * Define the main method
+ */
+if (!defined('PHPUnit_MAIN_METHOD')) {
+ define('PHPUnit_MAIN_METHOD', 'Horde_Alarm_AllTests::main');
+}
+
+/**
+ * Prepare the test setup.
+ */
+require_once 'Horde/Test/AllTests.php';
+
+/**
+ * @package Horde_Alarm
+ * @subpackage UnitTests
+ */
+class Horde_Alarm_AllTests extends Horde_Test_AllTests
+{
+}
+
+Horde_Alarm_AllTests::init('Horde_Alarm', __FILE__);
+
+if (PHPUnit_MAIN_METHOD == 'Horde_Alarm_AllTests::main') {
+ Horde_Alarm_AllTests::main();
+}
--- /dev/null
+<?php
+/**
+ * @author Jan Schneider <jan@horde.org>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @category Horde
+ * @package Horde_Alarm
+ * @subpackage UnitTests
+ */
+
+class Horde_Alarm_SqlTest extends PHPUnit_Framework_TestCase
+{
+ public function setUp()
+ {
+ // @todo: remove when we no longer depend on DB.
+ error_reporting(E_ALL);
+
+ // @fixme
+ $GLOBALS['language'] = 'en_US';
+
+ $config = getenv('ALARM_TEST_CONFIG');
+ if ($config === false) {
+ $config = dirname(__FILE__) . '/conf.php';
+ }
+ if (file_exists($config)) {
+ require $config;
+ }
+ if (!isset($conf['alarm']['test'])) {
+ $this->markTestSkipped('No configuration for Horde_Alarm test.');
+ return;
+ }
+
+ $adapter = str_replace(' ', '_' , ucwords(str_replace('_', ' ', basename($conf['alarm']['test']['horde']['adapter']))));
+ $class = 'Horde_Db_Adapter_' . $adapter;
+ $this->db = new $class($conf['alarm']['test']['horde']);
+
+ $logger = new Horde_Log_Logger(new Horde_Log_Handler_Stream(STDOUT));
+ $this->migrator = new Horde_Db_Migration_Migrator($this->db, $logger, array('migrationsPath' => dirname(dirname(dirname(dirname(__FILE__)))) . '/migrations'));
+ $this->migrator->up();
+
+ $this->alarm = Horde_Alarm::factory('sql', $conf['alarm']['test']['pear']);
+ }
+
+ public function tearDown()
+ {
+ $this->migrator->down();
+ }
+
+ public function testSet()
+ {
+ $now = time();
+ $date = new Horde_Date($now);
+ $end = new Horde_Date($now + 3600);
+ $hash = array('id' => 'personalalarm',
+ 'user' => 'john',
+ 'start' => $date,
+ 'end' => $end,
+ 'methods' => array(),
+ 'params' => array(),
+ 'title' => 'This is a personal alarm.');
+ $this->alarm->set($hash);
+ }
+}
--- /dev/null
+<?php
+// PEAR DB configuration.
+$conf['alarm']['test']['pear']['phptype'] = 'mysql';
+$conf['alarm']['test']['pear']['hostspec'] = 'localhost';
+$conf['alarm']['test']['pear']['username'] = '';
+$conf['alarm']['test']['pear']['password'] = '';
+$conf['alarm']['test']['pear']['database'] = 'horde';
+$conf['alarm']['test']['pear']['charset'] = 'utf-8';
+// Horde_Db configuration.
+$conf['alarm']['test']['horde']['adapter'] = 'pdo_mysql';
+$conf['alarm']['test']['horde']['host'] = 'localhost';
+$conf['alarm']['test']['horde']['username'] = '';
+$conf['alarm']['test']['horde']['password'] = '';
+$conf['alarm']['test']['horde']['dbname'] = 'horde';
+$conf['alarm']['test']['horde']['charset'] = 'utf-8';