!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/opt/alt/php54/usr/share/pear/test/CssSelector/Symfony/Component/CssSelector/Tests/XPath/   drwxr-xr-x
Free 293.99 GB of 429.69 GB (68.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     TranslatorTest.php (16.82 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\CssSelector\Tests\XPath;

use 
Symfony\Component\CssSelector\XPath\Extension\HtmlExtension;
use 
Symfony\Component\CssSelector\XPath\Translator;

class 
TranslatorTest extends \PHPUnit_Framework_TestCase
{
    
/** @dataProvider getXpathLiteralTestData */
    
public function testXpathLiteral($value$literal)
    {
        
$this->assertEquals($literalTranslator::getXpathLiteral($value));
    }

    
/** @dataProvider getCssToXPathTestData */
    
public function testCssToXPath($css$xpath)
    {
        
$translator = new Translator();
        
$translator->registerExtension(new HtmlExtension($translator));
        
$this->assertEquals($xpath$translator->cssToXPath($css''));
    }

    
/** @dataProvider getXmlLangTestData */
    
public function testXmlLang($css, array $elementsId)
    {
        
$translator = new Translator();
        
$document = new \SimpleXMLElement(file_get_contents(__DIR__.'/Fixtures/lang.xml'));
        
$elements $document->xpath($translator->cssToXPath($css));
        
$this->assertEquals(count($elementsId), count($elements));
        foreach (
$elements as $element) {
            
$this->assertTrue(in_array($element->attributes()->id$elementsId));
        }
    }

    
/** @dataProvider getHtmlIdsTestData */
    
public function testHtmlIds($css, array $elementsId)
    {
        
$translator = new Translator();
        
$translator->registerExtension(new HtmlExtension($translator));
        
$document = new \DOMDocument();
        
$document->strictErrorChecking false;
        
$internalErrors libxml_use_internal_errors(true);
        
$document->loadHTMLFile(__DIR__.'/Fixtures/ids.html');
        
$document simplexml_import_dom($document);
        
$elements $document->xpath($translator->cssToXPath($css));
        
$this->assertCount(count($elementsId), $elementsId);
        foreach (
$elements as $element) {
            if (
null !== $element->attributes()->id) {
                
$this->assertTrue(in_array($element->attributes()->id$elementsId));
            }
        }
        
libxml_clear_errors();
        
libxml_use_internal_errors($internalErrors);
    }

    
/** @dataProvider getHtmlShakespearTestData */
    
public function testHtmlShakespear($css$count)
    {
        
$translator = new Translator();
        
$translator->registerExtension(new HtmlExtension($translator));
        
$document = new \DOMDocument();
        
$document->strictErrorChecking false;
        
$document->loadHTMLFile(__DIR__.'/Fixtures/shakespear.html');
        
$document simplexml_import_dom($document);
        
$bodies $document->xpath('//body');
        
$elements $bodies[0]->xpath($translator->cssToXPath($css));
        
$this->assertEquals($countcount($elements));
    }

    public function 
getXpathLiteralTestData()
    {
        return array(
            array(
'foo'"'foo'"),
            array(
"foo's bar"'"foo\'s bar"'),
            array(
"foo's \"middle\" bar"'concat(\'foo\', "\'", \'s "middle" bar\')'),
            array(
"foo's 'middle' \"bar\""'concat(\'foo\', "\'", \'s \', "\'", \'middle\', "\'", \' "bar"\')'),
        );
    }

    public function 
getCssToXPathTestData()
    {
        return array(
            array(
'*'"*"),
            array(
'e'"e"),
            array(
'*|e'"e"),
            array(
'e|f'"e:f"),
            array(
'e[foo]'"e[@foo]"),
            array(
'e[foo|bar]'"e[@foo:bar]"),
            array(
'e[foo="bar"]'"e[@foo = 'bar']"),
            array(
'e[foo~="bar"]'"e[@foo and contains(concat(' ', normalize-space(@foo), ' '), ' bar ')]"),
            array(
'e[foo^="bar"]'"e[@foo and starts-with(@foo, 'bar')]"),
            array(
'e[foo$="bar"]'"e[@foo and substring(@foo, string-length(@foo)-2) = 'bar']"),
            array(
'e[foo*="bar"]'"e[@foo and contains(@foo, 'bar')]"),
            array(
'e[hreflang|="en"]'"e[@hreflang and (@hreflang = 'en' or starts-with(@hreflang, 'en-'))]"),
            array(
'e:nth-child(1)'"*/*[name() = 'e' and (position() = 1)]"),
            array(
'e:nth-last-child(1)'"*/*[name() = 'e' and (position() = last() - 0)]"),
            array(
'e:nth-last-child(2n+2)'"*/*[name() = 'e' and (last() - position() - 1 >= 0 and (last() - position() - 1) mod 2 = 0)]"),
            array(
'e:nth-of-type(1)'"*/e[position() = 1]"),
            array(
'e:nth-last-of-type(1)'"*/e[position() = last() - 0]"),
            array(
'div e:nth-last-of-type(1) .aclass'"div/descendant-or-self::*/e[position() = last() - 0]/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' aclass ')]"),
            array(
'e:first-child'"*/*[name() = 'e' and (position() = 1)]"),
            array(
'e:last-child'"*/*[name() = 'e' and (position() = last())]"),
            array(
'e:first-of-type'"*/e[position() = 1]"),
            array(
'e:last-of-type'"*/e[position() = last()]"),
            array(
'e:only-child'"*/*[name() = 'e' and (last() = 1)]"),
            array(
'e:only-of-type'"e[last() = 1]"),
            array(
'e:empty'"e[not(*) and not(string-length())]"),
            array(
'e:EmPTY'"e[not(*) and not(string-length())]"),
            array(
'e:root'"e[not(parent::*)]"),
            array(
'e:hover'"e[0]"),
            array(
'e:contains("foo")'"e[contains(string(.), 'foo')]"),
            array(
'e:ConTains(foo)'"e[contains(string(.), 'foo')]"),
            array(
'e.warning'"e[@class and contains(concat(' ', normalize-space(@class), ' '), ' warning ')]"),
            array(
'e#myid'"e[@id = 'myid']"),
            array(
'e:not(:nth-child(odd))'"e[not(position() - 1 >= 0 and (position() - 1) mod 2 = 0)]"),
            array(
'e:nOT(*)'"e[0]"),
            array(
'e f'"e/descendant-or-self::*/f"),
            array(
'e > f'"e/f"),
            array(
'e + f'"e/following-sibling::*[name() = 'f' and (position() = 1)]"),
            array(
'e ~ f'"e/following-sibling::f"),
            array(
'div#container p'"div[@id = 'container']/descendant-or-self::*/p"),
        );
    }

    public function 
getXmlLangTestData()
    {
        return array(
            array(
':lang("EN")', array('first''second''third''fourth')),
            array(
':lang("en-us")', array('second''fourth')),
            array(
':lang(en-nz)', array('third')),
            array(
':lang(fr)', array('fifth')),
            array(
':lang(ru)', array('sixth')),
            array(
":lang('ZH')", array('eighth')),
            array(
':lang(de) :lang(zh)', array('eighth')),
            array(
':lang(en), :lang(zh)', array('first''second''third''fourth''eighth')),
            array(
':lang(es)', array()),
        );
    }

    public function 
getHtmlIdsTestData()
    {
        return array(
            array(
'div', array('outer-div''li-div''foobar-div')),
            array(
'DIV', array('outer-div''li-div''foobar-div')),  // case-insensitive in HTML
            
array('div div', array('li-div')),
            array(
'div, div div', array('outer-div''li-div''foobar-div')),
            array(
'a[name]', array('name-anchor')),
            array(
'a[NAme]', array('name-anchor')), // case-insensitive in HTML:
            
array('a[rel]', array('tag-anchor''nofollow-anchor')),
            array(
'a[rel="tag"]', array('tag-anchor')),
            array(
'a[href*="localhost"]', array('tag-anchor')),
            array(
'a[href*=""]', array()),
            array(
'a[href^="http"]', array('tag-anchor''nofollow-anchor')),
            array(
'a[href^="http:"]', array('tag-anchor')),
            array(
'a[href^=""]', array()),
            array(
'a[href$="org"]', array('nofollow-anchor')),
            array(
'a[href$=""]', array()),
            array(
'div[foobar~="bc"]', array('foobar-div')),
            array(
'div[foobar~="cde"]', array('foobar-div')),
            array(
'[foobar~="ab bc"]', array('foobar-div')),
            array(
'[foobar~=""]', array()),
            array(
'[foobar~=" \t"]', array()),
            array(
'div[foobar~="cd"]', array()),
            array(
'*[lang|="En"]', array('second-li')),
            array(
'[lang|="En-us"]', array('second-li')),
            
// Attribute values are case sensitive
            
array('*[lang|="en"]', array()),
            array(
'[lang|="en-US"]', array()),
            array(
'*[lang|="e"]', array()),
            
// ... :lang() is not.
            
array(':lang("EN")', array('second-li''li-div')),
            array(
'*:lang(en-US)', array('second-li''li-div')),
            array(
':lang("e")', array()),
            array(
'li:nth-child(3)', array('third-li')),
            array(
'li:nth-child(10)', array()),
            array(
'li:nth-child(2n)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-child(even)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-child(2n+0)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-child(+2n+1)', array('first-li''third-li''fifth-li''seventh-li')),
            array(
'li:nth-child(odd)', array('first-li''third-li''fifth-li''seventh-li')),
            array(
'li:nth-child(2n+4)', array('fourth-li''sixth-li')),
            array(
'li:nth-child(3n+1)', array('first-li''fourth-li''seventh-li')),
            array(
'li:nth-child(n)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-child(n-1)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-child(n+1)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-child(n+3)', array('third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-child(-n)', array()),
            array(
'li:nth-child(-n-1)', array()),
            array(
'li:nth-child(-n+1)', array('first-li')),
            array(
'li:nth-child(-n+3)', array('first-li''second-li''third-li')),
            array(
'li:nth-last-child(0)', array()),
            array(
'li:nth-last-child(2n)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-last-child(even)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-last-child(2n+2)', array('second-li''fourth-li''sixth-li')),
            array(
'li:nth-last-child(n)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-last-child(n-1)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-last-child(n-3)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-last-child(n+1)', array('first-li''second-li''third-li''fourth-li''fifth-li''sixth-li''seventh-li')),
            array(
'li:nth-last-child(n+3)', array('first-li''second-li''third-li''fourth-li''fifth-li')),
            array(
'li:nth-last-child(-n)', array()),
            array(
'li:nth-last-child(-n-1)', array()),
            array(
'li:nth-last-child(-n+1)', array('seventh-li')),
            array(
'li:nth-last-child(-n+3)', array('fifth-li''sixth-li''seventh-li')),
            array(
'ol:first-of-type', array('first-ol')),
            array(
'ol:nth-child(1)', array('first-ol')),
            array(
'ol:nth-of-type(2)', array('second-ol')),
            array(
'ol:nth-last-of-type(1)', array('second-ol')),
            array(
'span:only-child', array('foobar-span')),
            array(
'li div:only-child', array('li-div')),
            array(
'div *:only-child', array('li-div''foobar-span')),
            array(
'p:only-of-type', array('paragraph')),
            array(
'a:empty', array('name-anchor')),
            array(
'a:EMpty', array('name-anchor')),
            array(
'li:empty', array('third-li''fourth-li''fifth-li''sixth-li')),
            array(
':root', array('html')),
            array(
'html:root', array('html')),
            array(
'li:root', array()),
            array(
'* :root', array()),
            array(
'*:contains("link")', array('html''outer-div''tag-anchor''nofollow-anchor')),
            array(
':CONtains("link")', array('html''outer-div''tag-anchor''nofollow-anchor')),
            array(
'*:contains("LInk")', array()),  // case sensitive
            
array('*:contains("e")', array('html''nil''outer-div''first-ol''first-li''paragraph''p-em')),
            array(
'*:contains("E")', array()),  // case-sensitive
            
array('.a', array('first-ol')),
            array(
'.b', array('first-ol')),
            array(
'*.a', array('first-ol')),
            array(
'ol.a', array('first-ol')),
            array(
'.c', array('first-ol''third-li''fourth-li')),
            array(
'*.c', array('first-ol''third-li''fourth-li')),
            array(
'ol *.c', array('third-li''fourth-li')),
            array(
'ol li.c', array('third-li''fourth-li')),
            array(
'li ~ li.c', array('third-li''fourth-li')),
            array(
'ol > li.c', array('third-li''fourth-li')),
            array(
'#first-li', array('first-li')),
            array(
'li#first-li', array('first-li')),
            array(
'*#first-li', array('first-li')),
            array(
'li div', array('li-div')),
            array(
'li > div', array('li-div')),
            array(
'div div', array('li-div')),
            array(
'div > div', array()),
            array(
'div>.c', array('first-ol')),
            array(
'div > .c', array('first-ol')),
            array(
'div + div', array('foobar-div')),
            array(
'a ~ a', array('tag-anchor''nofollow-anchor')),
            array(
'a[rel="tag"] ~ a', array('nofollow-anchor')),
            array(
'ol#first-ol li:last-child', array('seventh-li')),
            array(
'ol#first-ol *:last-child', array('li-div''seventh-li')),
            array(
'#outer-div:first-child', array('outer-div')),
            array(
'#outer-div :first-child', array('name-anchor''first-li''li-div''p-b''checkbox-fieldset-disabled''area-href')),
            array(
'a[href]', array('tag-anchor''nofollow-anchor')),
            array(
':not(*)', array()),
            array(
'a:not([href])', array('name-anchor')),
            array(
'ol :Not(li[class])', array('first-li''second-li''li-div''fifth-li''sixth-li''seventh-li')),
            
// HTML-specific
            
array(':link', array('link-href''tag-anchor''nofollow-anchor''area-href')),
            array(
':visited', array()),
            array(
':enabled', array('link-href''tag-anchor''nofollow-anchor''checkbox-unchecked''text-checked''checkbox-checked''area-href')),
            array(
':disabled', array('checkbox-disabled''checkbox-disabled-checked''fieldset''checkbox-fieldset-disabled')),
            array(
':checked', array('checkbox-checked''checkbox-disabled-checked')),
        );
    }

    public function 
getHtmlShakespearTestData()
    {
        return array(
            array(
'*'246),
            array(
'div:contains(CELIA)'26),
            array(
'div:only-child'22), // ?
            
array('div:nth-child(even)'106),
            array(
'div:nth-child(2n)'106),
            array(
'div:nth-child(odd)'137),
            array(
'div:nth-child(2n+1)'137),
            array(
'div:nth-child(n)'243),
            array(
'div:last-child'53),
            array(
'div:first-child'51),
            array(
'div > div'242),
            array(
'div + div'190),
            array(
'div ~ div'190),
            array(
'body'1),
            array(
'body div'243),
            array(
'div'243),
            array(
'div div'242),
            array(
'div div div'241),
            array(
'div, div, div'243),
            array(
'div, a, span'243),
            array(
'.dialog'51),
            array(
'div.dialog'51),
            array(
'div .dialog'51),
            array(
'div.character, div.dialog'99),
            array(
'div.direction.dialog'0),
            array(
'div.dialog.direction'0),
            array(
'div.dialog.scene'1),
            array(
'div.scene.scene'1),
            array(
'div.scene .scene'0),
            array(
'div.direction .dialog '0),
            array(
'div .dialog .direction'4),
            array(
'div.dialog .dialog .direction'4),
            array(
'#speech5'1),
            array(
'div#speech5'1),
            array(
'div #speech5'1),
            array(
'div.scene div.dialog'49),
            array(
'div#scene1 div.dialog div'142),
            array(
'#scene1 #speech1'1),
            array(
'div[class]'103),
            array(
'div[class=dialog]'50),
            array(
'div[class^=dia]'51),
            array(
'div[class$=log]'50),
            array(
'div[class*=sce]'1),
            array(
'div[class|=dialog]'50), // ? Seems right
            
array('div[class!=madeup]'243), // ? Seems right
            
array('div[class~=dialog]'51), // ? Seems right
        
);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0984 ]--