fingerprintjs

Форк
0
/
device_memory.test.ts 
36 строк · 1.3 Кб
1
import { withMockProperties } from '../../tests/utils'
2
import getDeviceMemory from './device_memory'
3

4
describe('Sources', () => {
5
  describe('deviceMemory', () => {
6
    it('returns number or undefined for the current browser', () => {
7
      const deviceMemory = getDeviceMemory()
8
      expect(['number', 'undefined'].indexOf(typeof deviceMemory)).not.toBe(-1)
9
      if (typeof deviceMemory === 'number') {
10
        expect(deviceMemory).not.toBeNaN()
11
        expect(deviceMemory).toBeGreaterThan(0)
12
      }
13
    })
14

15
    it('handles numeric values', async () => {
16
      // Configuring the mock property as `{ value: 8 }` doesn't work in old browsers.
17
      await withMockProperties(navigator, { deviceMemory: { get: () => 8 } }, () => {
18
        expect(getDeviceMemory()).toBe(8)
19
      })
20
    })
21

22
    it('handles undefined values', async () => {
23
      await withMockProperties(navigator, { deviceMemory: { get: () => undefined } }, () => {
24
        expect(getDeviceMemory()).toBeUndefined()
25
      })
26
    })
27

28
    // Some browsers return a string value for `deviceMemory`.
29
    // This test checks that it's fetched as a number regardless.
30
    it('converts fake string value to number', async () => {
31
      await withMockProperties(navigator, { deviceMemory: { get: () => '4' } }, () => {
32
        expect(getDeviceMemory()).toBe(4)
33
      })
34
    })
35
  })
36
})
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.