lable = $this->testString(); $this->lable_link = $this->testString() . ' @link '; $this->fieldset = $this->testString(); $this->body = $this->randomName(); // Enable the terms of use module. parent::setUp('terms_of_use'); $this->admin_user = $this->drupalCreateUser(array('administer site configuration')); $this->drupalLogin($this->admin_user); // Default terms of use node. $this->node = $this->drupalCreateNode(array('type' => 'page', 'body' => $this->body)); } private function testString() { return '' . $this->randomString() . ''; } } /** * Test for all simple settings. */ class TOUSettingsTestCase extends TOUWebTestCase { public static function getInfo() { return array( 'name' => 'TOU Basic', 'description' => 'Basic functionality tests.', 'group' => 'Terms of use', ); } public function testTOUBasic() { $edit = array( 'terms_of_use_node_title' => $this->node->title, 'terms_of_use_checkbox_label' => $this->lable, 'terms_of_use_fieldset_name' => $this->fieldset, ); $this->drupalPost('admin/settings/terms_of_use', $edit, t('Save configuration')); $this->assertFieldByName('terms_of_use_node_title', $this->node->title, 'Node set.'); $this->assertFieldByName('terms_of_use_checkbox_label', $this->lable, 'Lable name set.'); $this->assertFieldByName('terms_of_use_fieldset_name', $this->fieldset, 'Fieldset name set.'); $this->drupalLogout(); $this->drupalGet('user/register'); $this->assertRaw(filter_xss_admin($this->lable), 'Checkbox lable found.'); $this->assertRaw(filter_xss($this->fieldset), 'Fieldset name found.'); $this->assertText($this->body, 'Terms node body text found.'); $this->drupalPost('user/register', array(), t('Create new account')); $this->assertRaw(t('You must agree with the !terms to get an account.', array('!terms' => filter_xss($this->fieldset))), 'Checkbox lable found.'); $edit = array( 'name' => $this->randomName(), 'mail' => $this->randomName() . '@example.com', 'terms_of_use' => TRUE, ); $this->drupalPost('user/register', $edit, t('Create new account')); $this->assertText(t('Your password and further instructions have been sent to your e-mail address.'), 'Account creation successfull.'); $this->drupalLogin($this->admin_user); $edit = array( 'terms_of_use_checkbox_label' => $this->lable_link, ); $this->drupalPost('admin/settings/terms_of_use', $edit, t('Save configuration')); $this->assertFieldByName('terms_of_use_checkbox_label', $this->lable_link, 'Lable name with @link set.'); $this->drupalLogout(); $this->drupalGet('user/register'); $replaced_lable = str_replace('@link', l($this->node->title, 'node/' . $this->node->nid), filter_xss_admin($this->lable_link)); $this->assertRaw($replaced_lable, 'Checkbox lable found.'); $this->assertNoText($this->body, 'Terms node body text not found.'); } }