UNPKG

maplibre-gl

Version:

BSD licensed community fork of mapbox-gl, a WebGL interactive maps library

44 lines (35 loc) 1.59 kB
import fs from 'fs'; import path from 'path'; import {RequestManager} from '../util/request_manager'; import loadGlyphRange from './load_glyph_range'; import {fakeXhr} from 'nise'; test('loadGlyphRange', done => { global.fetch = null; const transform = jest.fn().mockImplementation((url) => { return {url}; }); const manager = new RequestManager(transform); let request; fakeXhr.useFakeXMLHttpRequest().onCreate = (req) => { request = req; }; loadGlyphRange('Arial Unicode MS', 0, 'https://localhost/fonts/v1/{fontstack}/{range}.pbf', manager, (err, result) => { expect(err).toBeFalsy(); expect(transform).toHaveBeenCalledTimes(1); expect(transform).toHaveBeenCalledWith('https://localhost/fonts/v1/Arial Unicode MS/0-255.pbf', 'Glyphs'); expect(Object.keys(result)).toHaveLength(223); for (const key in result) { const id = Number(key); const glyph = result[id]; expect(glyph.id).toBe(Number(id)); expect(glyph.metrics).toBeTruthy(); expect(typeof glyph.metrics.width).toBe('number'); expect(typeof glyph.metrics.height).toBe('number'); expect(typeof glyph.metrics.top).toBe('number'); expect(typeof glyph.metrics.advance).toBe('number'); } done(); }); expect(request.url).toBe('https://localhost/fonts/v1/Arial Unicode MS/0-255.pbf'); request.setStatus(200); request.response = fs.readFileSync(path.join(__dirname, '../../test/unit/assets/0-255.pbf')); request.onload(); });