gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

ClassTest.php (4234B)


      1 <?php
      2 /**
      3  * php-token-stream
      4  *
      5  * Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
      6  * All rights reserved.
      7  *
      8  * Redistribution and use in source and binary forms, with or without
      9  * modification, are permitted provided that the following conditions
     10  * are met:
     11  *
     12  *   * Redistributions of source code must retain the above copyright
     13  *     notice, this list of conditions and the following disclaimer.
     14  *
     15  *   * Redistributions in binary form must reproduce the above copyright
     16  *     notice, this list of conditions and the following disclaimer in
     17  *     the documentation and/or other materials provided with the
     18  *     distribution.
     19  *
     20  *   * Neither the name of Sebastian Bergmann nor the names of his
     21  *     contributors may be used to endorse or promote products derived
     22  *     from this software without specific prior written permission.
     23  *
     24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     25  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     26  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     27  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     28  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     29  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     30  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     31  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     32  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     34  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     35  * POSSIBILITY OF SUCH DAMAGE.
     36  *
     37  * @package    PHP_TokenStream
     38  * @subpackage Tests
     39  * @author     Laurent Laville <pear@laurent-laville.org>
     40  * @copyright  2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
     41  * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
     42  * @since      File available since Release 1.0.2
     43  */
     44 
     45 if (!defined('TEST_FILES_PATH')) {
     46     define(
     47       'TEST_FILES_PATH',
     48       dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
     49       '_files' . DIRECTORY_SEPARATOR
     50     );
     51 }
     52 
     53 require_once 'PHP/Token/Stream.php';
     54 
     55 /**
     56  * Tests for the PHP_Token_CLASS class.
     57  *
     58  * @package    PHP_TokenStream
     59  * @subpackage Tests
     60  * @author     Laurent Laville <pear@laurent-laville.org>
     61  * @copyright  2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
     62  * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
     63  * @version    Release: @package_version@
     64  * @link       http://github.com/sebastianbergmann/php-token-stream/
     65  * @since      Class available since Release 1.0.2
     66  */
     67 class PHP_Token_ClassTest extends PHPUnit_Framework_TestCase
     68 {
     69     protected $class;
     70     protected $function;
     71 
     72     protected function setUp()
     73     {
     74         $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source2.php');
     75 
     76         foreach ($ts as $token) {
     77             if ($token instanceof PHP_Token_CLASS) {
     78                 $this->class = $token;
     79             }
     80 
     81             if ($token instanceof PHP_Token_FUNCTION) {
     82                 $this->function = $token;
     83                 break;
     84             }
     85         }
     86     }
     87 
     88     /**
     89      * @covers PHP_Token_CLASS::getKeywords
     90      */
     91     public function testGetClassKeywords()
     92     {
     93         $this->assertEquals('abstract', $this->class->getKeywords());
     94     }
     95 
     96     /**
     97      * @covers PHP_Token_FUNCTION::getKeywords
     98      */
     99     public function testGetFunctionKeywords()
    100     {
    101         $this->assertEquals('abstract,static', $this->function->getKeywords());
    102     }
    103 
    104     /**
    105      * @covers PHP_Token_FUNCTION::getVisibility
    106      */
    107     public function testGetFunctionVisibility()
    108     {
    109         $this->assertEquals('public', $this->function->getVisibility());
    110     }
    111 
    112     public function testIssue19()
    113     {
    114         $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue19.php');
    115 
    116         foreach ($ts as $token) {
    117             if ($token instanceof PHP_Token_CLASS) {
    118                 $this->assertFalse($token->hasInterfaces());
    119             }
    120         }
    121     }
    122 
    123     public function testIssue30()
    124     {
    125         $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue30.php');
    126         $this->assertCount(1, $ts->getClasses());
    127     }
    128 }