Merge "Removed redundant signatures from DatabaseBase"
[lhc/web/wiklou.git] / tests / phpunit / includes / content / CssContentTest.php
1 <?php
2
3 /**
4 * @group ContentHandler
5 * @group Database
6 * ^--- needed, because we do need the database to test link updates
7 *
8 * @FIXME this should not extend JavaScriptContentTest.
9 */
10 class CssContentTest extends JavaScriptContentTest {
11
12 protected function setUp() {
13 parent::setUp();
14
15 // Anon user
16 $user = new User();
17 $user->setName( '127.0.0.1' );
18
19 $this->setMwGlobals( array(
20 'wgUser' => $user,
21 'wgTextModelsToParse' => array(
22 CONTENT_MODEL_CSS,
23 )
24 ) );
25 }
26
27 public function newContent( $text ) {
28 return new CssContent( $text );
29 }
30
31 public static function dataGetParserOutput() {
32 return array(
33 array(
34 'MediaWiki:Test.css',
35 null,
36 "hello <world>\n",
37 "<pre class=\"mw-code mw-css\" dir=\"ltr\">\nhello &lt;world&gt;\n\n</pre>"
38 ),
39 array(
40 'MediaWiki:Test.css',
41 null,
42 "/* hello [[world]] */\n",
43 "<pre class=\"mw-code mw-css\" dir=\"ltr\">\n/* hello [[world]] */\n\n</pre>",
44 array(
45 'Links' => array(
46 array( 'World' => 0 )
47 )
48 )
49 ),
50
51 // TODO: more...?
52 );
53 }
54
55 /**
56 * @covers CssContent::getModel
57 */
58 public function testGetModel() {
59 $content = $this->newContent( 'hello world.' );
60
61 $this->assertEquals( CONTENT_MODEL_CSS, $content->getModel() );
62 }
63
64 /**
65 * @covers CssContent::getContentHandler
66 */
67 public function testGetContentHandler() {
68 $content = $this->newContent( 'hello world.' );
69
70 $this->assertEquals( CONTENT_MODEL_CSS, $content->getContentHandler()->getModelID() );
71 }
72
73 /**
74 * Redirects aren't supported
75 */
76 public static function provideUpdateRedirect() {
77 return array(
78 array(
79 '#REDIRECT [[Someplace]]',
80 '#REDIRECT [[Someplace]]',
81 ),
82 );
83 }
84
85 /**
86 * Override this since CssContent does not support redirects yet
87 */
88 public static function provideGetRedirectTarget() {
89 return array(
90 array( null, '' ),
91 );
92 }
93
94 public static function dataEquals() {
95 return array(
96 array( new CssContent( 'hallo' ), null, false ),
97 array( new CssContent( 'hallo' ), new CssContent( 'hallo' ), true ),
98 array( new CssContent( 'hallo' ), new WikitextContent( 'hallo' ), false ),
99 array( new CssContent( 'hallo' ), new CssContent( 'HALLO' ), false ),
100 );
101 }
102
103 /**
104 * @dataProvider dataEquals
105 * @covers CssContent::equals
106 */
107 public function testEquals( Content $a, Content $b = null, $equal = false ) {
108 $this->assertEquals( $equal, $a->equals( $b ) );
109 }
110 }