Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F2751100
HookHandlerTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
HookHandlerTest.php
View Options
<?php
declare
(
strict_types
=
1
);
namespace
MediaWiki\Extension\Translate
;
use
ContentHandler
;
use
MediaWiki\CommentStore\CommentStoreComment
;
use
MediaWiki\Revision\SlotRecord
;
use
MediaWiki\Title\Title
;
use
MediaWikiLangTestCase
;
use
MessageGroupTestTrait
;
use
MockWikiMessageGroup
;
/**
* Test for various code using hooks.
* @group Database
* @group medium
* @author Niklas Laxström
* @license GPL-2.0-or-later
* @covers MediaWiki\Extension\Translate\HookHandler
*/
class
HookHandlerTest
extends
MediaWikiLangTestCase
{
use
MessageGroupTestTrait
;
protected
function
setUp
():
void
{
parent
::
setUp
();
$this
->
overrideConfigValues
(
[
'TranslateDocumentationLanguageCode'
=>
'qqq'
,
'TranslateMessageNamespaces'
=>
[
NS_MEDIAWIKI
],
]
);
$this
->
setupGroupTestEnvironmentWithGroups
(
$this
,
$this
->
getTestGroups
()
);
}
public
function
getTestGroups
()
{
$messages
=
[
'ugakey1'
=>
'value1'
,
'ugakey2'
=>
'value2'
,
];
$list
[
'testgroup'
]
=
new
MockWikiMessageGroup
(
'testgroup'
,
$messages
);
return
$list
;
}
public
function
testPreventCategorization
()
{
$user
=
$this
->
getTestSysop
()->
getUser
();
$title
=
Title
::
makeTitle
(
NS_MEDIAWIKI
,
'Ugakey1/fi'
);
$wikipage
=
$this
->
getServiceContainer
()->
getWikiPageFactory
()->
newFromTitle
(
$title
);
$content
=
ContentHandler
::
makeContent
(
'[[Category:Shouldnotbe]]'
,
$title
);
$updater
=
$wikipage
->
newPageUpdater
(
self
::
getTestSysop
()->
getUser
()
)
->
setContent
(
SlotRecord
::
MAIN
,
$content
);
$updater
->
saveRevision
(
CommentStoreComment
::
newUnsavedComment
(
__METHOD__
)
);
$this
->
assertEquals
(
[],
$title
->
getParentCategories
(),
'translation of known message'
);
$title
=
Title
::
makeTitle
(
NS_MEDIAWIKI
,
'Ugakey2/qqq'
);
$wikipage
=
$this
->
getServiceContainer
()->
getWikiPageFactory
()->
newFromTitle
(
$title
);
$content
=
ContentHandler
::
makeContent
(
'[[Category:Shouldbe]]'
,
$title
);
$updater
=
$wikipage
->
newPageUpdater
(
self
::
getTestSysop
()->
getUser
()
)
->
setContent
(
SlotRecord
::
MAIN
,
$content
);
$updater
->
saveRevision
(
CommentStoreComment
::
newUnsavedComment
(
__METHOD__
)
);
$this
->
assertEquals
(
[
'Category:Shouldbe'
=>
'MediaWiki:Ugakey2/qqq'
],
$title
->
getParentCategories
(),
'message docs'
);
$title
=
Title
::
makeTitle
(
NS_MEDIAWIKI
,
'Ugakey3/no'
);
$wikipage
=
$this
->
getServiceContainer
()->
getWikiPageFactory
()->
newFromTitle
(
$title
);
$content
=
ContentHandler
::
makeContent
(
'[[Category:Shouldbealso]]'
,
$title
);
$updater
=
$wikipage
->
newPageUpdater
(
self
::
getTestSysop
()->
getUser
()
)
->
setContent
(
SlotRecord
::
MAIN
,
$content
);
$updater
->
saveRevision
(
CommentStoreComment
::
newUnsavedComment
(
__METHOD__
)
);
$this
->
assertEquals
(
[],
$title
->
getParentCategories
(),
'unknown message'
);
}
public
function
testSearchProfile
()
{
$profiles
=
[
'files'
=>
[],
'all'
=>
[],
'advanced'
=>
[]
];
$expected
=
[
'files'
,
'translation'
,
'all'
,
'advanced'
];
HookHandler
::
searchProfile
(
$profiles
);
$this
->
assertEquals
(
$expected
,
array_keys
(
$profiles
)
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Jul 3, 17:52 (1 d, 4 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
aa/e4/efc65b7ac9255c016cb3b64423a1
Default Alt Text
HookHandlerTest.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment