2.0.7 • Published 4 years ago

@geeeger/page-visibility v2.0.7

Weekly downloads
8
License
ISC
Repository
github
Last release
4 years ago

page-visibility

检查页面是否可见的工具

Usage

import pv from '@geeeger/page-visibility';

describe('@geeeger/page-visibility module', () => {
  beforeEach(() => {
    pv.init();
  });
  afterEach(() => {
    pv.destory();
  });

  test('should get value', () => {
    expect(pv.getState()).toBeTruthy();
    expect(typeof pv.isHidden() === 'boolean').toBeTruthy();
  });

  test('test event change', () => {
    expect.assertions(1);
    pv.addListener((isHidden: any) => {
      pv.removeListeners();
      expect(isHidden !== undefined).toBe(true);
    });
    const event = document.createEvent('CustomEvent');
    event.initEvent('visibilitychange', true, true);
    document.dispatchEvent(event);
  });

  test('test remove listener', () => {
    expect.assertions(1);
    const ls = function ls(isHidden: any) {
      expect(isHidden !== undefined).toBe(true);
    };
    const ls1 = function ls1(isHidden: any) {
      expect(isHidden !== undefined).toBe(true);
    };
    pv.addListener(ls);
    pv.addListener(ls1);
    pv.removeListener(ls);
    const event = document.createEvent('CustomEvent');
    event.initEvent('visibilitychange', true, true);
    document.dispatchEvent(event);
  });

  test('test once', async () => {
    setTimeout(() => {
      const event = document.createEvent('CustomEvent');
      event.initEvent('visibilitychange', true, true);
      document.dispatchEvent(event);
    }, 500);
    await expect(pv.once()).resolves.toBeTruthy();
  });
});
2.0.7

4 years ago

2.0.4

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.1

5 years ago