!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/lampp/lib/php/test/HTML_CSS/tests/   drwxr-xr-x
Free 10.14 GB of 61.93 GB (16.37%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     HTML_CSS_TestSuite_Bugs.php (20.26 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Test suite for bugs declared in the HTML_CSS class
 *
 * PHP version 5
 *
 * @category HTML
 * @package  HTML_CSS
 * @author   Laurent Laville <pear@laurent-laville.org>
 * @license  http://www.opensource.org/licenses/bsd-license.php BSD
 * @version  CVS: $Id: HTML_CSS_TestSuite_Bugs.php,v 1.7 2009/07/03 16:17:34 farell Exp $
 * @link     http://pear.php.net/package/HTML_CSS
 * @since    File available since Release 1.4.0
 */
if (!defined("PHPUnit_MAIN_METHOD")) {
    
define("PHPUnit_MAIN_METHOD""HTML_CSS_TestSuite_Bugs::main");
}

require_once 
"PHPUnit/Framework/TestCase.php";
require_once 
"PHPUnit/Framework/TestSuite.php";

require_once 
'HTML/CSS.php';
require_once 
'PEAR.php';
require_once 
'Event/Dispatcher.php';

/**
 * Test suite class to test old bugs of HTML_CSS
 *
 * @category HTML
 * @package  HTML_CSS
 * @author   Laurent Laville <pear@laurent-laville.org>
 * @license  http://www.opensource.org/licenses/bsd-license.php BSD
 * @version  Release: 1.5.4
 * @link     http://pear.php.net/package/HTML_CSS
 * @since    File available since Release 1.4.0
 */
class HTML_CSS_TestSuite_Bugs extends PHPUnit_Framework_TestCase
{
    
/**
     * A CSS object
     * @var  object
     */
    
protected $css;

    
/**
     * All default options to configure HTML_CSS behavior
     * @var  array
     */
    
protected $default_options;

    
/**
     * Instance of Event_Dispatcher for test listener
     * @var object
     */
    
protected $dispatcher;

    
/**
     * Runs the test methods of this class.
     *
     * @static
     * @return void
     */
    
public static function main()
    {
        include_once 
"PHPUnit/TextUI/TestRunner.php";

        
$suite  = new PHPUnit_Framework_TestSuite('HTML_CSS Bugs Tests');
        
$result PHPUnit_TextUI_TestRunner::run($suite);
    }

    
/**
     * Sets up the fixture.
     * This method is called before a test is executed.
     *
     * @return void
     */
    
protected function setUp()
    {
        
$this->dispatcher Event_Dispatcher::getInstance();

        
$tab '  ';
        
$eol strtolower(substr(PHP_OS03)) == 'win' "\r\n" "\n";

        
// default options, rewrites only for regression test of bug #10103
        
$this->default_options = array('xhtml' => true'tab' => $tab,
            
'cache' => true'oneline' => false'charset' => 'iso-8859-1',
            
'contentDisposition' => false'lineEnd' => $eol,
            
'groupsfirst' => true'allowduplicates' => false);

        
$prefs = array('push_callback'  => array($this'handleError'),
                       
'error_callback' => array($this'handleErrorOutput'));

        
$this->css = new HTML_CSS($this->default_options$prefs);
    }

    
/**
     * Tears down the fixture.
     * This method is called after a test is executed.
     *
     * @return void
     */
    
protected function tearDown()
    {
        unset(
$this->css);
    }

    
/**
     * Don't die if the error is an exception (as default callback)
     *
     * @param int    $code  a numeric error code.
     *                      Valid are HTML_CSS_ERROR_* constants
     * @param string $level error level ('exception', 'error', 'warning', ...)
     *
     * @return int PEAR_ERROR_CALLBACK
     */
    
public function handleError($code$level)
    {
        return 
PEAR_ERROR_CALLBACK;
    }

    
/**
     * Do nothing (no display, no log) when an error is raised
     *
     * @param object $css_error instance of HTML_CSS_Error
     *
     * @return void
     */
    
public function handleErrorOutput($css_error)
    {
    }

    
/**
     * Regression test for bug #725
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=725
     *         differs hierarchy elements with difference in spaces between
     * @group  bugs
     */
    
public function testBug725()
    {
        
$strcss "  body   td  { /* 3 spaces between body and td */
    margin: 20px;
    padding: 20px;
    border: 0;
    color: #444;
}"
;
        
$e      $this->css->parseString($strcss);
        
$msg    PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);

        
$style 'body td  ';
        
$e     $this->css->setStyle($style'margin''0');
        
$msg   PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);

        
$gs  = array('body td' =>
                       array(
'margin' => '0',
                             
'padding' => '20px',
                             
'border' => '0',
                             
'color' => '#444'));
        
$def $this->css->toArray();
        
$this->assertSame($gs$def'setStyle should change the "' $style
            
'" not add an other one');
    }

    
