当前位置: 首页>>代码示例>>PHP>>正文


PHP CSSContentParser::getBySelector方法代码示例

本文整理汇总了PHP中CSSContentParser::getBySelector方法的典型用法代码示例。如果您正苦于以下问题:PHP CSSContentParser::getBySelector方法的具体用法?PHP CSSContentParser::getBySelector怎么用?PHP CSSContentParser::getBySelector使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CSSContentParser的用法示例。


在下文中一共展示了CSSContentParser::getBySelector方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testGetBySelector

    public function testGetBySelector()
    {
        $parser = new CSSContentParser(<<<HTML
<html>
\t<head>
\t\t<title>test</title>
\t</head>
\t<body>
\t\t<div id="A" class="one two three">
\t\t\t<p class="other">result</p>
\t\t</div>
\t\t<p>test</p>
\t</body>
</html>
HTML
);
        $result = $parser->getBySelector('div.one');
        $this->assertEquals("A", $result[0]['id'] . '');
        $result = $parser->getBySelector('div.two');
        $this->assertEquals("A", $result[0]['id'] . '');
        $result = $parser->getBySelector('div.three');
        $this->assertEquals("A", $result[0]['id'] . '');
        $result = $parser->getBySelector('div#A p.other');
        $this->assertEquals("result", $result[0] . '');
        $result = $parser->getBySelector('#A .other');
        $this->assertEquals("result", $result[0] . '');
    }
开发者ID:jakedaleweb,项目名称:AtomCodeChallenge,代码行数:27,代码来源:CSSContentParserTest.php

示例2: testSetDefaultItems

	function testSetDefaultItems() {
		$f = new CheckboxSetField(
			'Test', 
			false, 
			array(0 => 'Zero', 1 => 'One', 2 => 'Two', 3 => 'Three')
		);
		
		$f->setValue(array(0,1));
		$f->setDefaultItems(array(2));
		$p = new CSSContentParser($f->Field());
		$item0 = $p->getBySelector('#Test_0');
		$item1 = $p->getBySelector('#Test_1');
		$item2 = $p->getBySelector('#Test_2');
		$item3 = $p->getBySelector('#Test_3');
		$this->assertEquals(
			(string)$item0[0]['checked'],
			'checked',
			'Selected through value'
		);
		$this->assertEquals(
			(string)$item1[0]['checked'],
			'checked',
			'Selected through value'
		);
		$this->assertEquals(
			(string)$item2[0]['checked'],
			'checked',
			'Selected through default items'
		);
		$this->assertEquals(
			(string)$item3[0]['checked'],
			'',
			'Not selected by either value or default items'
		);
	}
开发者ID:redema,项目名称:sapphire,代码行数:35,代码来源:CheckboxSetFieldTest.php

示例3: testSetDisabledItems

 public function testSetDisabledItems()
 {
     $f = new OptionsetField('Test', false, array(0 => 'Zero', 1 => 'One'));
     $f->setDisabledItems(array(0));
     $p = new CSSContentParser($f->Field());
     $item0 = $p->getBySelector('#Test_0');
     $item1 = $p->getBySelector('#Test_1');
     $this->assertEquals((string) $item0[0]['disabled'], 'disabled');
     $this->assertEquals((string) $item1[0]['disabled'], '');
 }
开发者ID:normann,项目名称:sapphire,代码行数:10,代码来源:OptionsetFieldTest.php

示例4: Form

	function testDateFormatCustomFormatAppearsInCustomInputInField() {
		$member = $this->objFromFixture('Member', 'noformatmember');
		$member->setField('DateFormat', 'dd MM yy');
		$field = $this->createDateFormatFieldForMember($member);
		$field->setForm(new Form(new MemberDatetimeOptionsetFieldTest_Controller(), 'Form', new FieldList(), new FieldList())); // fake form
		$parser = new CSSContentParser($field->Field());
		$xmlInputArr = $parser->getBySelector('.valCustom input');
		$xmlPreview = $parser->getBySelector('.preview');
		$this->assertEquals('checked', (string) $xmlInputArr[0]['checked']);
		$this->assertEquals('dd MM yy', (string) $xmlInputArr[1]['value']);
	}
开发者ID:redema,项目名称:sapphire,代码行数:11,代码来源:MemberDatetimeOptionsetFieldTest.php

示例5: testLegend

 public function testLegend()
 {
     $composite = new CompositeField(new TextField('A'), new TextField('B'));
     $composite->setTag('fieldset');
     $composite->setLegend('My legend');
     $parser = new CSSContentParser($composite->Field());
     $root = $parser->getBySelector('fieldset.composite');
     $legend = $parser->getBySelector('fieldset.composite legend');
     $this->assertNotNull($legend);
     $this->assertEquals('My legend', (string) $legend[0]);
 }
