Skip to content
Snippets Groups Projects
Commit 6b092d96 authored by Phil Hughes's avatar Phil Hughes
Browse files

Merge branch 'disable-clicking-disabled-clipboard-button' into 'master'

Fix clicking disabled clipboard button toolip

Closes #32518

See merge request !11493
parents a3eabcc2 1f9a9629
No related branches found
No related tags found
No related merge requests found
Loading
@@ -50,9 +50,9 @@ export default class BlobViewer {
Loading
@@ -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');
}); });
} }
} }
Loading
Loading
Loading
@@ -83,25 +83,48 @@ describe('Blob viewer', () => {
Loading
@@ -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();
Loading
@@ -115,7 +138,7 @@ describe('Blob viewer', () => {
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment