Page MenuHomeWickedGov Phorge

urlGenerator.test.js
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

urlGenerator.test.js

const urlGenerator = require( '../../resources/skins.vector.search/urlGenerator.js' );
describe( 'urlGenerator', () => {
describe( 'default', () => {
test.each( [
[ 'string', 'title', '&fulltext=1' ],
[ 'object', { title: 'title', id: 0, key: '' } ]
] )( 'suggestion as %s', ( _name, suggestion, extraParams = '' ) => {
const config = {
get: jest.fn().mockImplementation( ( key, fallback ) => {
if ( key === 'wgScript' ) {
return '/w/index.php';
}
return fallback;
} ),
set: jest.fn()
};
expect( urlGenerator( config ).generateUrl( suggestion ) )
.toBe( `/w/index.php?title=Special%3ASearch${ extraParams }&search=title` );
} );
test( 'custom params, articlePath', () => {
const config = {
get: jest.fn().mockImplementation( ( _key, fallback ) => fallback ),
set: jest.fn()
};
expect( urlGenerator( config ).generateUrl(
{ title: 'title', id: 0, key: '' },
{ TITLE: 'SPECIAL:SEARCH' },
'/W/INDEX.PHP'
) ).toBe( '/W/INDEX.PHP?TITLE=SPECIAL%3ASEARCH&search=title' );
} );
} );
test( 'custom', () => {
const customGenerator = {};
const config = {
get: jest.fn().mockImplementation( ( key, fallback ) => {
if ( key === 'wgVectorSearchUrlGenerator' ) {
return customGenerator;
}
return fallback;
} ),
set: jest.fn()
};
expect( urlGenerator( config ) ).toBe( customGenerator );
} );
} );

File Metadata

Mime Type
text/plain
Expires
Wed, Aug 19, 04:13 (4 d, 14 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
4d/fb/1f24951232889781ad01f2f89e18
Default Alt Text
urlGenerator.test.js (1 KB)

Event Timeline