public function JsonItemTest::testCharacterLimit in JSON Field 8
Test character limit constraints.
@dataProvider providerTestCharacterLimit
File
- tests/
src/ Kernel/ JsonItemTest.php, line 71  
Class
- JsonItemTest
 - @coversDefaultClass \Drupal\json_field\Plugin\Field\FieldType\JSONItem
 
Namespace
Drupal\Tests\json_field\KernelCode
public function testCharacterLimit($size, $limit) {
  $storage = [
    'settings' => [
      'size' => $size,
    ],
  ];
  $this
    ->createTestField($storage);
  $entity = EntityTest::create([
    // Valid JSON 1 character larger than $limit.
    'test_json_field' => '"' . str_repeat('x', $limit - 1) . '"',
  ]);
  $constraint_list = $entity
    ->validate()
    ->getByField('test_json_field');
  $this
    ->assertEquals(1, $constraint_list
    ->count());
  /** @var \Symfony\Component\Validator\ConstraintViolation $violation */
  $violation = $constraint_list
    ->get(0);
  $this
    ->assertTrue($violation
    ->getConstraint() instanceof LengthConstraint);
}