Merge branch 'stable-3.0' into stable-3.1
* stable-3.0: Edit button in diff-view must be visible only for open changes Update highlight.js to head of master (10.0.2) Change-Id: I804b8e22f845cc1838dc96492dc671a06ad44f52
This commit is contained in:
@@ -42,7 +42,7 @@ Minify the file using closure-compiler using the command below.
|
||||
$> mv closure-compiler-*.jar closure-compiler.jar
|
||||
|
||||
$> java -jar ./closure-compiler.jar \
|
||||
--js build/highlight.pack.js \
|
||||
--js build/highlight.js \
|
||||
--js_output_file build/highlight.min.js
|
||||
|
||||
Copy the header comment that appears on the first line of
|
||||
|
||||
1036
lib/highlightjs/highlight.min.js
vendored
1036
lib/highlightjs/highlight.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -289,7 +289,7 @@ limitations under the License.
|
||||
on-click="_toggleBlame">[[_computeBlameToggleLabel(_isBlameLoaded, _isBlameLoading)]]</gr-button>
|
||||
<span class="separator"></span>
|
||||
</span>
|
||||
<template is="dom-if" if="[[_computeIsLoggedIn(_loggedIn)]]">
|
||||
<template is="dom-if" if="[[_computeCanEdit(_loggedIn, _change.*)]]">
|
||||
<span class="separator"></span>
|
||||
<span class="editButton">
|
||||
<gr-button
|
||||
|
||||
@@ -1182,5 +1182,10 @@
|
||||
_computeIsLoggedIn(loggedIn) {
|
||||
return loggedIn ? true : false;
|
||||
},
|
||||
|
||||
_computeCanEdit(loggedIn, changeChangeRecord) {
|
||||
return this._computeIsLoggedIn(loggedIn) &&
|
||||
this.changeIsOpen(changeChangeRecord.base.status);
|
||||
},
|
||||
});
|
||||
})();
|
||||
|
||||
@@ -91,16 +91,36 @@ limitations under the License.
|
||||
sandbox = sinon.sandbox.create();
|
||||
|
||||
stub('gr-rest-api-interface', {
|
||||
getConfig() { return Promise.resolve({change: {}}); },
|
||||
getLoggedIn() { return Promise.resolve(false); },
|
||||
getProjectConfig() { return Promise.resolve({}); },
|
||||
getDiffChangeDetail() { return Promise.resolve({}); },
|
||||
getChangeFiles() { return Promise.resolve({}); },
|
||||
saveFileReviewed() { return Promise.resolve(); },
|
||||
getDiffComments() { return Promise.resolve({}); },
|
||||
getDiffRobotComments() { return Promise.resolve({}); },
|
||||
getDiffDrafts() { return Promise.resolve({}); },
|
||||
getReviewedFiles() { return Promise.resolve([]); },
|
||||
getConfig() {
|
||||
return Promise.resolve({change: {}});
|
||||
},
|
||||
getLoggedIn() {
|
||||
return Promise.resolve(false);
|
||||
},
|
||||
getProjectConfig() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
getDiffChangeDetail() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
getChangeFiles() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
saveFileReviewed() {
|
||||
return Promise.resolve();
|
||||
},
|
||||
getDiffComments() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
getDiffRobotComments() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
getDiffDrafts() {
|
||||
return Promise.resolve({});
|
||||
},
|
||||
getReviewedFiles() {
|
||||
return Promise.resolve([]);
|
||||
},
|
||||
});
|
||||
element = fixture('basic');
|
||||
return element._loadComments();
|
||||
@@ -374,6 +394,7 @@ limitations under the License.
|
||||
};
|
||||
element._change = {
|
||||
_number: 42,
|
||||
status: 'NEW',
|
||||
revisions: {
|
||||
a: {_number: 1, commit: {parents: []}},
|
||||
b: {_number: 2, commit: {parents: []}},
|
||||
@@ -390,26 +411,61 @@ limitations under the License.
|
||||
});
|
||||
});
|
||||
|
||||
test('edit hidden when not logged in', done => {
|
||||
element._loggedIn = false;
|
||||
element._path = 't.txt';
|
||||
element._patchRange = {
|
||||
basePatchNum: PARENT,
|
||||
patchNum: '1',
|
||||
};
|
||||
element._change = {
|
||||
_number: 42,
|
||||
revisions: {
|
||||
a: {_number: 1, commit: {parents: []}},
|
||||
b: {_number: 2, commit: {parents: []}},
|
||||
},
|
||||
};
|
||||
flush(() => {
|
||||
const editBtn = Polymer.dom(element.root)
|
||||
.querySelector('.editButton gr-button');
|
||||
assert.isFalse(!!editBtn);
|
||||
done();
|
||||
function isEditVisibile({loggedIn, changeStatus}) {
|
||||
return new Promise(resolve => {
|
||||
element._loggedIn = loggedIn;
|
||||
element._path = 't.txt';
|
||||
element._patchRange = {
|
||||
basePatchNum: PARENT,
|
||||
patchNum: '1',
|
||||
};
|
||||
element._change = {
|
||||
_number: 42,
|
||||
status: changeStatus,
|
||||
revisions: {
|
||||
a: {_number: 1, commit: {parents: []}},
|
||||
b: {_number: 2, commit: {parents: []}},
|
||||
},
|
||||
};
|
||||
flush(() => {
|
||||
const editBtn = Polymer.dom(element.root)
|
||||
.querySelector('.editButton gr-button');
|
||||
resolve(!!editBtn);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
test('edit visible only when logged and status NEW', async () => {
|
||||
for (const changeStatus in element.ChangeStatus) {
|
||||
if (!element.ChangeStatus.hasOwnProperty(changeStatus)) {
|
||||
continue;
|
||||
}
|
||||
assert.isFalse(await isEditVisibile({loggedIn: false, changeStatus}),
|
||||
`loggedIn: false, changeStatus: ${changeStatus}`);
|
||||
|
||||
if (changeStatus !== element.ChangeStatus.NEW) {
|
||||
assert.isFalse(await isEditVisibile({loggedIn: true, changeStatus}),
|
||||
`loggedIn: true, changeStatus: ${changeStatus}`);
|
||||
} else {
|
||||
assert.isTrue(await isEditVisibile({loggedIn: true, changeStatus}),
|
||||
`loggedIn: true, changeStatus: ${changeStatus}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test('edit visible when logged and status NEW', async () => {
|
||||
assert.isTrue(await isEditVisibile(
|
||||
{loggedIn: true, changeStatus: element.ChangeStatus.NEW}));
|
||||
});
|
||||
|
||||
test('edit hidden when logged and status ABANDONED', async () => {
|
||||
assert.isFalse(await isEditVisibile(
|
||||
{loggedIn: true, changeStatus: element.ChangeStatus.ABANDONED}));
|
||||
});
|
||||
|
||||
test('edit hidden when logged and status MERGED', async () => {
|
||||
assert.isFalse(await isEditVisibile(
|
||||
{loggedIn: true, changeStatus: element.ChangeStatus.MERGED}));
|
||||
});
|
||||
|
||||
suite('diff prefs hidden', () => {
|
||||
|
||||
Reference in New Issue
Block a user