all files / core/decorators/ test-decorator.js

100% Statements 12/12
100% Branches 4/4
100% Functions 3/3
100% Lines 11/11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  82×   166×   166× 32×       32×   1088× 92×       92×        
"use strict";
require("reflect-metadata");
function Test(description) {
    return function (target, propertyKey, descriptor) {
        // check if this has been registered as a test already
        var tests = Reflect.getMetadata("alsatian:tests", target);
        // if there are no tests registered yet then register it
        if (!tests) {
            tests = [{
                    key: propertyKey,
                    description: description
                }];
            Reflect.defineMetadata("alsatian:tests", tests, target);
        }
        else if (tests.filter(function (test) { return test.key === propertyKey; }).length === 0) {
            tests.push({
                key: propertyKey,
                description: description
            });
            Reflect.defineMetadata("alsatian:tests", tests, target);
        }
    };
}
exports.Test = Test;
//# sourceMappingURL=test-decorator.js.map