开发者ID:XDdesigners,项目名称:silverstripe-framework,代码行数:11,代码来源:CompositeFieldTest.php

示例6: testThereIsNoPaginatorWhenOnlyOnePage

 function testThereIsNoPaginatorWhenOnlyOnePage()
 {
     // We set the itemsPerPage to an reasonably big number so as to avoid test broke from small changes on the fixture YML file
     $total = $this->list->count();
     $this->gridField->getConfig()->getComponentByType("GridFieldPaginator")->setItemsPerPage($total);
     $fieldHolder = $this->gridField->FieldHolder();
     $content = new CSSContentParser($fieldHolder);
     // Check that there is no paginator render into the footer
     $this->assertEquals(0, count($content->getBySelector('.datagrid-pagination')));
     // Check that there is still 'View 1 - 4 of 4' part on the left of the paginator
     $this->assertEquals(1, count($content->getBySelector('.pagination-records-number')));
 }
开发者ID:nomidi,项目名称:sapphire,代码行数:12,代码来源:GridFieldPaginatorTest.php

示例7: testShowDropdownCustomTimeFormat

 function testShowDropdownCustomTimeFormat()
 {
     $field = new TimeDropdownField('Time', 'Time');
     $field->setConfig('showdropdown', true);
     $field->setConfig('timeformat', 'hh:mm a');
     $html = $field->Field();
     $parser = new CSSContentParser($html);
     $this->assertNotNull($parser->getBySelector('select'));
     $options = $parser->getBySelector('option');
     $this->assertEquals('00:00:00', (string) $options[0]['value'], 'Correct data value');
     $this->assertEquals('13:00:00', (string) $options[13]['value'], 'Correct data value');
     $this->assertEquals('12:00 AM', (string) $options[0], 'Correct view value');
     $this->assertEquals('01:00 PM', (string) $options[13], 'Correct view value');
 }
开发者ID:helpfulrobot,项目名称:silverstripe-timedropdownfield,代码行数:14,代码来源:TimeDropdownFieldTest.php

示例8: testGetSubmissionns

 function testGetSubmissionns()
 {
     $template = $this->field->getSubmissions();
     $parser = new CSSContentParser($template);
     // check to ensure that the pagination exists
     $pagination = $parser->getBySelector('.userforms-submissions-pagination');
     $this->assertEquals(str_replace("\n", ' ', (string) $pagination[0]->span), "Viewing rows 0 - 10 of 11 rows");
     $this->assertEquals(str_replace("\n", ' ', (string) $pagination[0]->a), "Next page");
     // ensure the actions exist
     $actions = $parser->getBySelector('.userforms-submission-actions');
     $this->assertEquals(count($actions[0]->li), 2);
     // submissions
     $submissions = $parser->getBySelector('.userform-submission');
     $this->assertEquals(count($submissions), 10);
 }
开发者ID:SustainableCoastlines,项目名称:loveyourwater,代码行数:15,代码来源:SubmittedFormTest.php

示例9: testCorrectNumberOfRowsInTable

 function testCorrectNumberOfRowsInTable()
 {
     $field = $this->manyManyForm->dataFieldByName('Players');
     $parser = new CSSContentParser($field->FieldHolder());
     $this->assertEquals(count($parser->getBySelector('tbody tr')), 2, 'There are 2 players (rows) in the table');
     $this->assertEquals($field->Items()->Count(), 2, 'There are 2 CTF items in the DataObjectSet');
 }
开发者ID:SustainableCoastlines,项目名称:loveyourwater,代码行数:7,代码来源:ComplexTableFieldTest.php

