@sketch-hq/sketch-assistant-utils
Version:
Utility functions and types for Sketch Assistants.
43 lines (42 loc) • 2.53 kB
JavaScript
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);
}));
});