2 declare(strict_types = 1);
22 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
166 "COMMENT 'aComment'",
178 'COLUMN_FORMAT FIXED' => [
179 'COLUMN_FORMAT FIXED',
191 'COLUMN_FORMAT DYNAMIC' => [
192 'COLUMN_FORMAT DYNAMIC',
204 'COLUMN_FORMAT DEFAULT' => [
205 'COLUMN_FORMAT DEFAULT',
230 'STORAGE MEMORY' => [
243 'STORAGE DEFAULT' => [
256 "NOT NULL DEFAULT '0'" => [
257 "NOT NULL DEFAULT '0'",
269 'NOT NULL AUTO_INCREMENT' => [
270 'NOT NULL AUTO_INCREMENT',
282 'NULL DEFAULT NULL' => [
295 'NOT NULL PRIMARY KEY' => [
296 'NOT NULL PRIMARY KEY',
308 "NULL DEFAULT 'dummy' UNIQUE" => [
309 "NULL DEFAULT 'dummy' UNIQUE",
321 "NOT NULL DEFAULT '0' COMMENT 'aComment with blanks' AUTO_INCREMENT PRIMARY KEY COLUMN_FORMAT DYNAMIC" => [
322 "NOT NULL DEFAULT '0' COMMENT 'aComment with blanks' AUTO_INCREMENT PRIMARY KEY COLUMN_FORMAT DYNAMIC",
330 'aComment with blanks',
353 string $columnAttribute,
355 bool $hasDefaultValue,
359 bool $createUniqueIndex,
361 string $comment =
null,
362 string $columnFormat =
null,
363 string $storage =
null
365 $statement = sprintf(
'CREATE TABLE `aTable`(`aField` INT(11) %s);', $columnAttribute);
368 $this->assertInstanceOf(CreateColumnDefinitionItem::class, $subject);
369 $this->assertSame($allowNull, $subject->allowNull);
370 $this->assertSame($hasDefaultValue, $subject->hasDefaultValue);
371 $this->assertSame($defaultValue, $subject->defaultValue);
372 $this->assertSame($createIndex, $subject->index);
373 $this->assertSame($createUniqueIndex, $subject->unique);
374 $this->assertSame($isPrimaryKey, $subject->primary);
375 $this->assertSame($autoIncrement, $subject->autoIncrement);
376 $this->assertSame($comment, $subject->comment);
377 $this->assertSame($columnFormat, $subject->columnFormat);
378 $this->assertSame($storage, $subject->storage);
391 $createTableStatement =
$parser->getAST();
393 return $createTableStatement->createDefinition->items[0];