/**
     * Regression test for bug #998
     *
     * When parsing in some CSS like:
     *
     * .sec { display: none; }
     * .month:before { content: "-"; }
     * .year:before { content: "-"; }
     * .min:before { content: ":"; }
     * .sec:before { content: ":"; }
     *
     * the resulting array should be:
     *
     * [.sec] => Array ( [display] =>  none )
     * [.month:before] => Array ( [content] =>  "-" )
     * [.year:before] => Array ( [content] =>  "-" )
     * [.min:before] => Array ( [content] =>  ":" )
     * [.sec:before] => Array ( [content] =>  ":" )
     *
     * and not :
     *
     * [.sec] => Array ( [display] =>  none )
     * [.month:before] => Array ( [content] =>  "-" )
     * [.year:before] => Array ( [content] =>  "-" )
     * [.min:before] => Array ( [content] =>  " )
     * [.sec:before] => Array ( [content] =>  " )
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=998
     *         parseString incorrectly reads attribute values with colons in
     * @group  bugs
     */
    
public function testBug998()
    {
        
$strcss '
.sec { display: none; }
.month:before { content: "-"; }
.year:before { content: "-"; }
.min:before { content: ":"; }
.sec:before { content: ":"; }
'
;
        
$e      $this->css->parseString($strcss);
        
$msg    PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);

        
$gs  = array('.sec' => array('display' => 'none'),
                   
'.month:before' => array('content' => '"-"'),
                   
'.year:before' => array('content' => '"-"'),
                   
'.min:before' => array('content' => '":"'),
                   
'.sec:before' => array('content' => '":"'));
        
$def $this->css->toArray();
        
$this->assertSame($gs$def,
            
'parseString incorrectly reads attribute values with colons in');
    }

    
/**
     * Regression test for bug #1066
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=1066
     *         Values are not trimmed
     * @group  bugs
     */
    
public function testBug1066()
    {
        
$strcss '
html {
   display:        block; /* 8 spaces after colon */
}
'
;
        
$e      $this->css->parseString($strcss);
        
$msg    PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);

        
$gs  = array('html' => array('display' => 'block'));
        
$def $this->css->toArray();
        
$this->assertSame($gs$def'parseString incorrectly reads ' .
            
'attribute values with spaces after colon');
    }

    
/**
     * Regression test for bug #1072
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=1072
     *         HTML_CSS Not cascading properties
     * @group  bugs
     */
    
public function testBug1072()
    {
        
$strcss '
p { font-family: Arial; }
p { font-family: Courier; }
p, td { font-family: Times; }
td p { font-family: Comic; }
'
;
        
$e      $this->css->parseString($strcss);
        
$msg    PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);

        
$e   $this->css->getStyle('p''font-family');
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);
        
$this->assertSame('Times'$e'HTML_CSS is not cascading style ' .
            
'when a "selector" is part of a group');

        
$gs  = array('p' => array('font-family' => 'Courier'),
                   
'p, td' => array('font-family' => 'Times'),
                   
'td p' => array('font-family' => 'Comic'));
        
$def $this->css->toArray();
        
$this->assertSame($gs$def'HTML_CSS is not cascading style ' .
            
'when a "selector" is part of a group');
    }

    
/**
     * Regression test for bug #1084
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=1084
     *         parseSelectors incorrectly assumes selector structure
     * @group  bugs
     */
    
public function testBug1084()
    {
        
$sa  '#heading .shortname';
        
$e   $this->css->parseSelectors($sa);
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);
        
$this->assertSame($sa$e,
            
'parseSelectors incorrectly assumes selector structure "' $sa '"');

        
$sb  '#heading .icon';
        
$e   $this->css->parseSelectors($sb);
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);
        
$this->assertSame($sb$e,
            
'parseSelectors incorrectly assumes selector structure "' $sb '"');

        
$sc  '#heading .icon img';
        
