/**
* Tag this token with the specified tag
*/
- public function tag($new_tag)
+ public function tag($tag)
{
- $this->tags[] = $new_tag;
+ $this->tags[] = $tag;
}
/**
* Remove all tags of the given class
*/
- public function untag($tag_class)
+ public function untag($tagClass)
{
- $this->tags = array_filter($this->tags, create_function('$t', 'return $t instanceof ' . $tag_class . ';'));
+ $this->tags = array_filter($this->tags, create_function('$t', 'return $t instanceof ' . $tagClass . ';'));
}
/**
/**
* Return the Tag that matches the given class
*/
- public function getTag($tag_class)
+ public function getTag($tagClass)
{
- $matches = array_filter($this->tags, create_function('$t', 'return $t instanceof ' . $tag_class . ';'));
+ $matches = array_filter($this->tags, create_function('$t', 'return $t instanceof ' . $tagClass . ';'));
return array_shift($matches);
}
--- /dev/null
+<?php
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+class Horde_Date_DateTest extends PHPUnit_Framework_TestCase
+{
+ public function testDateCorrection()
+ {
+ $d = new Horde_Date('2008-01-01 00:00:00');
+ $d->month -= 2;
+ $this->assertEquals(2007, $d->year);
+
+ $d = new Horde_Date('2008-01-01 00:00:00');
+ $d->day -= 1;
+ $this->assertEquals(2007, $d->year);
+ $this->assertEquals(12, $d->month);
+
+ $d = new Horde_Date('2008-01-01 00:00:00');
+ $d->day += 370;
+ $this->assertEquals(2009, $d->year);
+ $this->assertEquals(1, $d->month);
+
+ $d = new Horde_Date('2008-01-01 00:00:00');
+ $d->sec += 14400;
+ $this->assertEquals(0, $d->sec);
+ $this->assertEquals(0, $d->min);
+ $this->assertEquals(4, $d->hour);
+ }
+
+ public function testDateMath()
+ {
+ $d = new Horde_Date('2008-01-01 00:00:00');
+
+ $this->assertEquals('2007-12-31 00:00:00', (string)$d->sub(array('day' => 1)));
+ $this->assertEquals('2009-01-01 00:00:00', (string)$d->add(array('year' => 1)));
+ $this->assertEquals('2008-01-01 04:00:00', (string)$d->add(14400));
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+class Horde_Date_Parser_TokenTest extends PHPUnit_Framework_TestCase
+{
+ public function testToken()
+ {
+ $token = new Horde_Date_Parser_Token('foo');
+ $this->assertEquals('foo', $token->word);
+ $this->assertEquals(0, count($token->tags));
+ $this->assertFalse($token->tagged());
+
+ $token->tag(new FooTag('mytag'));
+ $this->assertEquals(1, count($token->tags));
+ $this->assertTrue($token->tagged());
+ $this->assertType('FooTag', $token->getTag('FooTag'));
+
+ $token->tag(new BarTag(5));
+ $this->assertEquals(2, count($token->tags));
+
+ $token->untag('FooTag');
+ $this->assertEquals(1, count($token->tags));
+ }
+
+}
+
+class FooTag extends Horde_Date_Parser_Tag
+{
+}
+
+class BarTag extends Horde_Date_Parser_Tag
+{
+}
--- /dev/null
+<?php
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+
+/**
+ * @category Horde
+ * @package Horde_Date
+ * @subpackage UnitTests
+ */
+class Horde_Date_SpanTest extends PHPUnit_Framework_TestCase
+{
+ public function testSpanWidth()
+ {
+ $s = new Horde_Date_Span(new Horde_Date('2006-08-16 00:00:00'), new Horde_Date('2006-08-17 00:00:00'));
+ $this->assertEquals(60 * 60 * 24, $s->width());
+ }
+
+ public function testSpanMath()
+ {
+ $s = new Horde_Date_Span(new Horde_Date(1), new Horde_Date(2));
+ $this->assertEquals(2, $s->add(1)->begin->timestamp());
+ $this->assertEquals(3, $s->add(1)->end->timestamp());
+ $this->assertEquals(0, $s->sub(1)->begin->timestamp());
+ $this->assertEquals(1, $s->sub(1)->end->timestamp());
+ }
+
+}