UNPKG

2.4 kBJavaScriptView Raw
1
2import { regex } from './fswquery-regex';
3
4it('should return regex for general query string', () => {
5 expect(regex('Q')).toEqual(['(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*']);
6})
7
8it('should return regex for complex query strings', () => {
9 expect(regex('QAS10000R100t204S20500T')).toEqual(["(AS10000S((1[0-9a-f][0-9a-f])|(20[0-4]))[0-5][0-9a-f]S20500(S[123][0-9a-f]{2}[0-5][0-9a-f])*)[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*"]);
10 expect(regex('QAS10000R100t204S20500TS20000500x500')).toEqual(["(AS10000S((1[0-9a-f][0-9a-f])|(20[0-4]))[0-5][0-9a-f]S20500(S[123][0-9a-f]{2}[0-5][0-9a-f])*)[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*S20000((4[89][0-9])|(5[01][0-9])|(520))x((4[89][0-9])|(5[01][0-9])|(520))(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*"]);
11})
12
13it('should return regex for query string with styling', () => {
14 expect(regex('QS20000R100t105500x500-')).toEqual(["(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*S20000[0-9]{3}x[0-9]{3}(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*(-(C)?(P[0-9]{2})?(G_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)_)?(D_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)(?:,(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+))?_)?(Z(?:[0-9]+(?:\\.[0-9]+)?|x))?(?:-((?:D[0-9]{2}_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)(?:,(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+))?_)*)((?:Z[0-9]{2},[0-9]+(?:\\.[0-9]+)?(?:,[0-9]{3}x[0-9]{3})?)*))?(?:-(-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}(?: -?[_a-zA-Z][_a-zA-Z0-9-]{0,100})*)?!(?:([a-zA-Z][_a-zA-Z0-9-]{0,100})!)?)?)?", "(A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)?[BLMR]([0-9]{3}x[0-9]{3})(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*S10[0-5][0-5][0-9a-f]((4[89][0-9])|(5[01][0-9])|(520))x((4[89][0-9])|(5[01][0-9])|(520))(S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*(-(C)?(P[0-9]{2})?(G_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)_)?(D_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)(?:,(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+))?_)?(Z(?:[0-9]+(?:\\.[0-9]+)?|x))?(?:-((?:D[0-9]{2}_(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+)(?:,(?:(?:[0-9a-fA-F]{3}){1,2}|[a-zA-Z]+))?_)*)((?:Z[0-9]{2},[0-9]+(?:\\.[0-9]+)?(?:,[0-9]{3}x[0-9]{3})?)*))?(?:-(-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}(?: -?[_a-zA-Z][_a-zA-Z0-9-]{0,100})*)?!(?:([a-zA-Z][_a-zA-Z0-9-]{0,100})!)?)?)?"]);
15})