$e   $this->css->parseSelectors($sc);
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);
        
$this->assertSame($sc$e,
            
'parseSelectors incorrectly assumes selector structure "' $sc '"');

        
$sd  'a#heading.icon:active';
        
$e   $this->css->parseSelectors($sd);
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertFalse(PEAR::isError($e), $msg);
        
$this->assertSame($sd$e,
            
'parseSelectors incorrectly assumes selector structure "' $sd '"');
    }

    
/**
     * Regression test for bug #12039
     *
     * Even if it was considered as bogus, this test case prevent from invalid
     * data source.
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=12039
     * @group  bugs
     */
    
public function testBug12039()
    {
        
$strcss '
.back2top {
    clear: both;
    height: 11px;
    text-align: right;
}

a.top {
    background: none no-repeat top left;
    text-decoration: none;
    width: {IMG_ICON_BACK_TOP_WIDTH}px;
    height: {IMG_ICON_BACK_TOP_HEIGHT}px;
    display: block;
    float: right;
    overflow: hidden;
    letter-spacing: 1000px;
    text-indent: 11px;
}
'
;
        
$e      $this->css->parseString($strcss);
        
$msg    PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertTrue(PEAR::isError($e), $msg);
        
$this->assertContains('valid CSS structure'$msg);
    }

    
/**
     * Regression test for bug #3920
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=3920
     *         Inappropriate style rule reordering
     * @group  bugs
     */
    
public function testBug3920()
    {
        
$this->css->setStyle('#right''position'' absolute');
        
$this->css->setStyle('#right''right''0px');
        
$this->css->setStyle('#right''top''100px');
        
$this->css->setStyle('#right''background''#fff');
        
$this->css->setStyle('#right''border''1px solid #000');
        
$this->css->setStyle('#right''padding''0px 5px');
        
$this->css->setStyle('#right''width''200px');
        
$bodyRightGroup $this->css->createGroup("* body #right");
        
$this->css->setGroupStyle($bodyRightGroup'width''189px');
        
$this->css->setGroupStyle($bodyRightGroup'background-color''lightgrey');


        
// set global 'allowduplicates' option for IE hack
        
$this->css->allowduplicates
            
true;   // PHP5 signature, see __set() for PHP4

        /* IE 5.5 */
        
$this->css->setStyle('#header''height''81px');
        
$this->css->setStyle('#header''border-top''solid #000');
        
$this->css->setStyle('#header''border-right''solid #000');
        
$this->css->setStyle('#header''border-left''solid #000');
        
$this->css->setStyle('#header''voice-family''"\"}\""');
        
$this->css->setStyle('#header''voice-family''inherit');
        
/* IE 6 */
        
$this->css->setStyle('#header''height''99px');

        
$gs  = array('#right' =>
                   array(
'position' => ' absolute',
                       
'right' => '0px',
                       
'top' => '100px',
                       
'background' => '#fff',
                       
'border' => '1px solid #000',
                       
'padding' => '0px 5px',
                       
'width' => '200px'),
                   
'* body #right' =>
                   array(
'width' => '189px',
                       
'background-color' => 'lightgrey'),
                   
'#header' =>
                   array(
=> array('height' => '81px'),
                     
=> array('border-top' => 'solid #000'),
                     
=> array('border-right' => 'solid #000'),
                     
=> array('border-left' => 'solid #000'),
                     
=> array('voice-family' => '"\\"}\\""'),
                     
=> array('voice-family' => 'inherit'),
                     
=> array('height' => '99px')));
        
$def $this->css->toArray();
        
$this->assertSame($gs$def'inappropriate style rule reordering');
    }

    
/**
     * Regression test for bug #10103
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=10103
     * @group  bugs
     */
    
public function testBug10103()
    {
        foreach (
$this->default_options as $opt => $val) {
            
$this->assertSame($this->css->__get($opt), $val,
                
"option '$opt' sets is invalid");
        }
    }

    
/**
     * Regression test for bug #15690
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=15690
     * @group  bugs
     */
    
public function testBug15690()
    {
        
$this->css->setStyle('p','font-size','12px');
        
$e   $this->css->setSameStyle('body, td, th, li, dt, dd''p');
        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertTrue(PEAR::isError($e), $msg);
    }

    
/**
     * Regression test for bug #16354
     *
     * Does not parse multiple simple At-rules properly
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16354
     * @group  bugs
     */
    