示例10: testProcess

 function testProcess()
 {
     $form = $this->setupFormFrontend();
     $controller = new UserDefinedFormControllerTest_Controller($form);
     $this->autoFollowRedirection = false;
     $this->clearEmails();
     // load the form
     $this->get($form->URLSegment);
     $response = $this->submitForm('Form_Form', null, array('basic-text-name' => 'Basic Value'));
     // should have a submitted form field now
     $submitted = DataObject::get('SubmittedFormField', "\"Name\" = 'basic-text-name'");
     $this->assertDOSAllMatch(array('Name' => 'basic-text-name', 'Value' => 'Basic Value', 'Title' => 'Basic Text Field'), $submitted);
     // check emails
     $this->assertEmailSent('test@example.com', 'no-reply@example.com', 'Email Subject');
     $email = $this->findEmail('test@example.com', 'no-reply@example.com', 'Email Subject');
     // assert that the email has the field title and the value html email
     $parser = new CSSContentParser($email['content']);
     $title = $parser->getBySelector('strong');
     $this->assertEquals('Basic Text Field', (string) $title[0], 'Email contains the field name');
     $value = $parser->getBySelector('dd');
     $this->assertEquals('Basic Value', (string) $value[0], 'Email contains the value');
     // no html
     $this->assertEmailSent('nohtml@example.com', 'no-reply@example.com', 'Email Subject');
     $nohtml = $this->findEmail('nohtml@example.com', 'no-reply@example.com', 'Email Subject');
     $this->assertContains('Basic Text Field - Basic Value', $nohtml['content'], 'Email contains no html');
     // no data
     $this->assertEmailSent('nodata@example.com', 'no-reply@example.com', 'Email Subject');
     $nodata = $this->findEmail('nodata@example.com', 'no-reply@example.com', 'Email Subject');
     $parser = new CSSContentParser($nodata['content']);
     $list = $parser->getBySelector('dl');
     $this->assertFalse(isset($list[0]), 'Email contains no fields');
     // check to see if the user was redirected (301)
     $this->assertEquals($response->getStatusCode(), 302);
     $this->assertStringEndsWith('finished', $response->getHeader('Location'));
 }
开发者ID:SustainableCoastlines,项目名称:loveyourwater,代码行数:35,代码来源:UserDefinedFormControllerTest.php

示例11: testShowDeleteButtonsWithAdminPermission

 public function testShowDeleteButtonsWithAdminPermission()
 {
     $this->logInWithPermission('ADMIN');
     $content = new CSSContentParser($this->gridField->FieldHolder());
     $deleteButtons = $content->getBySelector('.gridfield-button-delete');
     $this->assertEquals(3, count($deleteButtons), 'Delete buttons should show when logged in.');
 }
开发者ID:ivoba,项目名称:silverstripe-framework,代码行数:7,代码来源:GridFieldDeleteActionTest.php

示例12: testShowEditLinksWithAdminPermission

 public function testShowEditLinksWithAdminPermission()
 {
     $this->logInWithPermission('ADMIN');
     $content = new CSSContentParser($this->gridField->FieldHolder());
     $editLinks = $content->getBySelector('.edit-link');
     $this->assertEquals(2, count($editLinks), 'Edit links should show when logged in.');
 }
开发者ID:normann,项目名称:sapphire,代码行数:7,代码来源:GridFieldEditButtonTest.php

示例13: testAdd

	function testAdd() {
		$this->logInWithPermission('ADMIN');
		$team1 = $this->objFromFixture('GridFieldTest_Team', 'team1');
		$team2 = $this->objFromFixture('GridFieldTest_Team', 'team2');

		$response = $this->get('GridFieldAddExistingAutocompleterTest_Controller');
		$this->assertFalse($response->isError());
		$parser = new CSSContentParser($response->getBody());
		$items = $parser->getBySelector('.ss-gridfield .ss-gridfield-items .ss-gridfield-item');
		$this->assertEquals(1, count($items));
		$this->assertEquals($team1->ID, (int)$items[0]['data-id']);

		$btns = $parser->getBySelector('.ss-gridfield #action_gridfield_relationadd');
		$response = $this->post(
			'GridFieldAddExistingAutocompleterTest_Controller/Form/field/testfield',
			array(
				'relationID' => $team2->ID,
				(string)$btns[0]['name'] => 1
			)
		);
		$this->assertFalse($response->isError());
		$parser = new CSSContentParser($response->getBody());
		$items = $parser->getBySelector('.ss-gridfield .ss-gridfield-items .ss-gridfield-item');
		$this->assertEquals(2, count($items));
		$this->assertDOSEquals(array(
			array('ID' => (int)$items[0]['data-id']),
			array('ID' => (int)$items[1]['data-id']),
		), new ArrayList(array($team1, $team2)));
		
	}
开发者ID:redema,项目名称:sapphire,代码行数:30,代码来源:GridFieldAddExistingAutocompleterTest.php

