Вход Регистрация
Файл: htmlpurifier-4.3.0/tests/HTMLPurifier/StringHashParserTest.php
Строк: 72
<?php

/**
 * @note Sample input files are located in the StringHashParser/ directory.
 */
class HTMLPurifier_StringHashParserTest extends UnitTestCase
{

    
/**
     * Instance of ConfigSchema_StringHashParser being tested.
     */
    
protected $parser;

    public function 
setup() {
        
$this->parser = new HTMLPurifier_StringHashParser();
    }

    
/**
     * Assert that $file gets parsed into the form of $expect
     */
    
protected function assertParse($file$expect) {
        
$result $this->parser->parseFile(dirname(__FILE__) . '/StringHashParser/' $file);
        
$this->assertIdentical($result$expect);
    }

    function 
testSimple() {
        
$this->assertParse('Simple.txt', array(
            
'ID' => 'Namespace.Directive',
            
'TYPE' => 'string',
            
'CHAIN-ME' => '2',
            
'DESCRIPTION' => "Multilinenstuffn",
            
'EMPTY' => '',
            
'FOR-WHO' => "Single multilinen",
        ));
    }

    function 
testOverrideSingle() {
        
$this->assertParse('OverrideSingle.txt', array(
            
'KEY' => 'New',
        ));
    }

    function 
testAppendMultiline() {
        
$this->assertParse('AppendMultiline.txt', array(
            
'KEY' => "Line1nLine2n",
        ));
    }

    function 
testDefault() {
        
$this->parser->default 'NEW-ID';
        
$this->assertParse('Default.txt', array(
            
'NEW-ID' => 'DefaultValue',
        ));
    }

    function 
testError() {
        try {
            
$this->parser->parseFile('NoExist.txt');
        } catch (
HTMLPurifier_ConfigSchema_Exception $e) {
            
$this->assertIdentical($e->getMessage(), 'File NoExist.txt does not exist');
        }
    }

    function 
testParseMultiple() {
        
$result $this->parser->parseMultiFile(dirname(__FILE__) . '/StringHashParser/Multi.txt');
        
$this->assertIdentical(
            
$result,
            array(
                array(
                    
'ID' => 'Namespace.Directive',
                    
'TYPE' => 'string',
                    
'CHAIN-ME' => '2',
                    
'DESCRIPTION' => "Multilinenstuffn",
                    
'FOR-WHO' => "Single multilinen",
                ),
                array(
                    
'ID' => 'Namespace.Directive2',
                    
'TYPE' => 'integer',
                    
'CHAIN-ME' => '3',
                    
'DESCRIPTION' => "Mnstuffn",
                    
'FOR-WHO' => "Single multiline2n",
                )
            )
        );
    }

}

// vim: et sw=4 sts=4
Онлайн: 2
Реклама