You are here

public function PhraseCaptchaTestCase::testPhraseCaseInsensitiveValidation in CAPTCHA Pack 8

Testing the case sensitive/insensitive validation.

File

text_captcha/modules/phrase_captcha/src/Test/PhraseCaptchaTestCase.php, line 114

Class

PhraseCaptchaTestCase
Phrase CAPTCHA main test case sensitivity.

Namespace

Drupal\phrase_captcha\Tests

Code

public function testPhraseCaseInsensitiveValidation() {
  $config = $this
    ->config('captcha.settings');

  // Set Test CAPTCHA on comment form.
  captcha_set_form_id_setting(self::COMMENT_FORM_ID, 'phrase_captcha/Test');

  // Log in as normal user.
  $this
    ->drupalLogin($this->normalUser);

  // Test case sensitive posting.
  $config
    ->set('default_validation', CAPTCHA_DEFAULT_VALIDATION_CASE_SENSITIVE);
  $config
    ->save();
  $this
    ->assertCommentPosting('Test 123', TRUE, 'Case sensitive validation of right casing.');
  $this
    ->assertCommentPosting('test 123', FALSE, 'Case sensitive validation of wrong casing.');
  $this
    ->assertCommentPosting('TEST 123', FALSE, 'Case sensitive validation of wrong casing.');

  // Test case insensitive posting (the default).
  $config
    ->set('default_validation', CAPTCHA_DEFAULT_VALIDATION_CASE_INSENSITIVE);
  $config
    ->save();
  $this
    ->assertCommentPosting('Test 123', TRUE, 'Case insensitive validation of right casing.');
  $this
    ->assertCommentPosting('test 123', TRUE, 'Case insensitive validation of wrong casing.');
  $this
    ->assertCommentPosting('TEST 123', TRUE, 'Case insensitive validation of wrong casing.');
}