Merge "Fix null view mode for expanding diffs"
This commit is contained in:
@@ -260,18 +260,21 @@
|
||||
}
|
||||
},
|
||||
|
||||
_setDiffViewMode() {
|
||||
if (!this.viewState.diffViewMode) {
|
||||
return this.$.restAPI.getPreferences().then( prefs => {
|
||||
if (!this.viewState.diffMode) {
|
||||
this.set('viewState.diffMode', prefs.default_diff_view);
|
||||
}
|
||||
}).then(() => {
|
||||
if (!this.viewState.diffMode) {
|
||||
this.set('viewState.diffMode', 'SIDE_BY_SIDE');
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* @param {boolean=} opt_reset
|
||||
*/
|
||||
_setDiffViewMode(opt_reset) {
|
||||
if (!opt_reset && this.viewState.diffViewMode) { return; }
|
||||
|
||||
return this.$.restAPI.getPreferences().then( prefs => {
|
||||
if (!this.viewState.diffMode) {
|
||||
this.set('viewState.diffMode', prefs.default_diff_view);
|
||||
}
|
||||
}).then(() => {
|
||||
if (!this.viewState.diffMode) {
|
||||
this.set('viewState.diffMode', 'SIDE_BY_SIDE');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_updateSortedRevisions(revisionsRecord) {
|
||||
@@ -619,7 +622,7 @@
|
||||
this.viewState.changeNum !== this._changeNum) {
|
||||
// Reset the diff mode to null when navigating from one change to
|
||||
// another, so that the user's preference is restored.
|
||||
this.set('viewState.diffMode', null);
|
||||
this._setDiffViewMode(true);
|
||||
this.set('_numFilesShown', DEFAULT_NUM_FILES_SHOWN);
|
||||
}
|
||||
this.set('viewState.changeNum', this._changeNum);
|
||||
|
@@ -440,12 +440,22 @@ limitations under the License.
|
||||
element.params = {changeNum: '2'};
|
||||
element._change.newProp = '2';
|
||||
flushAsynchronousOperations();
|
||||
assert.isNull(element.viewState.diffMode);
|
||||
assert.equal(element.viewState.diffMode, 'UNIFIED');
|
||||
assert.equal(element.viewState.changeNum, '2');
|
||||
assert.equal(element.viewState.numFilesShown, 200);
|
||||
assert.equal(element._numFilesShown, 200);
|
||||
});
|
||||
|
||||
test('_setDiffViewMode is called with reset when new change is loaded',
|
||||
() => {
|
||||
sandbox.stub(element, '_setDiffViewMode');
|
||||
element.viewState = {changeNum: 1};
|
||||
element._changeNum = 2;
|
||||
element._resetFileListViewState();
|
||||
assert.isTrue(
|
||||
element._setDiffViewMode.lastCall.calledWithExactly(true));
|
||||
});
|
||||
|
||||
test('diffMode defaults to side by side without preferences', done => {
|
||||
sandbox.stub(element.$.restAPI, 'getPreferences').returns(
|
||||
Promise.resolve({}));
|
||||
|
Reference in New Issue
Block a user