4
4
5
5
import { test } from "../testing/mod.ts" ;
6
6
import { assertEquals } from "../testing/asserts.ts" ;
7
- import { globrex , GlobrexResult } from "./globrex.ts" ;
8
- import { GlobOptions } from "./glob.ts" ;
7
+ import { globrex } from "./globrex.ts" ;
9
8
10
9
const isWin = Deno . build . os === "win" ;
11
10
const t = { equal : assertEquals , is : assertEquals } ;
@@ -24,31 +23,6 @@ function match(
24
23
return res . regex . test ( isWin && strWin ? strWin : strUnix ) ;
25
24
}
26
25
27
- function matchRegex (
28
- pattern : string ,
29
- ifUnix : string ,
30
- ifWin : string ,
31
- opts : GlobOptions
32
- ) : GlobrexResult {
33
- const res = globrex ( pattern , opts ) ;
34
- const { regex } = opts . filepath ? res . path ! : res ;
35
- t . is ( regex . toString ( ) , isWin ? ifWin : ifUnix , "~> regex matches expectant" ) ;
36
- return res ;
37
- }
38
-
39
- function matchSegments (
40
- pattern : string ,
41
- ifUnix : RegExp [ ] ,
42
- ifWin : RegExp [ ] ,
43
- opts : GlobOptions
44
- ) : GlobrexResult {
45
- const res = globrex ( pattern , { filepath : true , ...opts } ) ;
46
- const str = res . path ! . segments . join ( " " ) ;
47
- const exp = ( isWin ? ifWin : ifUnix ) . join ( " " ) ;
48
- t . is ( str , exp ) ;
49
- return res ;
50
- }
51
-
52
26
test ( {
53
27
name : "globrex: standard" ,
54
28
fn ( ) : void {
@@ -808,103 +782,6 @@ test({
808
782
}
809
783
} ) ;
810
784
811
- test ( {
812
- name : "globrex: filepath path-regex" ,
813
- fn ( ) : void {
814
- let opts = { extended : true , filepath : true , globstar : false } ,
815
- res ,
816
- pattern ;
817
-
818
- res = globrex ( "" , opts ) ;
819
- t . is ( res . hasOwnProperty ( "path" ) , true ) ;
820
- t . is ( res . path ! . hasOwnProperty ( "regex" ) , true ) ;
821
- t . is ( res . path ! . hasOwnProperty ( "segments" ) , true ) ;
822
- t . is ( Array . isArray ( res . path ! . segments ) , true ) ;
823
-
824
- pattern = "foo/bar/baz.js" ;
825
- res = matchRegex (
826
- pattern ,
827
- "/^foo\\/bar\\/baz\\.js$/" ,
828
- "/^foo\\\\+bar\\\\+baz\\.js$/" ,
829
- opts
830
- ) ;
831
- t . is ( res . path ! . segments . length , 3 ) ;
832
-
833
- res = matchRegex (
834
- "../foo/bar.js" ,
835
- "/^\\.\\.\\/foo\\/bar\\.js$/" ,
836
- "/^\\.\\.\\\\+foo\\\\+bar\\.js$/" ,
837
- opts
838
- ) ;
839
- t . is ( res . path ! . segments . length , 3 ) ;
840
-
841
- res = matchRegex (
842
- "*/bar.js" ,
843
- "/^.*\\/bar\\.js$/" ,
844
- "/^.*\\\\+bar\\.js$/" ,
845
- opts
846
- ) ;
847
- t . is ( res . path ! . segments . length , 2 ) ;
848
-
849
- opts . globstar = true ;
850
- res = matchRegex (
851
- "**/bar.js" ,
852
- "/^((?:[^\\/]*(?:\\/|$))*)bar\\.js$/" ,
853
- "/^((?:[^\\\\]*(?:\\\\|$))*)bar\\.js$/" ,
854
- opts
855
- ) ;
856
- t . is ( res . path ! . segments . length , 2 ) ;
857
- }
858
- } ) ;
859
-
860
- test ( {
861
- name : "globrex: filepath path segments" ,
862
- fn ( ) : void {
863
- let opts = { extended : true } ,
864
- win ,
865
- unix ;
866
-
867
- unix = [ / ^ f o o $ / , / ^ b a r $ / , / ^ ( [ ^ \/ ] * ) $ / , / ^ b a z \. ( m d | j s | t x t ) $ / ] ;
868
- win = [ / ^ f o o $ / , / ^ b a r $ / , / ^ ( [ ^ \\ ] * ) $ / , / ^ b a z \. ( m d | j s | t x t ) $ / ] ;
869
- matchSegments ( "foo/bar/*/baz.{md,js,txt}" , unix , win , {
870
- ...opts ,
871
- globstar : true
872
- } ) ;
873
-
874
- unix = [ / ^ f o o $ / , / ^ .* $ / , / ^ b a z \. m d $ / ] ;
875
- win = [ / ^ f o o $ / , / ^ .* $ / , / ^ b a z \. m d $ / ] ;
876
- matchSegments ( "foo/*/baz.md" , unix , win , opts ) ;
877
-
878
- unix = [ / ^ f o o $ / , / ^ .* $ / , / ^ b a z \. m d $ / ] ;
879
- win = [ / ^ f o o $ / , / ^ .* $ / , / ^ b a z \. m d $ / ] ;
880
- matchSegments ( "foo/**/baz.md" , unix , win , opts ) ;
881
-
882
- unix = [ / ^ f o o $ / , / ^ ( (?: [ ^ \/ ] * (?: \/ | $ ) ) * ) $ / , / ^ b a z \. m d $ / ] ;
883
- win = [ / ^ f o o $ / , / ^ ( (?: [ ^ \\ ] * (?: \\ | $ ) ) * ) $ / , / ^ b a z \. m d $ / ] ;
884
- matchSegments ( "foo/**/baz.md" , unix , win , { ...opts , globstar : true } ) ;
885
-
886
- unix = [ / ^ f o o $ / , / ^ .* $ / , / ^ .* \. m d $ / ] ;
887
- win = [ / ^ f o o $ / , / ^ .* $ / , / ^ .* \. m d $ / ] ;
888
- matchSegments ( "foo/**/*.md" , unix , win , opts ) ;
889
-
890
- unix = [ / ^ f o o $ / , / ^ ( (?: [ ^ \/ ] * (?: \/ | $ ) ) * ) $ / , / ^ ( [ ^ \/ ] * ) \. m d $ / ] ;
891
- win = [ / ^ f o o $ / , / ^ ( (?: [ ^ \\ ] * (?: \\ | $ ) ) * ) $ / , / ^ ( [ ^ \\ ] * ) \. m d $ / ] ;
892
- matchSegments ( "foo/**/*.md" , unix , win , { ...opts , globstar : true } ) ;
893
-
894
- unix = [ / ^ f o o $ / , / ^ : $ / , / ^ b : a z $ / ] ;
895
- win = [ / ^ f o o $ / , / ^ : $ / , / ^ b : a z $ / ] ;
896
- matchSegments ( "foo/:/b:az" , unix , win , opts ) ;
897
-
898
- unix = [ / ^ f o o $ / , / ^ b a z \. m d $ / ] ;
899
- win = [ / ^ f o o $ / , / ^ b a z \. m d $ / ] ;
900
- matchSegments ( "foo///baz.md" , unix , win , { ...opts , strict : true } ) ;
901
-
902
- unix = [ / ^ f o o $ / , / ^ b a z \. m d $ / ] ;
903
- win = [ / ^ f o o $ / , / ^ b a z \. m d $ / ] ;
904
- matchSegments ( "foo///baz.md" , unix , win , { ...opts , strict : false } ) ;
905
- }
906
- } ) ;
907
-
908
785
test ( {
909
786
name : "globrex: stress testing" ,
910
787
fn ( ) : void {
0 commit comments