$table->add_field('course', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0');
$table->add_field('name', XMLDB_TYPE_CHAR, '255', null, null, null, 'lala');
$table->add_field('description', XMLDB_TYPE_TEXT, 'small', null, null, null, null);
+ $table->add_field('oneint', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '0');
+ $table->add_field('oneintnodefault', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null);
$table->add_field('enumfield', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, 'test2');
$table->add_field('onenum', XMLDB_TYPE_NUMBER, '10,2', null, null, null, 200);
- $table->add_field('onefloat', XMLDB_TYPE_FLOAT, '10,2', null, null, null, 300);
+ $table->add_field('onenumnodefault', XMLDB_TYPE_NUMBER, '10,2', null, null, null);
+ $table->add_field('onefloat', XMLDB_TYPE_FLOAT, '10,2', null, XMLDB_NOTNULL, null, 300);
+ $table->add_field('onefloatnodefault', XMLDB_TYPE_FLOAT, '10,2', null, XMLDB_NOTNULL, null);
$table->add_field('anotherfloat', XMLDB_TYPE_FLOAT, null, null, null, null, 400);
$table->add_field('negativedfltint', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, '-1');
$table->add_field('negativedfltnumber', XMLDB_TYPE_NUMBER, '10', null, XMLDB_NOTNULL, null, '-2');
$this->assertNull($field->default_value);
$this->assertFalse($field->not_null);
+ $field = $columns['oneint'];
+ $this->assertSame('I', $field->meta_type);
+ $this->assertFalse($field->auto_increment);
+ $this->assertTrue($field->has_default);
+ $this->assertEquals(0, $field->default_value);
+ $this->assertTrue($field->not_null);
+
+ $field = $columns['oneintnodefault'];
+ $this->assertSame('I', $field->meta_type);
+ $this->assertFalse($field->auto_increment);
+ $this->assertFalse($field->has_default);
+ $this->assertNull($field->default_value);
+ $this->assertTrue($field->not_null);
+
$field = $columns['enumfield'];
$this->assertSame('C', $field->meta_type);
$this->assertFalse($field->auto_increment);
$this->assertEquals(200.0, $field->default_value);
$this->assertFalse($field->not_null);
+ $field = $columns['onenumnodefault'];
+ $this->assertSame('N', $field->meta_type);
+ $this->assertFalse($field->auto_increment);
+ $this->assertEquals(10, $field->max_length);
+ $this->assertEquals(2, $field->scale);
+ $this->assertFalse($field->has_default);
+ $this->assertNull($field->default_value);
+ $this->assertFalse($field->not_null);
+
$field = $columns['onefloat'];
$this->assertSame('N', $field->meta_type);
$this->assertFalse($field->auto_increment);
$this->assertTrue($field->has_default);
$this->assertEquals(300.0, $field->default_value);
- $this->assertFalse($field->not_null);
+ $this->assertTrue($field->not_null);
+
+ $field = $columns['onefloatnodefault'];
+ $this->assertSame('N', $field->meta_type);
+ $this->assertFalse($field->auto_increment);
+ $this->assertFalse($field->has_default);
+ $this->assertNull($field->default_value);
+ $this->assertTrue($field->not_null);
$field = $columns['anotherfloat'];
$this->assertSame('N', $field->meta_type);