UNPKG

@sketch-hq/sketch-assistant-utils

Version:

Utility functions and types for Sketch Assistants.

45 lines (44 loc) 2.71 kB
"use strict"; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const sketch_file_1 = require("@sketch-hq/sketch-file"); const path_1 = require("path"); const __1 = require(".."); describe('process', () => { test('finds and caches layers, groups and objects', () => __awaiter(void 0, void 0, void 0, function* () { const filepath = path_1.resolve(__dirname, './empty.sketch'); const file = yield sketch_file_1.fromFile(filepath); const { objects } = yield __1.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 = path_1.resolve(__dirname, './empty.sketch'); const file = yield sketch_file_1.fromFile(filepath); const { objects } = yield __1.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 = path_1.resolve(__dirname, './empty.sketch'); const file = yield sketch_file_1.fromFile(filepath); const { pointers } = yield __1.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 = path_1.resolve(__dirname, './foreign-symbol.sketch'); const file = yield sketch_file_1.fromFile(filepath); const { objects, foreignObjects } = yield __1.process(file, { cancelled: false }); expect(objects.symbolMaster).toHaveLength(0); expect(foreignObjects.symbolMaster).toHaveLength(2); })); });