Fix clicking disabled clipboard button toolip
This commit is contained in:
parent
a3eabcc20c
commit
1f9a9629db
|
@ -50,9 +50,9 @@ export default class BlobViewer {
|
||||||
|
|
||||||
if (this.copySourceBtn) {
|
if (this.copySourceBtn) {
|
||||||
this.copySourceBtn.addEventListener('click', () => {
|
this.copySourceBtn.addEventListener('click', () => {
|
||||||
if (this.copySourceBtn.classList.contains('disabled')) return;
|
if (this.copySourceBtn.classList.contains('disabled')) return this.copySourceBtn.blur();
|
||||||
|
|
||||||
this.switchToViewer('simple');
|
return this.switchToViewer('simple');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,25 +83,48 @@ describe('Blob viewer', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('copy blob button', () => {
|
describe('copy blob button', () => {
|
||||||
|
let copyButton;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
copyButton = document.querySelector('.js-copy-blob-source-btn');
|
||||||
|
});
|
||||||
|
|
||||||
it('disabled on load', () => {
|
it('disabled on load', () => {
|
||||||
expect(
|
expect(
|
||||||
document.querySelector('.js-copy-blob-source-btn').classList.contains('disabled'),
|
copyButton.classList.contains('disabled'),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('has tooltip when disabled', () => {
|
it('has tooltip when disabled', () => {
|
||||||
expect(
|
expect(
|
||||||
document.querySelector('.js-copy-blob-source-btn').getAttribute('data-original-title'),
|
copyButton.getAttribute('data-original-title'),
|
||||||
).toBe('Switch to the source to copy it to the clipboard');
|
).toBe('Switch to the source to copy it to the clipboard');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('is blurred when clicked and disabled', () => {
|
||||||
|
spyOn(copyButton, 'blur');
|
||||||
|
|
||||||
|
copyButton.click();
|
||||||
|
|
||||||
|
expect(copyButton.blur).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('is not blurred when clicked and not disabled', () => {
|
||||||
|
spyOn(copyButton, 'blur');
|
||||||
|
|
||||||
|
copyButton.classList.remove('disabled');
|
||||||
|
copyButton.click();
|
||||||
|
|
||||||
|
expect(copyButton.blur).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
it('enables after switching to simple view', (done) => {
|
it('enables after switching to simple view', (done) => {
|
||||||
document.querySelector('.js-blob-viewer-switch-btn[data-viewer="simple"]').click();
|
document.querySelector('.js-blob-viewer-switch-btn[data-viewer="simple"]').click();
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
expect($.ajax).toHaveBeenCalled();
|
expect($.ajax).toHaveBeenCalled();
|
||||||
expect(
|
expect(
|
||||||
document.querySelector('.js-copy-blob-source-btn').classList.contains('disabled'),
|
copyButton.classList.contains('disabled'),
|
||||||
).toBeFalsy();
|
).toBeFalsy();
|
||||||
|
|
||||||
done();
|
done();
|
||||||
|
@ -115,7 +138,7 @@ describe('Blob viewer', () => {
|
||||||
expect($.ajax).toHaveBeenCalled();
|
expect($.ajax).toHaveBeenCalled();
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
document.querySelector('.js-copy-blob-source-btn').getAttribute('data-original-title'),
|
copyButton.getAttribute('data-original-title'),
|
||||||
).toBe('Copy source to clipboard');
|
).toBe('Copy source to clipboard');
|
||||||
|
|
||||||
done();
|
done();
|
||||||
|
|
Loading…
Reference in New Issue