diff options
| author | Robert Speicher <robert@gitlab.com> | 2017-10-18 11:08:04 +0000 |
|---|---|---|
| committer | Robert Speicher <robert@gitlab.com> | 2017-10-18 11:08:04 +0000 |
| commit | 11dfe0489b1bbe7f0e43eaa72fcdf7140efcbc2f (patch) | |
| tree | 5a73f56006c6b3974675a3be88ef77a7a1fddf3c /spec/javascripts | |
| parent | cddc504740eea1e017c1ce23b84c6b19044020f4 (diff) | |
| parent | ff04e38eb41eb781b4de0346a9230884bb36eff9 (diff) | |
| download | gitlab-ce-11dfe0489b1bbe7f0e43eaa72fcdf7140efcbc2f.tar.gz | |
Merge branch 'sh-security-fix-backports-master' into 'master'
Backport all fixes from GitLab 10.1 into master
See merge request gitlab-org/gitlab-ce!14922
Diffstat (limited to 'spec/javascripts')
| -rw-r--r-- | spec/javascripts/filtered_search/filtered_search_visual_tokens_spec.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/javascripts/filtered_search/filtered_search_visual_tokens_spec.js b/spec/javascripts/filtered_search/filtered_search_visual_tokens_spec.js index 67166802c70..2ecb64d84b5 100644 --- a/spec/javascripts/filtered_search/filtered_search_visual_tokens_spec.js +++ b/spec/javascripts/filtered_search/filtered_search_visual_tokens_spec.js @@ -791,6 +791,29 @@ describe('Filtered Search Visual Tokens', () => { expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); const avatar = tokenValueElement.querySelector('img.avatar'); expect(avatar.src).toBe(dummyUser.avatar_url); + expect(avatar.alt).toBe(''); + }) + .then(done) + .catch(done.fail); + }); + + it('escapes user name when creating token', (done) => { + const dummyUser = { + name: '<script>', + avatar_url: `${gl.TEST_HOST}/mypics/avatar.png`, + }; + const { tokenValueContainer, tokenValueElement } = findElements(authorToken); + const tokenValue = tokenValueElement.innerText; + usersCacheSpy = (username) => { + expect(`@${username}`).toBe(tokenValue); + return Promise.resolve(dummyUser); + }; + + subject.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue) + .then(() => { + expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name); + tokenValueElement.querySelector('.avatar').remove(); + expect(tokenValueElement.innerHTML.trim()).toBe(_.escape(dummyUser.name)); }) .then(done) .catch(done.fail); |