public function testBug16354()
    {
        
$str "
@import \"foo.css\";
@import \"bar.css\";
"
;
        
$this->dispatcher->post($this'startTest'$str);
        
$this->css->parseString($strtrue);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$exp = array(
            
'@import' => array(
                
'1' => array(
                    
'"foo.css"' => '',
                ),
                
'2' => array(
                    
'"bar.css"' => '',
                ),
            ),
        );
        
$this->assertSame($exp$this->css->toArray());
    }

    
/**
     * Regression test for bug #16355
     *
     * Simple at rules nested within other at rules are reported as top level at rules
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16355
     * @group  bugs
     */
    
public function testBug16355()
    {
        
$str "
@media screen {
  @import \"screen-main.css\";
  body { font-size: 10pt }
}
"
;
        
$this->dispatcher->post($this'startTest'$str);
        
$e $this->css->parseString($str);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$msg PEAR::isError($e) ? $e->getMessage() : null;
        
$this->assertTrue(PEAR::isError($e), $msg);
        
$this->assertContains('valid CSS structure'$msg);
    }

    
/**
     * Regression test for bug #16357
     *
     * Multiple equal complex at rules not parsed correctly
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16357
     * @group  bugs
     */
    
public function testBug16357()
    {
        
$str "

@media print {
  body { font-size: 10pt }
}

@media screen {
  body { font-size: 10pt;
         font-weight: bold }
}
@media screen {
  body { font-size: 12pt }
}
    "
;
        
$this->dispatcher->post($this'startTest'$str);
        
$this->css->parseString($strtrue);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$exp = array (
          
'@media' =>
          array (
            
'print' =>
            array (
              
'body' =>
              array (
                
'font-size' => '10pt',
              ),
            ),
            
'screen' =>
            array (
              
'body' =>
              array (
                
'font-size' => '12pt',
                
'font-weight' => 'bold',
              ),
            ),
          ),
        );
        
$this->assertSame($exp$this->css->toArray());
    }

    
/**
     * Regression test for bug #16358
     *
     * Multiple media types on media at rule not parsed correctly
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16358
     * @group  bugs
     */
    
public function testBug16358()
    {
        
$str "

@media screen, tv, presentation {
  body { font-size: 12pt }
}
    "
;
        
$this->dispatcher->post($this'startTest'$str);
        
$this->css->parseString($strtrue);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$exp = array(
            
'@media' => array(
                
'screen, tv, presentation' => array(
                    
'body' => array(
                        
'font-size' => '12pt',
                    ),
                ),
            ),
        );
        
$this->assertSame($exp$this->css->toArray());
    }

    
/**
     * Regression test for bug #16359
     *
     * Multiple selectors on a single rule inside a complex at rule not properly parsed
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16359
     * @group  bugs
     */
    
public function testBug16359()
    {
        
$str "

@media screen {
  body, p { font-size: 12pt }
}
    "
;
        
$this->dispatcher->post($this'startTest'$str);
        
$this->css->parseString($strtrue);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$exp = array(
            
'@media' => array(
                
'screen' =>  array(
                    
'body, p' => array(
                        
'font-size' => '12pt',
                    ),
                ),
            ),
        );
        
$this->assertSame($exp$this->css->toArray());
    }

    
/**
     * Regression test for bug #16360
     *
     * Multiple selectors inside a complex at rule not properly parsed
     *
     * @return void
     * @link   http://pear.php.net/bugs/bug.php?id=16360
     * @group  bugs
     */
    
public function testBug16360()
    {
        
$str "

@media screen {
  body{ font-size: 12pt }
  p { font-size: 12pt }
}
    "
;
        
$this->dispatcher->post($this'startTest'$str);
        
$this->css->parseString($strtrue);
        
$this->dispatcher->post($this'endTest'$this->css->toArray());

        
$exp = array(
            
'@media' => array(
                
'screen' =>  array(
                    
'body' => array(
                        
'font-size' => '12pt',
                    ),
                    
'p' => array(
                        
'font-size' => '12pt',
                    ),
                ),
            ),
        );
        
$this->assertSame($exp$this->css->toArray());
    }
}

// Call HTML_CSS_TestSuite_Bugs::main() if file is executed directly.
if (PHPUnit_MAIN_METHOD == "HTML_CSS_TestSuite_Bugs::main") {
    
HTML_CSS_TestSuite_Standard::main();
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.6009 ]--