Commit f3dc5381 by Torkel Ödegaard Committed by GitHub

Merge pull request #15018 from miroswan/14961-constructor-as-rvalue

Bug Fix #14961
parents c9d060c0 186e488a
...@@ -469,6 +469,11 @@ describe('templateSrv', () => { ...@@ -469,6 +469,11 @@ describe('templateSrv', () => {
name: 'empty_on_init', name: 'empty_on_init',
current: { value: '', text: '' }, current: { value: '', text: '' },
}, },
{
type: 'custom',
name: 'foo',
current: { value: 'constructor', text: 'constructor' },
}
]); ]);
_templateSrv.setGrafanaVariable('$__auto_interval_interval', '13m'); _templateSrv.setGrafanaVariable('$__auto_interval_interval', '13m');
_templateSrv.updateTemplateData(); _templateSrv.updateTemplateData();
...@@ -483,6 +488,12 @@ describe('templateSrv', () => { ...@@ -483,6 +488,12 @@ describe('templateSrv', () => {
const target = _templateSrv.replaceWithText('Hello $empty_on_init'); const target = _templateSrv.replaceWithText('Hello $empty_on_init');
expect(target).toBe('Hello '); expect(target).toBe('Hello ');
}); });
it('should not return a string representation of a constructor property', () => {
const target = _templateSrv.replaceWithText('$foo');
expect(target).not.toBe('function Object() { [native code] }');
expect(target).toBe('constructor');
});
}); });
describe('built in interval variables', () => { describe('built in interval variables', () => {
......
...@@ -254,7 +254,9 @@ export class TemplateSrv { ...@@ -254,7 +254,9 @@ export class TemplateSrv {
return match; return match;
} }
return this.grafanaVariables[variable.current.value] || variable.current.text; const value = this.grafanaVariables[variable.current.value];
return typeof(value) === 'string' ? value : variable.current.text;
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment