2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								namespace  Drupal\FunctionalTests ;  
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Behat\Mink\Exception\ExpectationException ;  
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Drupal\Component\Utility\Html ;  
						 
					
						
							
								
									
										
										
										
											2016-06-02 15:56:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Drupal\Core\Url ;  
						 
					
						
							
								
									
										
										
										
											2016-04-20 09:56:34 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Drupal\Tests\BrowserTestBase ;  
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Drupal\Tests\Traits\Core\CronRunTrait ;  
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Tests  BrowserTestBase  functionality . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ group  browsertestbase 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  BrowserTestBaseTest  extends  BrowserTestBase  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  use  CronRunTrait ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Modules  to  enable . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  @ var  array 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  public  static  $modules  =  [ 'test_page_test' ,  'form_test' ,  'system_test' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  basic  page  test . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testGoTo ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $account  =  $this -> drupalCreateUser (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalLogin ( $account ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Visit a Drupal page that requires login.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-08 11:40:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-page' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> statusCodeEquals ( 200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test page contains some text.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> pageTextContains ( 'Test page text.' ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-02 15:56:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 13:26:21 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Check that returned plain text is correct.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $text  =  $this -> getTextContent (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertContains ( 'Test page text.' ,  $text ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNotContains ( '</html>' ,  $text ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 09:44:38 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Response includes cache tags that we can assert.
 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $this -> assertSession () -> responseHeaderEquals ( 'X-Drupal-Cache-Tags' ,  'http_response rendered' ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-07 09:44:38 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-08-03 13:22:33 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Test that we can read the JS settings.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $js_settings  =  $this -> getDrupalSettings (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( 'azAZ09();.,\\\/-_{}' ,  $js_settings [ 'test-setting' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-02 15:56:09 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Test drupalGet with a url object.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $url  =  Url :: fromRoute ( 'test_page_test.render_title' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( $url ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> statusCodeEquals ( 200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test page contains some text.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> pageTextContains ( 'Hello Drupal' ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that setting headers with drupalGet() works.
 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'system-test/header' ,  [],  [ 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      'Test-Header'  =>  'header value' , 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ]); 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $returned_header  =  $this -> getSession () -> getResponseHeader ( 'Test-Header' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( 'header value' ,  $returned_header ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  basic  form  functionality . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testForm ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Ensure the proper response code for a _form route.
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-08 11:40:12 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'form-test/object-builder' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> statusCodeEquals ( 200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Ensure the form and text field exist.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> elementExists ( 'css' ,  'form#form-test-form-test-object' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> fieldExists ( 'bananas' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    // Check that the hidden field exists and has a specific value.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldExists ( 'strawberry' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldExists ( 'red' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldExists ( 'redstrawberryhiddenfield' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldValueNotEquals ( 'strawberry' ,  'brown' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldValueEquals ( 'strawberry' ,  'red' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Check that a hidden field does not exist.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldNotExists ( 'bananas' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> hiddenFieldNotExists ( 'pineapple' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    $edit  =  [ 'bananas'  =>  'green' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> submitForm ( $edit ,  'Save' ,  'form-test-form-test-object' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $config_factory  =  $this -> container -> get ( 'config.factory' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $value  =  $config_factory -> get ( 'form_test.object' ) -> get ( 'bananas' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( 'green' ,  $value ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test drupalPostForm().
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $edit  =  [ 'bananas'  =>  'red' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalPostForm ( 'form-test/object-builder' ,  $edit ,  'Save' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $value  =  $config_factory -> get ( 'form_test.object' ) -> get ( 'bananas' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( 'red' ,  $value ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalPostForm ( 'form-test/object-builder' ,  NULL ,  'Save' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $value  =  $config_factory -> get ( 'form_test.object' ) -> get ( 'bananas' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( '' ,  $value ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  clickLink ()  functionality . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testClickLink ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-page' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> clickLink ( 'Visually identical test links' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertContains ( 'user/login' ,  $this -> getSession () -> getCurrentUrl ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-page' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> clickLink ( 'Visually identical test links' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertContains ( 'user/login' ,  $this -> getSession () -> getCurrentUrl ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-page' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> clickLink ( 'Visually identical test links' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertContains ( 'user/register' ,  $this -> getSession () -> getCurrentUrl ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-07 11:19:57 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  public  function  testError ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> setExpectedException ( '\Exception' ,  'User notice: foo' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-error' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								   *  Tests  linkExists ()  with  pipe  character  ( | )  in  locator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  @ see  \Drupal\Tests\WebAssert :: linkExists () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testPipeCharInLocator ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-pipe-char' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> linkExists ( 'foo|bar|baz' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  legacy  text  asserts . 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  public  function  testLegacyTextAsserts ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-encoded' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $dangerous  =  'Bad html <script>alert(123);</script>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $sanitized  =  Html :: escape ( $dangerous ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoText ( $dangerous ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertText ( $sanitized ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-13 15:53:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test getRawContent().
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSame ( $this -> getSession () -> getPage () -> getContent (),  $this -> getRawContent ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  legacy  field  asserts . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testLegacyFieldAsserts ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> drupalGet ( 'test-field-xpath' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldsByValue ( $this -> xpath ( " //h1[@class = 'page-title'] " ),  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldsByValue ( $this -> xpath ( '//table/tbody/tr[2]/td[1]' ),  'one' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldByXPath ( '//table/tbody/tr[2]/td[1]' ,  'one' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldsByValue ( $this -> xpath ( " //input[@id = 'edit-name'] " ),  'Test name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldByXPath ( " //input[@id = 'edit-name'] " ,  'Test name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldsByValue ( $this -> xpath ( " //select[@id = 'edit-options'] " ),  '2' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldByXPath ( " //select[@id = 'edit-options'] " ,  '2' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByXPath ( '//notexisting' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByXPath ( " //input[@id = 'edit-name'] " ,  'wrong value' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldById ( 'name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldById ( 'name' ,  'not the value' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldById ( 'notexisting' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldById ( 'notexisting' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if no value is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertNoFieldById ( 'edit-description' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "description" field, with no value was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "description" field, with no value was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if a NULL value is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertNoFieldById ( 'edit-name' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "name" field was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "name" field was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldById ( 'edit-name' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldById ( 'edit-name' ,  'Test name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldById ( 'edit-description' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldById ( 'edit-description' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if no value is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertFieldById ( 'edit-name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "edit-name" field with no value was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( \PHPUnit_Framework_ExpectationFailedException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "edit-name" field with no value was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if NULL is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertFieldById ( 'name' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "name" field was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "name" field was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByName ( 'name' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByName ( 'name' ,  'not the value' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByName ( 'notexisting' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldByName ( 'notexisting' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if no value is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertNoFieldByName ( 'description' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "description" field, with no value was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "description" field, with no value was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if a NULL value is passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertNoFieldByName ( 'name' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The "name" field was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( 'The "name" field was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertOptionByText ( 'options' ,  'one' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertOptionByText ( 'options' ,  'four' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The select option "four" was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( $e -> getMessage ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertFieldById ( 'edit-save' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if the field value is passed in
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // rather than the id.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertFieldById ( 'Save' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The field with id of "Save" was found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( $e -> getMessage ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertNoFieldById ( 'Save' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Test that the assertion fails correctly if the id of an actual field is
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // passed in.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    try  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> assertNoFieldById ( 'edit-save' ,  NULL ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> fail ( 'The field with id of "edit-save" was not found.' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    catch  ( ExpectationException  $e )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      $this -> pass ( $e -> getMessage ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  the  :: cronRun ()  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testCronRun ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $last_cron_time  =  \Drupal :: state () -> get ( 'system.cron_last' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> cronRun (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertSession () -> statusCodeEquals ( 204 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $next_cron_time  =  \Drupal :: state () -> get ( 'system.cron_last' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertGreaterThan ( $last_cron_time ,  $next_cron_time ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-06 15:16:20 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-02 16:28:38 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   *  Tests  the  Drupal  install  done  in  \Drupal\Tests\BrowserTestBase :: setUp () . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  public  function  testInstall ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $htaccess_filename  =  $this -> tempFilesDirectory  .  '/.htaccess' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $this -> assertTrue ( file_exists ( $htaccess_filename ),  " $htaccess_filename  exists " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-17 17:00:26 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}