Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F6007006
test_mw.echo.dm.SourcePagesModel.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
test_mw.echo.dm.SourcePagesModel.js
View Options
QUnit
.
module
(
'ext.echo.dm - SourcePagesModel'
,
()
=>
{
// Mock partial API response we feed into the model
const
sources
=
{
local
:
{
pages
:
[
{
ns
:
2
,
title
:
'User:Admin'
,
unprefixed
:
'Admin'
,
pages
:
[
'User:Admin'
,
'User talk:Admin'
,
null
],
count
:
24
},
{
ns
:
2
,
title
:
'User:RandomUser'
,
unprefixed
:
'RandomUser'
,
pages
:
[
'User:RandomUser'
,
'User talk:RandomUser'
],
count
:
6
},
{
ns
:
0
,
title
:
'Moai'
,
unprefixed
:
'Moai'
,
pages
:
[
'Moai'
,
'Talk:Moai'
],
count
:
3
}
],
totalCount
:
33
,
source
:
{
title
:
'LocalWiki'
,
url
:
'http://dev.wiki.local.wmftest.net:8080/w/api.php'
,
base
:
'http://dev.wiki.local.wmftest.net:8080/wiki/$1'
}
},
hewiki
:
{
pages
:
[
{
ns
:
2
,
title
:
'Foo'
,
unprefixed
:
'Foo'
,
pages
:
[
'Foo'
,
'Talk:Foo'
,
null
],
count
:
10
},
{
ns
:
0
,
title
:
'User:Bar'
,
unprefixed
:
'Bar'
,
pages
:
[
'User:Bar'
,
'User talk:Bar'
],
count
:
5
}
],
totalCount
:
15
,
source
:
{
title
:
'Hebrew Wikipedia'
,
url
:
'http://he.wiki.local.wmftest.net:8080/w/api.php'
,
base
:
'http://he.wiki.local.wmftest.net:8080/wiki/$1'
}
}
};
QUnit
.
test
(
'Creating source-page map'
,
(
assert
)
=>
{
const
model
=
new
mw
.
echo
.
dm
.
SourcePagesModel
();
model
.
setAllSources
(
sources
);
assert
.
strictEqual
(
model
.
getCurrentSource
(),
'local'
,
'Default source is local'
);
assert
.
strictEqual
(
model
.
getCurrentPage
(),
null
,
'Default page is null'
);
assert
.
deepEqual
(
model
.
getSourcesArray
(),
[
'local'
,
'hewiki'
],
'Source array includes all sources'
);
assert
.
strictEqual
(
model
.
getSourceTitle
(
'hewiki'
),
'Hebrew Wikipedia'
,
'Source title'
);
assert
.
strictEqual
(
model
.
getSourceTotalCount
(
'hewiki'
),
15
,
'Source total count'
);
assert
.
deepEqual
(
model
.
getSourcePages
(
'local'
),
{
Moai
:
{
count
:
3
,
ns
:
0
,
pages
:
[
'Moai'
,
'Talk:Moai'
],
title
:
'Moai'
,
unprefixed
:
'Moai'
},
'User:Admin'
:
{
count
:
24
,
ns
:
2
,
pages
:
[
'User:Admin'
,
'User talk:Admin'
,
null
],
title
:
'User:Admin'
,
unprefixed
:
'Admin'
},
'User:RandomUser'
:
{
count
:
6
,
ns
:
2
,
pages
:
[
'User:RandomUser'
,
'User talk:RandomUser'
],
title
:
'User:RandomUser'
,
unprefixed
:
'RandomUser'
}
},
'Outputting source pages'
);
assert
.
deepEqual
(
model
.
getGroupedPagesForTitle
(
'local'
,
'User:Admin'
),
[
'User:Admin'
,
'User talk:Admin'
,
null
],
'Grouped pages per title'
);
// Change source
model
.
setCurrentSourcePage
(
'hewiki'
,
'User:Bar'
);
assert
.
strictEqual
(
model
.
getCurrentSource
(),
'hewiki'
,
'Source changed successfully'
);
assert
.
strictEqual
(
model
.
getCurrentPage
(),
'User:Bar'
,
'Page changed successfully'
);
}
);
}
);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Oct 4 2026, 08:35 (5 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
64/91/e1ef56bdccc2219021b0f7c2e6be
Default Alt Text
test_mw.echo.dm.SourcePagesModel.js (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment