Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d64fb4145777a3be1019c03196c86eb0 > files > 53

php-pluf-0.1-3mdv2010.0.noarch.rpm

<?php
/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
# ***** BEGIN LICENSE BLOCK *****
# This file is part of Plume Framework, a simple PHP Application Framework.
# Copyright (C) 2001-2007 Loic d'Anterroches and contributors.
#
# Plume Framework is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Plume Framework is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
# ***** END LICENSE BLOCK ***** */

error_reporting(E_ALL | E_STRICT);

$path = dirname(__FILE__).'/../../src/';
set_include_path(get_include_path().PATH_SEPARATOR.$path);

require_once 'PHPUnit/Framework/TestCase.php';
require_once 'PHPUnit/Framework/IncompleteTestError.php';

require_once 'Pluf.php';

class PlufCalendarTest extends PHPUnit_Framework_TestCase {
    
    public $events = array(
                           array('start' => '2007-02-06 08:00:00',
                                 'end'   => '2007-02-06 09:15:00',
                                 'title' => 'Dummy event 1',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-07 08:00:00',
                                 'end'   => '2007-02-07 09:15:00',
                                 'title' => 'Dummy event 2',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-08 12:00:00',
                                 'end'   => '2007-02-08 13:15:00',
                                 'title' => 'Dummy event 3',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-09 08:30:00',
                                 'end'   => '2007-02-09 09:25:00',
                                 'title' => 'Dummy event 4',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-10 11:00:00',
                                 'end'   => '2007-02-10 11:45:00',
                                 'title' => 'Dummy event 5',
                                 'url'   => '',
                                 'color' => '', ),
                           );
    public $events2 = array(
                           array('start' => '2007-02-06 08:30:00',
                                 'end'   => '2007-02-06 09:25:00',
                                 'title' => 'Dummy event 1',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-07 08:00:00',
                                 'end'   => '2007-02-07 09:15:00',
                                 'title' => 'Dummy event 2',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-08 12:00:00',
                                 'end'   => '2007-02-08 13:15:00',
                                 'title' => 'Dummy event 3',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-09 08:30:00',
                                 'end'   => '2007-02-09 09:25:00',
                                 'title' => 'Dummy event 4',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-10 11:00:00',
                                 'end'   => '2007-02-10 11:45:00',
                                 'title' => 'Dummy event 5',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-06 08:00:00',
                                 'end'   => '2007-02-06 11:00:00',
                                 'title' => 'Dummy event 6',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-06 12:00:00',
                                 'end'   => '2007-02-06 13:15:00',
                                 'title' => 'Dummy event 7',
                                 'url'   => '',
                                 'color' => '', ),
                           array('start' => '2007-02-06 09:25:00',
                                 'end'   => '2007-02-06 11:45:00',
                                 'title' => 'Dummy event 8',
                                 'url'   => '',
                                 'color' => '', ),
                           );
    public $events3 = array(
                            array('start' => '2007-09-17 15:30:00', 
                                  'end' => '2007-09-17 16:30:00', 
                                  'title' => 'Green organic synthesis routes', 
                                  'url' => '', 
                                  'color' => '', ),
                            array('start' => '2007-09-17 17:30:00', 
                                  'end' => '2007-09-17 19:30:00', 
                                  'title' => 'Test poster cases with thermo', 
                                  'url' => '', 
                                  'color' => '', ), 
                            array('start' => '2007-09-17 17:00:00', 
                                  'end' => '2007-09-17 19:30:00', 
                                  'title' => 'Environmental engineering & management', 
                                  'url' => '', 
                                  'color' => '', ), 
                            array('start' => '2007-09-17 15:30:00', 
                                  'end' => '2007-09-17 19:30:00', 
                                  'title' => 'Chemical Reaction Engineering', 
                                  'url' => '', 
                                  'color' => '', ), 
                            );

    protected function setUp()
    {
        Pluf::start(dirname(__FILE__).'/../conf/pluf.config.php');
    }