示例14: testTreeSearch

 public function testTreeSearch()
 {
     $field = new TreeDropdownField('TestTree', 'Test tree', 'Folder');
     // case insensitive search against keyword 'sub' for folders
     $request = new SS_HTTPRequest('GET', 'url', array('search' => 'sub'));
     $tree = $field->tree($request);
     $folder1 = $this->objFromFixture('Folder', 'folder1');
     $folder1Subfolder1 = $this->objFromFixture('Folder', 'folder1-subfolder1');
     $parser = new CSSContentParser($tree);
     $cssPath = 'ul.tree li#selector-TestTree-' . $folder1->ID . ' li#selector-TestTree-' . $folder1Subfolder1->ID . ' a span.item';
     $firstResult = $parser->getBySelector($cssPath);
     $this->assertEquals((string) $firstResult[0], $folder1Subfolder1->Name, $folder1Subfolder1->Name . ' is found, nested under ' . $folder1->Name);
     $subfolder = $this->objFromFixture('Folder', 'subfolder');
     $cssPath = 'ul.tree li#selector-TestTree-' . $subfolder->ID . ' a span.item';
     $secondResult = $parser->getBySelector($cssPath);
     $this->assertEquals((string) $secondResult[0], $subfolder->Name, $subfolder->Name . ' is found at root level');
     // other folders which don't contain the keyword 'sub' are not returned in search results
     $folder2 = $this->objFromFixture('Folder', 'folder2');
     $cssPath = 'ul.tree li#selector-TestTree-' . $folder2->ID . ' a span.item';
     $noResult = $parser->getBySelector($cssPath);
     $this->assertEquals($noResult, array(), $folder2 . ' is not found');
     $field = new TreeDropdownField('TestTree', 'Test tree', 'File');
     // case insensitive search against keyword 'sub' for files
     $request = new SS_HTTPRequest('GET', 'url', array('search' => 'sub'));
     $tree = $field->tree($request);
     $parser = new CSSContentParser($tree);
     // Even if we used File as the source object, folders are still returned because Folder is a File
     $cssPath = 'ul.tree li#selector-TestTree-' . $folder1->ID . ' li#selector-TestTree-' . $folder1Subfolder1->ID . ' a span.item';
     $firstResult = $parser->getBySelector($cssPath);
     $this->assertEquals((string) $firstResult[0], $folder1Subfolder1->Name, $folder1Subfolder1->Name . ' is found, nested under ' . $folder1->Name);
     // Looking for two files with 'sub' in their name, both under the same folder
     $file1 = $this->objFromFixture('File', 'subfolderfile1');
     $file2 = $this->objFromFixture('File', 'subfolderfile2');
     $cssPath = 'ul.tree li#selector-TestTree-' . $subfolder->ID . ' li#selector-TestTree-' . $file1->ID . ' a';
     $firstResult = $parser->getBySelector($cssPath);
     $this->assertGreaterThan(0, count($firstResult), $file1->Name . ' with ID ' . $file1->ID . ' is in search results');
     $this->assertEquals((string) $firstResult[0], $file1->Name, $file1->Name . ' is found nested under ' . $subfolder->Name);
     $cssPath = 'ul.tree li#selector-TestTree-' . $subfolder->ID . ' li#selector-TestTree-' . $file2->ID . ' a';
     $secondResult = $parser->getBySelector($cssPath);
     $this->assertGreaterThan(0, count($secondResult), $file2->Name . ' with ID ' . $file2->ID . ' is in search results');
     $this->assertEquals((string) $secondResult[0], $file2->Name, $file2->Name . ' is found nested under ' . $subfolder->Name);
     // other files which don't include 'sub' are not returned in search results
     $file3 = $this->objFromFixture('File', 'asdf');
     $cssPath = 'ul.tree li#selector-TestTree-' . $file3->ID;
     $noResult = $parser->getBySelector($cssPath);
     $this->assertEquals($noResult, array(), $file3->Name . ' is not found');
 }
开发者ID:jacobbuck,项目名称:silverstripe-framework,代码行数:47,代码来源:TreeDropdownFieldTest.php

示例15: testExportLink

 public function testExportLink()
 {
     $page = $this->objFromFixture('RegistryPageTestPage', 'contact-registrypage');
     $response = $this->get($page->RelativeLink('RegistryFilterForm') . '?' . http_build_query(array('FirstName' => 'Alexander', 'Sort' => 'FirstName', 'Dir' => 'DESC', 'action_doRegistryFilter' => 'Filter')));
     $parser = new CSSContentParser($response->getBody());
     $anchor = $parser->getBySelector('a.export');
     $this->assertContains('export?', (string) $anchor[0]['href']);
     $this->assertContains('FirstName=Alexander', (string) $anchor[0]['href']);
     $this->assertContains('Surname=', (string) $anchor[0]['href']);
     $this->assertContains('Sort=FirstName', (string) $anchor[0]['href']);
     $this->assertContains('Dir=DESC', (string) $anchor[0]['href']);
     $this->assertContains('action_doRegistryFilter=Filter', (string) $anchor[0]['href']);
 }
开发者ID:helpfulrobot,项目名称:silverstripe-registry,代码行数:13,代码来源:RegistryPageFunctionalTest.php


注:本文中的CSSContentParser::getBySelector方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。