10 use MediaWikiCoversValidator;
11 use PHPUnit4And6Compat;
16 [
'foo',
'bar',
'baz',
'foo-bar-baz' ],
18 [
null,
null,
'',
'' ],
19 'Invalid $database' =>
20 [ 0,
'bar',
'',
'',
true ],
22 [
'foo', 0,
'',
'',
true ],
24 [
'foo',
'bar', 0,
'',
true ],
26 [
'foo-bar',
'baz',
'baa',
'foo?hbar-baz-baa' ],
28 [
'foo?bar',
'baz',
'baa',
'foo??bar-baz-baa' ],
35 public function testConstruct( $db, $schema, $prefix, $id, $exception =
false ) {
44 $this->assertEquals( $db, $domain->getDatabase() );
45 $this->assertEquals( $schema, $domain->getSchema() );
46 $this->assertEquals( $prefix, $domain->getTablePrefix() );
47 $this->assertEquals( $id, $domain->getId() );
48 $this->assertEquals( $id, strval( $domain ),
'toString' );
54 [
'foo',
'foo',
null,
'' ],
56 [
'foo-bar',
'foo',
null,
'bar' ],
58 [
'foo-bar-baz',
'foo',
'bar',
'baz' ],
60 [
'foo?hbar-baz-baa',
'foo-bar',
'baz',
'baa' ],
62 [
'foo??bar-baz-baa',
'foo?bar',
'baz',
'baa' ],
64 [
'foo?bar-baz-baa',
'foo?bar',
'baz',
'baa' ],
66 [
'foo-bar-baz-baa',
'',
'',
'',
true ],
68 [ DatabaseDomain::newUnspecified(),
null,
null,
'' ],
75 public function testNewFromId( $id, $db, $schema, $prefix, $exception =
false ) {
78 DatabaseDomain::newFromId( $id );
81 $domain = DatabaseDomain::newFromId( $id );
83 $this->assertEquals( $db, $domain->getDatabase() );
84 $this->assertEquals( $schema, $domain->getSchema() );
85 $this->assertEquals( $prefix, $domain->getTablePrefix() );
91 [
'foo',
'foo',
null,
'' ],
93 [
'foo-bar',
'foo',
null,
'bar' ],
95 [
'foo-bar-baz',
'foo',
'bar',
'baz' ],
97 [
'foo?hbar-baz-baa',
'foo-bar',
'baz',
'baa' ],
99 [
'foo??bar-baz-baa',
'foo?bar',
'baz',
'baa' ],
101 [
'',
null,
null,
'' ],
110 $fromId = DatabaseDomain::newFromId( $id );
115 $this->assertTrue( $constructed->equals( $id ),
'constructed equals string' );
116 $this->assertTrue( $fromId->equals( $id ),
'fromId equals string' );
118 $this->assertTrue( $constructed->equals( $fromId ),
'compare constructed to newId' );
119 $this->assertTrue( $fromId->equals( $constructed ),
'compare newId to constructed' );
126 $domain = DatabaseDomain::newUnspecified();
128 $this->assertTrue( $domain->equals(
'' ) );
129 $this->assertSame(
null, $domain->getDatabase() );
130 $this->assertSame(
null, $domain->getSchema() );
131 $this->assertSame(
'', $domain->getTablePrefix() );