diff --git a/resources/skins.minerva.scripts/pageIssues.js b/resources/skins.minerva.scripts/pageIssues.js index d2bbccd..02abc3c 100644 --- a/resources/skins.minerva.scripts/pageIssues.js +++ b/resources/skins.minerva.scripts/pageIssues.js @@ -113,31 +113,6 @@ ); } - /** - * Returns an array containing the section of each page issue. - * In the case that several page issues are grouped in a 'multiple issues' template, - * returns the section of those issues as one item. - * @param {IssueSummaryMap} allIssues mapping section {number} to {IssueSummary} - * @return {number[]} - */ - function getAllIssuesSections( allIssues ) { - return Object.keys( allIssues ).reduce( function ( acc, section ) { - if ( allIssues[ section ].length ) { - allIssues[ section ].forEach( function ( issue, i ) { - var lastIssue = allIssues[ section ][ i - 1 ]; - // If the last issue belongs to a "Multiple issues" template, - // and so does the current one, don't add the current one. - if ( lastIssue && lastIssue.grouped && issue.grouped ) { - acc[ acc.length - 1 ] = section; - } else { - acc.push( section ); - } - } ); - } - return acc; - }, [] ); - } - /** * Scan an element for any known cleanup templates and replace them with a button * that opens them in a mobile friendly overlay. @@ -219,7 +194,6 @@ M.define( 'skins.minerva.scripts/pageIssues', { init: initPageIssues, test: { - getAllIssuesSections: getAllIssuesSections, insertBannersOrNotice: insertBannersOrNotice } } ); diff --git a/tests/qunit/skins.minerva.scripts/pageIssues.test.js b/tests/qunit/skins.minerva.scripts/pageIssues.test.js index ae35996..2d4f767 100644 --- a/tests/qunit/skins.minerva.scripts/pageIssues.test.js +++ b/tests/qunit/skins.minerva.scripts/pageIssues.test.js @@ -1,35 +1,8 @@ ( function ( M ) { var - pageIssues = M.require( 'skins.minerva.scripts/pageIssues' ), mobile = M.require( 'mobile.startup' ), - util = mobile.util, + pageIssues = M.require( 'skins.minerva.scripts/pageIssues' ), insertBannersOrNotice = pageIssues.test.insertBannersOrNotice, - icon = {}, - MEDIUM_ISSUE = { - issue: { - severity: 'MEDIUM', - icon: icon - }, - iconString: 'i', - text: 't' - }, - LOW_ISSUE = { - issue: { - severity: 'LOW', - icon: icon - }, - iconString: 'i', - text: 't' - }, - HIGH_ISSUE = { - issue: { - severity: 'HIGH', - icon: icon - }, - iconString: 'i', - text: 't' - }, - getAllIssuesSections = pageIssues.test.getAllIssuesSections, OverlayManager = mobile.OverlayManager, Page = mobile.Page, overlayManager = new OverlayManager( require( 'mediawiki.router' ) ), @@ -63,61 +36,4 @@ processedAmbox.click(); assert.strictEqual( window.location.hash, '#/issues/' + SECTION ); } ); - - QUnit.test( 'getAllIssuesSections', function ( assert ) { - var multipleIssuesWithDeletion, - multipleIssues, allIssuesOldTreatment, allIssuesNewTreatment; - allIssuesOldTreatment = { - 0: [ - MEDIUM_ISSUE, - LOW_ISSUE, - MEDIUM_ISSUE - ] - }; - multipleIssues = { - 0: [ - util.extend( {}, MEDIUM_ISSUE, { grouped: true } ), - util.extend( {}, LOW_ISSUE, { grouped: true } ), - util.extend( {}, MEDIUM_ISSUE, { grouped: true } ) - ] - }; - multipleIssuesWithDeletion = { - 0: [ - HIGH_ISSUE, - util.extend( {}, MEDIUM_ISSUE, { grouped: true } ), - util.extend( {}, LOW_ISSUE, { grouped: true } ), - util.extend( {}, MEDIUM_ISSUE, { grouped: true } ) - ] - }; - allIssuesNewTreatment = { - 0: [ - HIGH_ISSUE, - LOW_ISSUE, - MEDIUM_ISSUE - ], - 1: [ - MEDIUM_ISSUE - ] - }; - assert.propEqual( - getAllIssuesSections( allIssuesOldTreatment ), - [ '0', '0', '0' ], - 'section numbers correctly extracted from old treatment' - ); - assert.propEqual( - getAllIssuesSections( allIssuesNewTreatment ), - [ '0', '0', '0', '1' ], - 'section numbers correctly extracted from new treatment' - ); - assert.propEqual( - getAllIssuesSections( multipleIssues ), - [ '0' ], - 'multiple issues are packed into one entry since there is one box' - ); - assert.propEqual( - getAllIssuesSections( multipleIssuesWithDeletion ), - [ '0', '0' ], - 'while multiple issues are grouped, non-multiple issues are still reported' - ); - } ); }( mw.mobileFrontend ) );