2010-07-11 09:57:42 -04:00
|
|
|
# Ensure that the OptionParser handles arguments correctly.
|
2010-10-11 09:42:13 -05:00
|
|
|
return unless require?
|
2010-07-24 22:23:37 -07:00
|
|
|
{OptionParser} = require './../lib/optparse'
|
2010-07-11 09:57:42 -04:00
|
|
|
|
2010-07-24 22:23:37 -07:00
|
|
|
opt = new OptionParser [
|
2010-07-11 09:57:42 -04:00
|
|
|
['-r', '--required [DIR]', 'desc required']
|
|
|
|
['-o', '--optional', 'desc optional']
|
2010-08-07 23:33:35 -04:00
|
|
|
['-l', '--list [FILES*]', 'desc list']
|
2010-07-11 09:57:42 -04:00
|
|
|
]
|
|
|
|
|
2010-07-24 22:23:37 -07:00
|
|
|
result = opt.parse ['one', 'two', 'three', '-r', 'dir']
|
2010-07-11 09:57:42 -04:00
|
|
|
|
|
|
|
ok result.arguments.length is 5
|
|
|
|
ok result.arguments[3] is '-r'
|
|
|
|
|
2010-07-24 22:23:37 -07:00
|
|
|
result = opt.parse ['--optional', '-r', 'folder', 'one', 'two']
|
2010-07-11 09:57:42 -04:00
|
|
|
|
|
|
|
ok result.optional is true
|
|
|
|
ok result.required is 'folder'
|
2010-07-11 17:55:22 -04:00
|
|
|
ok result.arguments.join(' ') is 'one two'
|
2010-07-11 09:57:42 -04:00
|
|
|
|
2010-08-07 23:33:35 -04:00
|
|
|
result = opt.parse ['-l', 'one.txt', '-l', 'two.txt', 'three']
|
|
|
|
|
|
|
|
ok result.list instanceof Array
|
|
|
|
ok result.list.join(' ') is 'one.txt two.txt'
|
|
|
|
ok result.arguments.join(' ') is 'three'
|
|
|
|
|