Page MenuHomeWickedGov Phorge

ThreadItem.test.js
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ThreadItem.test.js

const
CommentItem = require( 'ext.discussionTools.init' ).CommentItem,
HeadingItem = require( 'ext.discussionTools.init' ).HeadingItem;
QUnit.module( 'mw.dt.ThreadItem', QUnit.newMwEnvironment() );
QUnit.test( '#getAuthorsBelow/#getThreadItemsBelow', ( assert ) => {
const cases = require( '../cases/authors.json' );
function newFromJSON( json ) {
let item;
if ( json.type === 'heading' ) {
item = new HeadingItem();
} else {
item = new CommentItem();
item.author = json.author;
item.displayName = json.displayName;
}
item.id = json.id;
item.replies = json.replies.map( newFromJSON );
return item;
}
cases.forEach( ( caseItem ) => {
const threadItem = newFromJSON( caseItem.thread ),
authors = threadItem.getAuthorsBelow();
assert.deepEqual(
authors,
caseItem.expectedAuthorsBelow,
'getAuthorsBelow'
);
assert.deepEqual(
threadItem.getThreadItemsBelow().map( ( item ) => item.id ),
caseItem.expectedThreadItemIdsBelow
);
} );
} );
// TODO:
// * getHeading (CommentItem+HeadingItem)
// * getLinkableTitle (HeadingItem)
// * newFromJSON (ThreadItem)

File Metadata

Mime Type
text/plain
Expires
Aug 20 2026, 14:50 (11 w, 5 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
33/9a/95ad2b4db4827401819bdcac2057
Default Alt Text
ThreadItem.test.js (1 KB)

Event Timeline