Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1432468
codemirror.wikieditor.test.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
codemirror.wikieditor.test.js
View Options
mw
.
loader
=
{
getState
:
jest
.
fn
()
};
const
CodeMirrorWikiEditor
=
require
(
'../../resources/codemirror.wikieditor.js'
),
$textarea
=
$
(
'<textarea>'
)
.
text
(
'The Smashing Pumpkins'
),
cmWe
=
new
CodeMirrorWikiEditor
(
$textarea
);
beforeEach
(
()
=>
{
// Simulate the button that enables/disables CodeMirror as WikiEditor doesn't exist here.
const
btn
=
document
.
createElement
(
'span'
);
btn
.
id
=
'mw-editbutton-codemirror'
;
btn
.
classList
.
add
(
'tool'
);
btn
.
setAttribute
(
'rel'
,
'CodeMirror'
);
document
.
body
.
appendChild
(
btn
);
// Add WikiEditor context to the textarea.
cmWe
.
$textarea
.
data
=
jest
.
fn
().
mockReturnValue
(
{
modules
:
{
toolbar
:
{
$toolbar
:
$
(
btn
)
}
}
}
);
// Initialize CodeMirror.
cmWe
.
initialize
();
}
);
describe
(
'addCodeMirrorToWikiEditor'
,
()
=>
{
cmWe
.
$textarea
.
wikiEditor
=
jest
.
fn
();
it
(
'should add the button to the toolbar'
,
()
=>
{
cmWe
.
addCodeMirrorToWikiEditor
();
expect
(
cmWe
.
$textarea
.
wikiEditor
).
toHaveBeenCalledWith
(
'addToToolbar'
,
expect
.
objectContaining
(
{
groups
:
{
codemirror
:
expect
.
any
(
Object
)
}
}
)
);
}
);
it
(
'should be readonly when the textarea is also readonly'
,
()
=>
{
const
textarea
=
document
.
createElement
(
'textarea'
);
textarea
.
readOnly
=
true
;
const
cmWe2
=
new
CodeMirrorWikiEditor
(
textarea
);
cmWe2
.
initialize
();
cmWe2
.
addCodeMirrorToWikiEditor
();
expect
(
cmWe2
.
readOnly
).
toEqual
(
true
);
expect
(
cmWe2
.
state
.
readOnly
).
toEqual
(
true
);
}
);
}
);
describe
(
'updateToolbarButton'
,
()
=>
{
it
(
'should update the toolbar button based on the current CodeMirror state'
,
()
=>
{
const
btn
=
document
.
getElementById
(
'mw-editbutton-codemirror'
);
cmWe
.
setCodeMirrorPreference
(
false
);
cmWe
.
updateToolbarButton
();
expect
(
btn
.
classList
.
contains
(
'mw-editbutton-codemirror-active'
)
).
toBeFalsy
();
cmWe
.
setCodeMirrorPreference
(
true
);
cmWe
.
updateToolbarButton
();
expect
(
btn
.
classList
.
contains
(
'mw-editbutton-codemirror-active'
)
).
toBeTruthy
();
}
);
}
);
File Metadata
Details
Attached
Mime Type
text/x-asm
Expires
Sat, May 16, 21:47 (1 d, 6 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
8a/45/5283ead666fe6d86f07372aeeb15
Default Alt Text
codemirror.wikieditor.test.js (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment