Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5991920
previewBehavior.test.js
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
previewBehavior.test.js
View Options
import
createPreviewBehavior
from
'../../src/previewBehavior'
;
import
{
createStubUser
}
from
'./stubs'
;
QUnit
.
module
(
'ext.popups.preview.settingsBehavior'
,
{
beforeEach
()
{
function
newFromText
(
title
)
{
return
{
getUrl
()
{
return
`url/
${
title
}
`
;
}
};
}
mw
.
Title
=
{
newFromText
};
},
afterEach
()
{
mw
.
Title
=
null
;
}
}
);
QUnit
.
test
(
'it should set the settingsUrl'
,
function
(
assert
)
{
const
user
=
createStubUser
(
/* isAnon = */
false
),
actions
=
{};
const
behavior
=
createPreviewBehavior
(
user
,
actions
);
assert
.
deepEqual
(
behavior
.
settingsUrl
,
'url/Special:Preferences#mw-prefsection-rendering'
);
}
);
QUnit
.
test
(
'it shouldn\'t set the settingsUrl if the user is logged out'
,
function
(
assert
)
{
const
user
=
createStubUser
(
/* isAnon = */
true
),
actions
=
{},
behavior
=
createPreviewBehavior
(
user
,
actions
);
assert
.
strictEqual
(
behavior
.
settingsUrl
,
undefined
,
'No settings URL is set.'
);
}
);
QUnit
.
test
(
'it shouldn\'t set a showSettings handler if the user is logged in'
,
function
(
assert
)
{
const
user
=
createStubUser
(
/* isAnon = */
false
),
event
=
{
preventDefault
:
this
.
sandbox
.
spy
()
},
actions
=
{
showSettings
:
()
=>
assert
.
true
(
false
,
'No show settings handler is set.'
)
},
behavior
=
createPreviewBehavior
(
user
,
actions
);
behavior
.
showSettings
(
event
);
assert
.
true
(
true
);
}
);
QUnit
.
test
(
'it should set a showSettings handler if the user is logged out'
,
function
(
assert
)
{
const
user
=
createStubUser
(
/* isAnon = */
true
),
event
=
{
preventDefault
:
this
.
sandbox
.
spy
()
},
actions
=
{
showSettings
:
this
.
sandbox
.
spy
()
},
behavior
=
createPreviewBehavior
(
user
,
actions
);
behavior
.
showSettings
(
event
);
assert
.
true
(
event
.
preventDefault
.
called
,
'It should prevent the default action of the event.'
);
assert
.
true
(
actions
.
showSettings
.
called
,
'It should dispatch the SETTINGS_SHOW action.'
);
}
);
QUnit
.
test
(
'it should mix in default actions'
,
function
(
assert
)
{
const
user
=
createStubUser
(
/* isAnon = */
true
),
actions
=
{};
actions
.
previewDwell
=
()
=>
{};
actions
.
abandon
=
()
=>
{};
actions
.
previewShow
=
()
=>
{};
actions
.
linkClick
=
()
=>
{};
const
behavior
=
createPreviewBehavior
(
user
,
actions
);
assert
.
strictEqual
(
behavior
.
previewDwell
,
actions
.
previewDwell
,
'Preview dwelled action is mixed.'
);
assert
.
strictEqual
(
behavior
.
previewAbandon
,
actions
.
abandon
,
'Preview action is mixed.'
);
assert
.
strictEqual
(
behavior
.
previewShow
,
actions
.
previewShow
,
'Preview shown action is mixed.'
);
assert
.
strictEqual
(
behavior
.
click
,
actions
.
linkClick
,
'Link click action is mixed.'
);
}
);
File Metadata
Details
Attached
Mime Type
text/x-java
Expires
Oct 4 2026, 02:05 (4 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
c8/1f/3a3923c0e6b8a944cc8334fa988f
Default Alt Text
previewBehavior.test.js (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment