"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @license * Copyright 2018 Google Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */ var jasmine_util_1 = require("../jasmine_util"); var operation_1 = require("./operation"); jasmine_util_1.describeWithFlags('operation', jasmine_util_1.ALL_ENVS, function () { it('executes and preserves function name', function () { var f = function () { return 2; }; var opfn = operation_1.op({ 'opName': f }); expect(opfn.name).toBe('opName'); expect(opfn()).toBe(2); }); it('executes, preserves function name, strips underscore', function () { var f = function () { return 2; }; var opfn = operation_1.op({ 'opName_': f }); expect(opfn.name).toBe('opName'); expect(opfn()).toBe(2); }); it('throws when passing an object with multiple keys', function () { var f = function () { return 2; }; expect(function () { return operation_1.op({ 'opName_': f, 'opName2_': f }); }) .toThrowError(/Please provide an object with a single key/); }); }); //# sourceMappingURL=operation_test.js.map