UNPKG

@sketch-hq/sketch-assistant-utils

Version:

Utility functions and types for Sketch Assistants.

43 lines (42 loc) 2.53 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { fromFile } from '@sketch-hq/sketch-file'; import { resolve } from 'path'; import { process } from '..'; describe('process', () => { test('finds and caches layers, groups and objects', () => __awaiter(void 0, void 0, void 0, function* () { const filepath = resolve(__dirname, './empty.sketch'); const file = yield fromFile(filepath); const { objects } = yield process(file, { cancelled: false }); expect(objects.anyGroup).toHaveLength(1); expect(objects.anyLayer).toHaveLength(1); expect(objects.page).toHaveLength(1); })); test('short-circuits when passed a cancelled op', () => __awaiter(void 0, void 0, void 0, function* () { const filepath = resolve(__dirname, './empty.sketch'); const file = yield fromFile(filepath); const { objects } = yield process(file, { cancelled: true }); expect(objects.anyLayer).toHaveLength(0); })); test('objects can be mapped to pointers', () => __awaiter(void 0, void 0, void 0, function* () { const filepath = resolve(__dirname, './empty.sketch'); const file = yield fromFile(filepath); const { pointers } = yield process(file, { cancelled: false }); expect(pointers.get(file.contents.document)).toBe('/document'); expect(pointers.get(file.contents.document.pages[0])).toBe('/document/pages/0'); })); test('foreign symbols can only be found in the foreign cache', () => __awaiter(void 0, void 0, void 0, function* () { const filepath = resolve(__dirname, './foreign-symbol.sketch'); const file = yield fromFile(filepath); const { objects, foreignObjects } = yield process(file, { cancelled: false }); expect(objects.symbolMaster).toHaveLength(0); expect(foreignObjects.symbolMaster).toHaveLength(2); })); });