mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Tempo: Fix validation of float durations (#41400)
* Fix parsing of float numbers in validation * Adjust test * Update packages/grafana-data/src/datetime/durationutil.test.ts * Update packages/grafana-data/src/datetime/durationutil.test.ts * Remove us from placeholder
This commit is contained in:
@@ -45,9 +45,19 @@ describe('Duration util', () => {
|
||||
expect(isValidGoDuration(durationString)).toEqual(true);
|
||||
});
|
||||
|
||||
it('valid float number duration string returns true', () => {
|
||||
const durationString = '3.1h 4.0m 0.1s 2.11ms 0.03us 5.3333ns';
|
||||
expect(isValidGoDuration(durationString)).toEqual(true);
|
||||
});
|
||||
|
||||
it('invalid duration string returns false', () => {
|
||||
const durationString = '3M 6v 5b 4m';
|
||||
expect(isValidGoDuration(durationString)).toEqual(false);
|
||||
});
|
||||
|
||||
it('invalid float number duration string returns false', () => {
|
||||
const durationString = '3.h -4.0m 0.s 2.ms -0.us 5.ns';
|
||||
expect(isValidGoDuration(durationString)).toEqual(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -124,7 +124,7 @@ export function isValidDuration(durationString: string): boolean {
|
||||
export function isValidGoDuration(durationString: string): boolean {
|
||||
const timeUnits = ['h', 'm', 's', 'ms', 'us', 'µs', 'ns'];
|
||||
for (const value of durationString.trim().split(' ')) {
|
||||
const match = value.match(/(\d+)(.+)/);
|
||||
const match = value.match(/([0-9]*[.]?[0-9]+)(.+)/);
|
||||
if (match === null || match.length !== 3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ interface Props {
|
||||
}
|
||||
|
||||
const PRISM_LANGUAGE = 'tempo';
|
||||
const durationPlaceholder = 'e.g. 1.2s, 100ms, 500us';
|
||||
const durationPlaceholder = 'e.g. 1.2s, 100ms';
|
||||
const plugins = [
|
||||
BracesPlugin(),
|
||||
SlatePrism({
|
||||
|
||||
Reference in New Issue
Block a user