docs: Make ipcRenderer and ipcMain listener API docs consistent (#44711)

* docs: Make ipcRenderer and ipcMain listener API docs consistent

Co-authored-by: Will Anderson <will@itsananderson.com>

* test: add some unit tests for ipcRenderer/ipcMain listener behavior

Co-authored-by: Will Anderson <will@itsananderson.com>

* fix: Mark on/off methods as primary and addListener/removeListener as aliases

Co-authored-by: Will Anderson <will@itsananderson.com>

* fix: clear all listeners before running ipcMain removeAllListeners tests

Co-authored-by: Will Anderson <will@itsananderson.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Will Anderson <will@itsananderson.com>
This commit is contained in:
trop[bot] 2024-11-19 09:47:45 +01:00 committed by GitHub
parent d5ece2a033
commit 3764c4d0b3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 86 additions and 10 deletions

View file

@ -92,4 +92,27 @@ describe('ipc main module', () => {
expect(v).to.equal('hello');
});
});
describe('ipcMain.removeAllListeners', () => {
beforeEach(() => { ipcMain.removeAllListeners(); });
beforeEach(() => { ipcMain.removeAllListeners(); });
it('removes only the given channel', () => {
ipcMain.on('channel1', () => {});
ipcMain.on('channel2', () => {});
ipcMain.removeAllListeners('channel1');
expect(ipcMain.eventNames()).to.deep.equal(['channel2']);
});
it('removes all channels if no channel is specified', () => {
ipcMain.on('channel1', () => {});
ipcMain.on('channel2', () => {});
ipcMain.removeAllListeners();
expect(ipcMain.eventNames()).to.deep.equal([]);
});
});
});