    public function testCalendar()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events;
        $calendar->opts['start-day'] = '2007-02-06';
        $calendar->opts['end-day'] = '2007-02-10';
        $res = file_get_contents(dirname(__FILE__).'/simplecalendar1.html');
        $this->assertEquals($res, $calendar->render());
    }

    public function testCalendar4()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events3;
        $res = file_get_contents(dirname(__FILE__).'/simplecalendar4.html');
        $this->assertEquals($res, $calendar->render());
    }

    public function testCalendar5()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = array(array('start' => '2007-09-17 15:30:00', 
                                        'end' => '2007-09-17 16:30:00', 
                                        'title' => 'Green organic synthesis routes', 
                                        'url' => '', 
                                        'color' => '', ),
                                  array('start' => '2007-09-17 17:30:00', 
                                        'end' => '2007-09-17 19:30:00', 
                                        'title' => 'Test poster cases with thermo', 
                                        'url' => '', 
                                        'color' => '', ), 
                                  array('start' => '2007-09-17 17:00:00', 
                                        'end' => '2007-09-17 19:30:00', 
                                        'title' => 'Environmental engineering & management', 
                                        'url' => '', 
                                        'color' => '', ),
                                  array('start' => '2007-09-17 15:30:00', 
                                        'end' => '2007-09-17 19:30:00', 
                                        'title' => 'Chemical Reaction Engineering', 
                                        'url' => '', 
                                        'color' => '', ),
                                  array('start' => '2007-09-17 12:30:00', 
                                        'end' => '2007-09-17 19:30:00', 
                                        'title' => 'TRansport', 
                                        'url' => '', 'color' => '', ), 
                                  array('start' => '2007-09-17 15:30:00', 
                                        'end' => '2007-09-17 17:00:00', 
                                        'title' => 'Distillation, absorption and extraction', 
                                        'url' => '', 
                                        'color' => '', ), 
                                  array('start' => '2007-09-17 12:30:00', 
                                        'end' => '2007-09-17 16:00:00', 
                                        'title' => 'Membranes and membrane science', 
                                        'url' => '', 
                                        'color' => '', ),
                                  array('start' => '2007-09-17 12:30:00', 
                                        'end' => '2007-09-17 16:00:00', 
                                        'title' => 'Polymer science & engineering', 
                                        'url' => '', 
                                        'color' => '', ));

        $res = file_get_contents(dirname(__FILE__).'/simplecalendar5.html');
        $this->assertEquals($res, $calendar->render());
    }

    public function testCalendar6()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = array (
                                   0 => 
                                   array (
                                          'start' => '2007-09-17 12:30:00',
                                          'end' => '2007-09-17 19:30:00',
                                          'title' => 'TRansport',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   1 => 
                                   array (
                                          'start' => '2007-09-17 12:30:00',
                                          'end' => '2007-09-17 16:00:00',
                                          'title' => 'Membranes and membrane science',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   2 => 
                                   array (
                                          'start' => '2007-09-17 12:30:00',
                                          'end' => '2007-09-17 16:00:00',
                                          'title' => 'Polymer science & engineering',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   3 => 
                                   array (
                                          'start' => '2007-09-17 15:30:00',
                                          'end' => '2007-09-17 16:30:00',
                                          'title' => 'Green organic synthesis routes',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   4 => 
                                   array (
                                          'start' => '2007-09-17 15:30:00',
                                          'end' => '2007-09-17 19:30:00',
                                          'title' => 'Chemical Reaction Engineering',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   5 => 
                                   array (
                                          'start' => '2007-09-17 15:30:00',
                                          'end' => '2007-09-17 17:00:00',
                                          'title' => 'Distillation, absorption and extraction',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   6 => 
                                   array (
                                          'start' => '2007-09-17 17:00:00',
                                          'end' => '2007-09-17 19:30:00',
                                          'title' => 'Environmental engineering & management',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   7 => 
                                   array (
                                          'start' => '2007-09-17 17:30:00',
                                          'end' => '2007-09-17 19:30:00',
                                          'title' => 'Test poster cases with thermo',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   8 => 
                                   array (
                                          'start' => '2007-09-17 17:30:00',
                                          'end' => '2007-09-17 19:30:00',
                                          'title' => 'Crystallization',
                                          'url' => '',
                                          'color' => '',
                                          ),
                                   ) ;
        $res = file_get_contents(dirname(__FILE__).'/simplecalendar6.html');
        $this->assertEquals($res, $calendar->render());
    }


    public function testCalendar2()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events2;
        $calendar->opts['start-day'] = '2007-02-06';
        $calendar->opts['end-day'] = '2007-02-10';
        $res = file_get_contents(dirname(__FILE__).'/simplecalendar2.html');
        $this->assertEquals($res, $calendar->render());
    }

    public function testGetStartEndDays()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events;
        $this->assertEquals(array('2007-02-06', '2007-02-10'),
                            $calendar->getStartEndDays());
    }

    public function testGetIntervals()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events;
        $calendar->cleanEventList();
        $this->assertEquals(array('08:00', '08:30', '09:15', '09:25',
                                  '11:00', '11:45', '12:00', '13:15'),
                            $calendar->getTimeIntervals());
    }

    public function testGetEventRowSpanning()
    {
        $calendar = new Pluf_Calendar();
        $calendar->events = $this->events;
        $calendar->cleanEventList();
        $inters = $calendar->getTimeIntervals();
        $this->assertEquals(2, $calendar->getEventRowSpanning($this->events[0], $inters));
        $this->assertEquals(2, $calendar->getEventRowSpanning($this->events[1], $inters));
        $this->assertEquals(1, $calendar->getEventRowSpanning($this->events[2], $inters));
        $this->assertEquals(2, $calendar->getEventRowSpanning($this->events[3], $inters));
        $this->assertEquals(1, $calendar->getEventRowSpanning($this->events[4], $inters));
    }


}

?>