You are here

public function CaptchaTest::testCaseInsensitiveValidation in CAPTCHA 8

Testing the case sensitive/insensitive validation.

File

tests/src/Functional/CaptchaTest.php, line 149

Class

CaptchaTest
Tests CAPTCHA main test case sensitivity.

Namespace

Drupal\Tests\captcha\Functional

Code

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

  // Set Test CAPTCHA on comment form.
  captcha_set_form_id_setting(self::COMMENT_FORM_ID, '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.');
}