diff options
| author | Caleb Mabry <36182383+caleb-mabry@users.noreply.github.com> | 2022-03-23 15:31:04 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-23 15:31:04 -0400 |
| commit | 46d63b5ba4eeb30ac1f5add49b03b1aed8ae0328 (patch) | |
| tree | 228ef1f017ce0320f3d210a557d2803a03ec73e1 /webAO/client | |
| parent | 0b6b4b085cee48248fe2025a2514252ee20ee774 (diff) | |
| parent | 2e734ec14fc760f80e2a9dc81cdf9269220bb791 (diff) | |
Merge branch 'master' into moving-audio-channels
Diffstat (limited to 'webAO/client')
| -rw-r--r-- | webAO/client/__tests__/setEmote.test.js | 115 | ||||
| -rw-r--r-- | webAO/client/aoHost.js | 5 |
2 files changed, 120 insertions, 0 deletions
diff --git a/webAO/client/__tests__/setEmote.test.js b/webAO/client/__tests__/setEmote.test.js new file mode 100644 index 0000000..d81c2cc --- /dev/null +++ b/webAO/client/__tests__/setEmote.test.js @@ -0,0 +1,115 @@ +import setEmote from '../setEmote'; +import Client from '../../client'; +import fileExistsSync from '../../utils/fileExistsSync'; +import transparentPng from '../../constants/transparentPng'; + +jest.mock('../../client'); +jest.mock('../../utils/fileExistsSync'); + +describe('setEmote', () => { + const AO_HOST = ''; + Client.mockReturnValue({ + lastChar: 'long', + chatmsg: { + name: 'byte', + }, + }); + const client = new Client('127.0.0.1'); + const firstExtension = '.gif'; + + test('Should have a client_def_char_img with a valid source', () => { + fileExistsSync.mockReturnValue(true); + document.body.innerHTML = ` + <img id="client_def_char_img" /> + `; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 0, 'def'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + expect(document.getElementById('client_def_char_img').src).toEqual(expected); + }); + test('Should have a client_pro_char_img to have a valid src', () => { + document.body.innerHTML = ` + <img id="client_pro_char_img" /> + + `; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 0, 'pro'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + expect(document.getElementById('client_pro_char_img').src).toEqual(expected); + }); + test('Should have a client_wit_char_img', () => { + document.body.innerHTML = ` + <img id="client_wit_char_img" /> + `; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 0, 'wit'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_wit_char_img').src).toEqual(expected); + }); + test('Should have a client_def_pair_img', () => { + document.body.innerHTML = ` +<img id="client_def_pair_img" /> + +`; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 1, 'def'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_def_pair_img').src).toEqual(expected); + }); + test('Should have a client_pro_pair_img', () => { + document.body.innerHTML = ` +<img id="client_pro_pair_img" /> + +`; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 1, 'pro'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_pro_pair_img').src).toEqual(expected); + }); + test('Should have a client_wit_pair_img', () => { + document.body.innerHTML = ` +<img id="client_wit_pair_img" /> + +`; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 1, 'wit'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_wit_pair_img').src).toEqual(expected); + }); + test('Should have a client_char_img', () => { + document.body.innerHTML = ` + <img id="client_char_img" /> + + `; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 0, 'notvalid'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_char_img').src).toEqual(expected); + }); + test('Should have a client_pair_img', () => { + document.body.innerHTML = ` + <img id="client_pair_img" /> + `; + setEmote(AO_HOST, client, 'salanto', 'coding', '(a)', 1, 'notvalid'); + const expected = `http://localhost/characters/salanto/(a)coding${firstExtension}`; + + expect(document.getElementById('client_pair_img').src).toEqual(expected); + }); + test('Should handle .png urls differently', () => { + fileExistsSync.mockReturnValueOnce(false); + document.body.innerHTML = ` + <img id="client_pair_img" /> + `; + setEmote(AO_HOST, client, 'salanto', 'coding', 'prefixNotValid', 1, 'notvalid'); + const expected = 'http://localhost/characters/salanto/coding.png'; + + expect(document.getElementById('client_pair_img').src).toEqual(expected); + }); + test('Should replace character if new character responds', () => { + fileExistsSync.mockReturnValue(false); + document.body.innerHTML = ` + <img id="client_pair_img" /> + `; + setEmote(AO_HOST, client, 'salanto', 'coding', 'prefixNotValid', 1, 'notvalid'); + const expected = transparentPng; + expect(document.getElementById('client_pair_img').src).toEqual(expected); + }); +}); diff --git a/webAO/client/aoHost.js b/webAO/client/aoHost.js new file mode 100644 index 0000000..b387608 --- /dev/null +++ b/webAO/client/aoHost.js @@ -0,0 +1,5 @@ +import queryParser from '../utils/queryParser' +let { asset } = queryParser(); +const DEFAULT_HOST = 'http://attorneyoffline.de/base/'; +const AO_HOST = asset || DEFAULT_HOST +export default AO_HOST |
