@sketch-hq/sketch-assistant-utils
Version:
Utility functions and types for Sketch Assistants.
45 lines (44 loc) • 2.71 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());
});
};
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);
}));
});