import {CompilationTargetId} from "../types/CompilationTargetId"; import {isTargetIdCompatible} from "./isTargetIdCompatible"; describe("isTargetIdCompatible()", () => { describe("when targets are identical", () => { it("should return true", () => { expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.browser, CompilationTargetId.browser)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.es6, CompilationTargetId.es6)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.node, CompilationTargetId.node)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.other)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.python3, CompilationTargetId.python3)).toBe(true); }); }); describe("when targets are compatible", () => { it("should return true", () => { expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.other)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.browser, CompilationTargetId.es6)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.browser, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.browser, CompilationTargetId.other)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.es6, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.es6, CompilationTargetId.other)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.node, CompilationTargetId.es6)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.node, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.node, CompilationTargetId.other)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.python3, CompilationTargetId.all)).toBe(true); expect(isTargetIdCompatible(CompilationTargetId.python3, CompilationTargetId.other)).toBe(true); }); }); describe("when targets are compatible", () => { it("should return true", () => { expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.browser)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.es6)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.node)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.all, CompilationTargetId.python3)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.browser, CompilationTargetId.node)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.es6, CompilationTargetId.browser)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.es6, CompilationTargetId.node)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.node, CompilationTargetId.browser)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.browser)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.es6)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.node)).toBe(false); expect(isTargetIdCompatible(CompilationTargetId.other, CompilationTargetId.python3)).toBe(false); }); }); });