* 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
(cherry picked from commit 7bc27a3cfc)
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
This commit is contained in:
co-authored by
Ivana Huckova
parent
5f5e962b2d
commit
c4a5a217cf
@@ -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