reflect-metadata.js
1.46 KB
// 4.1.2 Reflect.metadata ( metadataKey, metadataValue )
// https://rbuckton.github.io/reflect-metadata/#reflect.metadata
"use strict";
require("../Reflect");
var chai_1 = require("chai");
describe("Reflect.metadata", function () {
it("ReturnsDecoratorFunction", function () {
var result = Reflect.metadata("key", "value");
chai_1.assert.equal(typeof result, "function");
});
it("DecoratorThrowsWithInvalidTargetWithTargetKey", function () {
var decorator = Reflect.metadata("key", "value");
chai_1.assert.throws(function () { return decorator(undefined, "name"); }, TypeError);
});
it("DecoratorThrowsWithInvalidTargetKey", function () {
var decorator = Reflect.metadata("key", "value");
chai_1.assert.throws(function () { return decorator({}, {}); }, TypeError);
});
it("OnTargetWithoutTargetKey", function () {
var decorator = Reflect.metadata("key", "value");
var target = function () { };
decorator(target);
var result = Reflect.hasOwnMetadata("key", target, undefined);
chai_1.assert.equal(result, true);
});
it("OnTargetWithTargetKey", function () {
var decorator = Reflect.metadata("key", "value");
var target = {};
decorator(target, "name");
var result = Reflect.hasOwnMetadata("key", target, "name");
chai_1.assert.equal(result, true);
});
});
//# sourceMappingURL=reflect-metadata.js.map