Merge "Use __DIR__ instead of dirname( __FILE__ )"
[lhc/web/wiklou.git] / tests / selenium / installer / MediaWikiHelpFieldHintTestCase.php
1 <?php
2
3 /**
4 * MediaWikiHelpFieldHintTestCase
5 *
6 * @file
7 * @ingroup Maintenance
8 * Copyright (C) 2010 Nadeesha Weerasinghe <nadeesha@calcey.com>
9 * http://www.calcey.com/
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 * http://www.gnu.org/copyleft/gpl.html
25 *
26 * @addtogroup Maintenance
27 *
28 */
29
30 /**
31 * Test Case ID : 29 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
32 * Test Case Name : Help field hint availability for the fields.
33 * Version : MediaWiki 1.18alpha
34 */
35
36 require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
37
38 class MediaWikiHelpFieldHintTestCase extends MediaWikiInstallationCommonFunction {
39
40 function setUp() {
41 parent::setUp();
42 }
43
44
45 // Verify help field availability for the fields
46 public function testMySQLConnectToDatabaseFieldHint() {
47
48 parent::navigateConnetToDatabasePage();
49
50 // Verify help field for 'Database host'
51 $this->click( "//div[@id='DB_wrapper_mysql']/div/div[1]/div/span[1]" );
52 $this->assertEquals( MYSQL_DATABASE_HOST_HELP,
53 $this->getText( "//div[@id='DB_wrapper_mysql']/div/div[1]/div/span[2]" ) );
54
55 // Verify help field for 'Database name'
56 $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[1]" );
57 $this->assertEquals( MYSQL_DATABASE_NAME_HELP,
58 $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[2]" ));
59
60
61 // Verify help field for 'Database table prefix'
62 $this->click("//div[@id='DB_wrapper_mysql']/fieldset[1]/div[2]/div[1]/div/span[1]" );
63 $this->assertEquals(MYSQL_DATABASE_TABLE_PREFIX_HELP,
64 $this->getText("//div[@id='DB_wrapper_mysql']/fieldset[1]/div[1]/div[1]/div/span[2]/p[1]" ));
65
66 // Verify help field for 'Database username'
67 $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[1]/div[1]/div/span[1]" );
68 $this->assertEquals( MYSQL_DATBASE_USERNAME_HELP,
69 $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[1]/div[1]/div/span[2]" ));
70
71 // Verify help field for 'Database password'
72 $this->click( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[2]/div[1]/div/span[1]" );
73 $this->assertEquals( MYSQL_DATABASE_PASSWORD_HELP,
74 $this->getText( "//div[@id='DB_wrapper_mysql']/fieldset[2]/div[2]/div[1]/div/span[2]/p" ));
75 }
76
77
78 public function testSQLiteConnectToDatabaseFieldHint() {
79
80 parent::navigateConnetToDatabasePage();
81 $this->click( "DBType_sqlite" );
82
83 // Verify help field for 'SQLite data directory'
84 $this->click( "//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[1]" );
85 $this->assertEquals( SQLITE_DATA_DIRECTORY_HELP,
86 $this->getText( "//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[2]" ));
87
88 // Verify help field for 'Database name'
89 $this->click( "//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[1]" );
90 $this->assertEquals( SQLITE_DATABASE_NAME_HELP , $this->getText( "//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[2]/p" ));
91 }
92
93
94 public function testDatabaseSettingsFieldHint() {
95
96 $databaseName = DB_NAME_PREFIX."_db_field";
97 parent::navigateDatabaseSettingsPage($databaseName);
98
99 // Verify help field for 'Search engine'
100 $this->click( LINK_FORM."div[2]/span[1]" );
101 $this->assertEquals( SEARCH_ENGINE_HELP,
102 $this->getText( LINK_FORM."div[2]/span[2]" ));
103
104 // Verify help field for 'Database character set'
105 $this->click( LINK_FORM."div[4]/span[1]" );
106 $this->assertEquals( DATABASE_CHARACTER_SET_HELP,
107 $this->getText( LINK_FORM."div[4]/span[2]"));
108 parent::restartInstallation();
109 }
110
111
112 public function testNameFieldHint() {
113
114 $databaseName = DB_NAME_PREFIX."_name_field";
115 parent::navigateNamePage( $databaseName );
116
117 // Verify help field for 'Name of Wiki'
118 $this->click( LINK_FORM."div[1]/div[1]/div/span[1]" );
119 $this->assertEquals( NAME_OF_WIKI_HELP,
120 $this->getText( LINK_FORM."div[1]/div[1]/div/span[2]/p" ));
121
122 // Verify help field for 'Project namespace'
123 $this->click( LINK_FORM."div[2]/div[1]/div/span[1]" );
124 $this->assertEquals( PROJECT_NAMESPACE_HELP,
125 $this->getText( LINK_FORM."div[2]/div[1]/div/span[2]/p"));
126
127 // Verify help field for 'Your Name'
128 $this->click( LINK_FORM."fieldset/div[1]/div[1]/div/span[1]" );
129 $this->assertEquals( USER_NAME_HELP,
130 $this->getText( LINK_FORM."fieldset/div[1]/div[1]/div/span[2]/p" ));
131
132 // Verify help field for 'E mail address'
133 $this->click( LINK_FORM."fieldset/div[4]/div[1]/div/span[1]" );
134 $this->assertEquals( EMAIL_ADDRESS_HELP,
135 $this->getText( LINK_FORM."fieldset/div[4]/div[1]/div/span[2]/p" ));
136
137 parent::restartInstallation();
138 }
139 }
140