UNPKG

838 BPlain TextView Raw
1import DeviceSensor from '../DeviceSensor';
2import MockNativeSensorModule from './mocks/MockNativeSensorModule';
3
4it(`counts the number of listeners`, () => {
5 const nativeModule = new MockNativeSensorModule();
6 const sensor = new DeviceSensor(nativeModule, 'mockDidUpdate');
7
8 // Add listeners
9 const subscription1 = sensor.addListener(() => {});
10 expect(sensor.hasListeners()).toBe(true);
11 expect(sensor.getListenerCount()).toBe(1);
12
13 const subscription2 = sensor.addListener(() => {});
14 sensor.addListener(() => {});
15 expect(sensor.getListenerCount()).toBe(3);
16
17 // Remove listeners
18 subscription2.remove();
19 expect(sensor.getListenerCount()).toBe(2);
20
21 sensor.removeSubscription(subscription1);
22 expect(sensor.getListenerCount()).toBe(1);
23
24 sensor.removeAllListeners();
25 expect(sensor.getListenerCount()).toBe(0);
26});