UNPKG

11.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"environment_test.js","sourceRoot":"","sources":["../src/environment_test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nimport * as environment from './environment';\nimport {Environment} from './environment';\n\ndescribe('initializes flags from the url', () => {\n // Silence console.warns for these tests.\n beforeAll(() => spyOn(console, 'warn').and.returnValue(null));\n\n it('no overrides one registered flag', () => {\n const global = {location: {search: ''}};\n const env = new Environment(global);\n spyOn(env, 'getQueryParams').and.returnValue({});\n\n env.registerFlag('FLAG1', () => false);\n expect(env.get('FLAG1')).toBe(false);\n });\n\n it('one unregistered flag', () => {\n const global = {location: {search: ''}};\n const env = new Environment(global);\n spyOn(env, 'getQueryParams').and.returnValue({\n 'tfjsflags': 'FLAG1:true'\n });\n expect(env.features).toEqual({});\n });\n\n it('one registered flag true', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:true'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => false);\n\n expect(env.get('FLAG1')).toBe(true);\n });\n\n it('one registered flag false', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:false'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => true);\n\n expect(env.get('FLAG1')).toBe(false);\n });\n\n it('two registered flags', () => {\n const global = {location: {search: '?tfjsflags=FLAG1:true,FLAG2:200'}};\n const env = new Environment(global);\n env.registerFlag('FLAG1', () => false);\n env.registerFlag('FLAG2', () => 100);\n\n expect(env.get('FLAG1')).toBe(true);\n expect(env.get('FLAG2')).toBe(200);\n });\n});\n\ndescribe('flag registration and evaluation', () => {\n it('one flag registered', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true};\n const spy = spyOn(evalObject, 'eval').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n\n // Multiple calls to get do not call the evaluation function again.\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n });\n\n it('multiple flags registered', () => {\n const env = new Environment({});\n\n const evalObject = {eval1: () => true, eval2: () => 100};\n const spy1 = spyOn(evalObject, 'eval1').and.callThrough();\n const spy2 = spyOn(evalObject, 'eval2').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval1());\n env.registerFlag('FLAG2', () => evalObject.eval2());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(0);\n expect(env.get('FLAG2')).toBe(100);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(1);\n\n // Multiple calls to get do not call the evaluation function again.\n expect(env.get('FLAG1')).toBe(true);\n expect(env.get('FLAG2')).toBe(100);\n expect(spy1.calls.count()).toBe(1);\n expect(spy2.calls.count()).toBe(1);\n });\n\n it('setting overrides value', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true};\n const spy = spyOn(evalObject, 'eval').and.callThrough();\n\n env.registerFlag('FLAG1', () => evalObject.eval());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(spy.calls.count()).toBe(1);\n\n env.set('FLAG1', false);\n\n expect(env.get('FLAG1')).toBe(false);\n expect(spy.calls.count()).toBe(1);\n });\n\n it('set hook is called', () => {\n const env = new Environment({});\n\n const evalObject = {eval: () => true, setHook: () => true};\n const evalSpy = spyOn(evalObject, 'eval').and.callThrough();\n const setHookSpy = spyOn(evalObject, 'setHook').and.callThrough();\n\n env.registerFlag(\n 'FLAG1', () => evalObject.eval(), () => evalObject.setHook());\n\n expect(env.get('FLAG1')).toBe(true);\n expect(evalSpy.calls.count()).toBe(1);\n expect(setHookSpy.calls.count()).toBe(0);\n\n env.set('FLAG1', false);\n\n expect(env.get('FLAG1')).toBe(false);\n expect(evalSpy.calls.count()).toBe(1);\n expect(setHookSpy.calls.count()).toBe(1);\n });\n});\n\ndescribe('environment.getQueryParams', () => {\n it('basic', () => {\n expect(environment.getQueryParams('?a=1&b=hi&f=animal'))\n .toEqual({'a': '1', 'b': 'hi', 'f': 'animal'});\n });\n});\n"]}
\No newline at end of file