blob: 66ace12adb75abe72fccfb406b427c3bb03aea9a [file] [log] [blame]
Bram Moolenaarac809992016-01-25 22:44:54 +01001" Test glob2regpat()
2
Christian Brabandteb380b92025-07-07 20:53:55 +02003import './util/vim9.vim' as v9
Bram Moolenaar3cfa5b12021-06-06 14:14:39 +02004
Bram Moolenaarcd96eef2018-07-23 04:49:23 +02005func Test_glob2regpat_invalid()
Bram Moolenaar73e28dc2022-09-17 21:08:33 +01006 call assert_equal('^1\.33$', glob2regpat(1.33))
7 call v9.CheckDefAndScriptFailure(['echo glob2regpat(1.2)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1'])
Bram Moolenaar71dd9742016-08-08 22:42:04 +02008 call assert_fails('call glob2regpat("}")', 'E219:')
9 call assert_fails('call glob2regpat("{")', 'E220:')
Bram Moolenaarac809992016-01-25 22:44:54 +010010endfunc
11
Bram Moolenaarcd96eef2018-07-23 04:49:23 +020012func Test_glob2regpat_valid()
Bram Moolenaarac809992016-01-25 22:44:54 +010013 call assert_equal('^foo\.', glob2regpat('foo.*'))
Bram Moolenaar5d69fdb2019-08-31 19:13:58 +020014 call assert_equal('^foo.$', 'foo?'->glob2regpat())
Bram Moolenaarac809992016-01-25 22:44:54 +010015 call assert_equal('\.vim$', glob2regpat('*.vim'))
Bram Moolenaar71dd9742016-08-08 22:42:04 +020016 call assert_equal('^[abc]$', glob2regpat('[abc]'))
17 call assert_equal('^foo bar$', glob2regpat('foo\ bar'))
18 call assert_equal('^foo,bar$', glob2regpat('foo,bar'))
19 call assert_equal('^\(foo\|bar\)$', glob2regpat('{foo,bar}'))
Bram Moolenaar71dd9742016-08-08 22:42:04 +020020 call assert_equal('.*', glob2regpat('**'))
Bram Moolenaar7547a782016-08-08 23:26:51 +020021
Bram Moolenaar91c52622016-08-10 23:02:45 +020022 if exists('+shellslash')
23 call assert_equal('^foo[\/].$', glob2regpat('foo\?'))
24 call assert_equal('^\(foo[\/]\|bar\|foobar\)$', glob2regpat('{foo\,bar,foobar}'))
25 call assert_equal('^[\/]\(foo\|bar[\/]\)$', glob2regpat('\{foo,bar\}'))
26 call assert_equal('^[\/][\/]\(foo\|bar[\/][\/]\)$', glob2regpat('\\{foo,bar\\}'))
27 else
Bram Moolenaar7547a782016-08-08 23:26:51 +020028 call assert_equal('^foo?$', glob2regpat('foo\?'))
29 call assert_equal('^\(foo,bar\|foobar\)$', glob2regpat('{foo\,bar,foobar}'))
30 call assert_equal('^{foo,bar}$', glob2regpat('\{foo,bar\}'))
31 call assert_equal('^\\\(foo\|bar\\\)$', glob2regpat('\\{foo,bar\\}'))
Bram Moolenaar7547a782016-08-08 23:26:51 +020032 endif
Bram Moolenaarac809992016-01-25 22:44:54 +010033endfunc
Bram Moolenaar6d91bcb2020-08-12 18:50:36 +020034
35" vim: shiftwidth=2 sts=2 expandtab