[ str_repeat('é', 120), str_repeat('é', 120), str_repeat('é', 120), str_repeat('é', 120), ], 'all with 255 smiley' => [ str_repeat('😎', 255), str_repeat('😎', 255), str_repeat('😎', 255), str_repeat('😎', 255), ], 'all with 255 characters, us-ascii only' => [ str_repeat('a', 255), str_repeat('a', 255), str_repeat('a', 255), str_repeat('a', 255), ], 'all with 255 é' => [ str_repeat('é', 255), str_repeat('é', 255), str_repeat('é', 255), str_repeat('é', 255), ], ]; } /** * EventIssue has a OnInsert override that uses mb_strlen, so we need to test this specific case * * @covers EventIssue::OnInsert * * @dataProvider OnInsertProvider * * @since 3.1.2 N°3448 - Framework field size check not correctly implemented for multi-bytes languages/strings */ public function testOnInsert(string $sIssue, string $sImpact, string $sPage, string $sMessage) { $oEventIssue = MetaModel::NewObject('EventIssue', [ 'issue' => $sIssue, 'impact' => $sImpact, 'page' => $sPage, 'message' => $sMessage, ]); try { $oEventIssue->DBInsert(); } catch (CoreException $e) { $this->fail('we should be able to persist the object though it contains long values in its attributes: '.$e->getMessage()); } $this->assertTrue(true); } }