UNPKG

predictype

Version:

PredicType is a library of pre-built and tested predicates for TypeScript, covering various data types and operations.

34 lines (33 loc) 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const objectProperty_js_1 = require("./objectProperty.js"); (0, vitest_1.describe)('objectProperty', () => { (0, vitest_1.it)('should return true for contains_property (inherited or own)', () => { const obj = { foo: 1 }; (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'contains_property', 'foo')).toBe(true); (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'contains_property', 'toString')).toBe(true); // inherited (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'contains_property', 'bar')).toBe(false); }); (0, vitest_1.it)('should return true for lacks_property', () => { const obj = { foo: 1 }; (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'lacks_property', 'bar')).toBe(true); (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'lacks_property', 'foo')).toBe(false); }); (0, vitest_1.it)('should return true for contains_own_property', () => { const obj = { foo: 1 }; (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'contains_own_property', 'foo')).toBe(true); (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'contains_own_property', 'toString')).toBe(false); }); (0, vitest_1.it)('should return true for lacks_own_property', () => { const obj = { foo: 1 }; (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'lacks_own_property', 'bar')).toBe(true); (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'lacks_own_property', 'toString')).toBe(true); (0, vitest_1.expect)((0, objectProperty_js_1.objectProperty)(obj, 'lacks_own_property', 'foo')).toBe(false); }); (0, vitest_1.it)('should throw for unknown operator', () => { const obj = { foo: 1 }; // @ts-expect-error (0, vitest_1.expect)(() => (0, objectProperty_js_1.objectProperty)(obj, 'invalid_operator', 'foo')).toThrow('Unknown ObjectProperty operation: invalid_operator'); }); });