clasp-ruby 0.23.0.2 → 0.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,144 +8,144 @@ require 'test/unit'
8
8
 
9
9
  class Test_DefaultValue < Test::Unit::TestCase
10
10
 
11
- def test_long_form_without_default
11
+ def test_long_form_without_default
12
12
 
13
- specifications = [
13
+ specifications = [
14
14
 
15
- CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
16
- ]
15
+ CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
16
+ ]
17
17
 
18
- argv = [ '--verbosity' ]
19
- args = CLASP::Arguments.new(argv, specifications)
18
+ argv = [ '--verbosity' ]
19
+ args = CLASP::Arguments.new(argv, specifications)
20
20
 
21
- assert_equal 0, args.flags.size
22
- assert_equal 1, args.options.size
23
- assert_equal 0, args.values.size
21
+ assert_equal 0, args.flags.size
22
+ assert_equal 1, args.options.size
23
+ assert_equal 0, args.values.size
24
24
 
25
- option0 = args.options[0]
25
+ option0 = args.options[0]
26
26
 
27
- assert_equal '--verbosity', option0.name
28
- assert_nil option0.value
29
- end
27
+ assert_equal '--verbosity', option0.name
28
+ assert_nil option0.value
29
+ end
30
30
 
31
- def test_long_form_with_default_empty_value
31
+ def test_long_form_with_default_empty_value
32
32
 
33
- specifications = [
33
+ specifications = [
34
34
 
35
- CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
36
- ]
35
+ CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
36
+ ]
37
37
 
38
- argv = [ '--verbosity=' ]
39
- args = CLASP::Arguments.new(argv, specifications)
38
+ argv = [ '--verbosity=' ]
39
+ args = CLASP::Arguments.new(argv, specifications)
40
40
 
41
- assert_equal 0, args.flags.size
42
- assert_equal 1, args.options.size
43
- assert_equal 0, args.values.size
41
+ assert_equal 0, args.flags.size
42
+ assert_equal 1, args.options.size
43
+ assert_equal 0, args.values.size
44
44
 
45
- option0 = args.options[0]
45
+ option0 = args.options[0]
46
46
 
47
- assert_equal '--verbosity', option0.name
48
- assert_equal 'normal', option0.value
49
- end
47
+ assert_equal '--verbosity', option0.name
48
+ assert_equal 'normal', option0.value
49
+ end
50
50
 
51
- def test_long_form_with_default_missing_value
51
+ def test_long_form_with_default_missing_value
52
52
 
53
- specifications = [
53
+ specifications = [
54
54
 
55
- CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
56
- ]
55
+ CLASP.Option('--verbosity', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
56
+ ]
57
57
 
58
- argv = [ '--verbosity' ]
59
- args = CLASP::Arguments.new(argv, specifications)
58
+ argv = [ '--verbosity' ]
59
+ args = CLASP::Arguments.new(argv, specifications)
60
60
 
61
- assert_equal 0, args.flags.size
62
- assert_equal 1, args.options.size
63
- assert_equal 0, args.values.size
61
+ assert_equal 0, args.flags.size
62
+ assert_equal 1, args.options.size
63
+ assert_equal 0, args.values.size
64
64
 
65
- option0 = args.options[0]
65
+ option0 = args.options[0]
66
66
 
67
- assert_equal '--verbosity', option0.name
68
- assert_equal 'normal', option0.value
69
- end
67
+ assert_equal '--verbosity', option0.name
68
+ assert_equal 'normal', option0.value
69
+ end
70
70
 
71
- def test_short_form_without_default
71
+ def test_short_form_without_default
72
72
 
73
- specifications = [
73
+ specifications = [
74
74
 
75
- CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
76
- ]
75
+ CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
76
+ ]
77
77
 
78
- argv = [ '-v' ]
79
- args = CLASP::Arguments.new(argv, specifications)
78
+ argv = [ '-v' ]
79
+ args = CLASP::Arguments.new(argv, specifications)
80
80
 
81
- assert_equal 0, args.flags.size
82
- assert_equal 1, args.options.size
83
- assert_equal 0, args.values.size
81
+ assert_equal 0, args.flags.size
82
+ assert_equal 1, args.options.size
83
+ assert_equal 0, args.values.size
84
84
 
85
- option0 = args.options[0]
85
+ option0 = args.options[0]
86
86
 
87
- assert_equal '--verbosity', option0.name
88
- assert_nil option0.value
89
- end
87
+ assert_equal '--verbosity', option0.name
88
+ assert_nil option0.value
89
+ end
90
90
 
91
- def test_short_form_with_default
91
+ def test_short_form_with_default
92
92
 
93
- specifications = [
93
+ specifications = [
94
94
 
95
- CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
96
- ]
95
+ CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
96
+ ]
97
97
 
98
- argv = [ '-v' ]
99
- args = CLASP::Arguments.new(argv, specifications)
98
+ argv = [ '-v' ]
99
+ args = CLASP::Arguments.new(argv, specifications)
100
100
 
101
- assert_equal 0, args.flags.size
102
- assert_equal 1, args.options.size
103
- assert_equal 0, args.values.size
101
+ assert_equal 0, args.flags.size
102
+ assert_equal 1, args.options.size
103
+ assert_equal 0, args.values.size
104
104
 
105
- option0 = args.options[0]
105
+ option0 = args.options[0]
106
106
 
107
- assert_equal '--verbosity', option0.name
108
- assert_equal 'normal', option0.value
109
- end
107
+ assert_equal '--verbosity', option0.name
108
+ assert_equal 'normal', option0.value
109
+ end
110
110
 
111
- def test_short_form_without_default_and_separator
111
+ def test_short_form_without_default_and_separator
112
112
 
113
- specifications = [
113
+ specifications = [
114
114
 
115
- CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
116
- ]
115
+ CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ])
116
+ ]
117
117
 
118
- argv = [ '-v', '--', 'some-value' ]
119
- args = CLASP::Arguments.new(argv, specifications)
118
+ argv = [ '-v', '--', 'some-value' ]
119
+ args = CLASP::Arguments.new(argv, specifications)
120
120
 
121
- assert_equal 0, args.flags.size
122
- assert_equal 1, args.options.size
123
- assert_equal 1, args.values.size
121
+ assert_equal 0, args.flags.size
122
+ assert_equal 1, args.options.size
123
+ assert_equal 1, args.values.size
124
124
 
125
- option0 = args.options[0]
125
+ option0 = args.options[0]
126
126
 
127
- assert_equal '--verbosity', option0.name
128
- assert_nil option0.value
129
- end
127
+ assert_equal '--verbosity', option0.name
128
+ assert_nil option0.value
129
+ end
130
130
 
131
- def test_short_form_with_default_and_separator
131
+ def test_short_form_with_default_and_separator
132
132
 
133
- specifications = [
133
+ specifications = [
134
134
 
135
- CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
136
- ]
135
+ CLASP.Option('--verbosity', alias: '-v', values: [ 'silent', 'terse', 'normal', 'chatty', 'verbose' ], default_value: 'normal')
136
+ ]
137
137
 
138
- argv = [ '-v', '--', 'some-value' ]
139
- args = CLASP::Arguments.new(argv, specifications)
138
+ argv = [ '-v', '--', 'some-value' ]
139
+ args = CLASP::Arguments.new(argv, specifications)
140
140
 
141
- assert_equal 0, args.flags.size
142
- assert_equal 1, args.options.size
143
- assert_equal 1, args.values.size
141
+ assert_equal 0, args.flags.size
142
+ assert_equal 1, args.options.size
143
+ assert_equal 1, args.values.size
144
144
 
145
- option0 = args.options[0]
145
+ option0 = args.options[0]
146
146
 
147
- assert_equal '--verbosity', option0.name
148
- assert_equal 'normal', option0.value
149
- end
147
+ assert_equal '--verbosity', option0.name
148
+ assert_equal 'normal', option0.value
149
+ end
150
150
  end
151
151
 
@@ -8,66 +8,66 @@ require 'test/unit'
8
8
 
9
9
  class Test_defaults < Test::Unit::TestCase
10
10
 
11
- def test_responds_to_Help
11
+ def test_responds_to_Help
12
12
 
13
- assert CLASP::Flag.respond_to? :Help
14
- end
13
+ assert CLASP::Flag.respond_to? :Help
14
+ end
15
15
 
16
- def test_Help_is_idempotent
16
+ def test_Help_is_idempotent
17
17
 
18
- help_1 = CLASP::Flag.Help
19
- help_2 = CLASP::Flag.Help
18
+ help_1 = CLASP::Flag.Help
19
+ help_2 = CLASP::Flag.Help
20
20
 
21
- assert_same help_1, help_2
22
- end
21
+ assert_same help_1, help_2
22
+ end
23
23
 
24
- def test_Help_attributes
24
+ def test_Help_attributes
25
25
 
26
- assert_equal '--help', CLASP::Flag.Help.name
26
+ assert_equal '--help', CLASP::Flag.Help.name
27
27
 
28
- assert_equal [], CLASP::Flag.Help.aliases
28
+ assert_equal [], CLASP::Flag.Help.aliases
29
29
 
30
- assert_equal 'shows this help and terminates', CLASP::Flag.Help.help
31
- end
30
+ assert_equal 'shows this help and terminates', CLASP::Flag.Help.help
31
+ end
32
32
 
33
- def test_Help_extras
33
+ def test_Help_extras
34
34
 
35
- help1 = CLASP::Flag.Help
36
- help2 = CLASP::Flag.Help(v1: 'v', v2: 2)
35
+ help1 = CLASP::Flag.Help
36
+ help2 = CLASP::Flag.Help(v1: 'v', v2: 2)
37
37
 
38
- assert_equal Hash.new, help1.extras
39
- assert_equal Hash[ [ [ :v1, 'v' ], [ :v2, 2 ] ] ], help2.extras
40
- end
38
+ assert_equal Hash.new, help1.extras
39
+ assert_equal Hash[ [ [ :v1, 'v' ], [ :v2, 2 ] ] ], help2.extras
40
+ end
41
41
 
42
- def test_responds_to_Version
42
+ def test_responds_to_Version
43
43
 
44
- assert CLASP::Flag.respond_to? :Version
45
- end
44
+ assert CLASP::Flag.respond_to? :Version
45
+ end
46
46
 
47
- def test_Version_is_idempotent
47
+ def test_Version_is_idempotent
48
48
 
49
- version_1 = CLASP::Flag.Version
50
- version_2 = CLASP::Flag.Version
49
+ version_1 = CLASP::Flag.Version
50
+ version_2 = CLASP::Flag.Version
51
51
 
52
- assert_same version_1, version_2
53
- end
52
+ assert_same version_1, version_2
53
+ end
54
54
 
55
- def test_Version_attributes
55
+ def test_Version_attributes
56
56
 
57
- assert_equal '--version', CLASP::Flag.Version.name
57
+ assert_equal '--version', CLASP::Flag.Version.name
58
58
 
59
- assert_equal [], CLASP::Flag.Version.aliases
59
+ assert_equal [], CLASP::Flag.Version.aliases
60
60
 
61
- assert_equal 'shows version and terminates', CLASP::Flag.Version.help
62
- end
61
+ assert_equal 'shows version and terminates', CLASP::Flag.Version.help
62
+ end
63
63
 
64
- def test_Version_extras
64
+ def test_Version_extras
65
65
 
66
- version1 = CLASP::Flag.Version
67
- version2 = CLASP::Flag.Version(v1: 'v', v2: 2)
66
+ version1 = CLASP::Flag.Version
67
+ version2 = CLASP::Flag.Version(v1: 'v', v2: 2)
68
68
 
69
- assert_equal Hash.new, version1.extras
70
- assert_equal Hash[ [ [ :v1, 'v' ], [ :v2, 2 ] ] ], version2.extras
71
- end
69
+ assert_equal Hash.new, version1.extras
70
+ assert_equal Hash[ [ [ :v1, 'v' ], [ :v2, 2 ] ] ], version2.extras
71
+ end
72
72
  end
73
73
 
@@ -8,140 +8,140 @@ require 'test/unit'
8
8
 
9
9
  class Test_Examples < Test::Unit::TestCase
10
10
 
11
- def test_SimpleCommandLineNoSpecifications
11
+ def test_SimpleCommandLineNoSpecifications
12
12
 
13
- argv = %w{ --show-all=true infile -c outfile }
14
-
15
- args = CLASP::Arguments.new(argv)
16
-
17
- assert_equal 1, args.flags.size
18
- flag = args.flags[0]
19
- assert_equal "-c", flag.name
20
- assert_equal 1, args.options.size
21
- option = args.options[0]
22
- assert_equal "--show-all", option.name
23
- assert_equal "true", option.value
24
- assert_equal 2, args.values.size
25
- assert_equal "infile", args.values[0]
26
- assert_equal "outfile", args.values[1]
27
- end
13
+ argv = %w{ --show-all=true infile -c outfile }
14
+
15
+ args = CLASP::Arguments.new(argv)
16
+
17
+ assert_equal 1, args.flags.size
18
+ flag = args.flags[0]
19
+ assert_equal "-c", flag.name
20
+ assert_equal 1, args.options.size
21
+ option = args.options[0]
22
+ assert_equal "--show-all", option.name
23
+ assert_equal "true", option.value
24
+ assert_equal 2, args.values.size
25
+ assert_equal "infile", args.values[0]
26
+ assert_equal "outfile", args.values[1]
27
+ end
28
28
 
29
- def test_UseOfSpecialDoubleSlashFlagToTreatAllSubsequentArgumentsAsValues
29
+ def test_UseOfSpecialDoubleSlashFlagToTreatAllSubsequentArgumentsAsValues
30
30
 
31
- argv = %w{ --show-all=true -- infile outfile -c }
31
+ argv = %w{ --show-all=true -- infile outfile -c }
32
32
 
33
- args = CLASP::Arguments.new(argv)
33
+ args = CLASP::Arguments.new(argv)
34
34
 
35
- assert_equal 0, args.flags.size
36
- option = args.options[0]
37
- assert_equal "--show-all", option.name
38
- assert_equal "true", option.value
39
- assert_equal 3, args.values.size
40
- assert_equal "infile", args.values[0]
41
- assert_equal "outfile", args.values[1]
42
- assert_equal "-c", args.values[2]
43
- end
44
-
45
- def test_UseOfFlagShortForms
46
-
47
- specifications = [
48
-
49
- CLASP.Flag('--verbose', alias: '-v'),
50
- CLASP.Flag('--trace-output', aliases: [ '-t', '--trace' ]),
51
- ]
52
-
53
- argv = %w{ --trace -v }
54
-
55
- args = CLASP::Arguments.new(argv, specifications)
56
-
57
- assert_equal 2, args.flags.size
58
- flag = args.flags[0]
59
- assert_equal '--trace-output', flag.name
60
- assert_equal '--trace', flag.given_name
61
- flag = args.flags[1]
62
- assert_equal '--verbose', flag.name
63
- assert_equal '-v', flag.given_name
64
- assert_equal 0, args.options.size
65
- assert_equal 0, args.values.size
66
- end
67
-
68
- def test_UseOfFlagSingleShortFormsCombined
69
-
70
- specifications = [
71
-
72
- CLASP.Flag('--expand', alias: '-x'),
73
- CLASP.Flag('--verbose', alias: '-v'),
74
- CLASP.Flag('--trace-output', aliases: [ '-t', '--trace' ]),
75
- ]
76
-
77
- argv = %w{ -tvx }
78
-
79
- args = CLASP::Arguments.new(argv, specifications)
80
-
81
- assert_equal 3, args.flags.size
82
- flag = args.flags[0]
83
- assert_equal '--trace-output', flag.name
84
- assert_equal '-tvx', flag.given_name
85
- flag = args.flags[1]
86
- assert_equal '--verbose', flag.name
87
- assert_equal '-tvx', flag.given_name
88
- flag = args.flags[2]
89
- assert_equal '--expand', flag.name
90
- assert_equal '-tvx', flag.given_name
91
- assert_equal 0, args.options.size
92
- assert_equal 0, args.values.size
93
- end
94
-
95
- def test_UseOfOptionShortForm
96
-
97
- specifications = [
98
-
99
- CLASP.Option('--show-all', alias: '-a'),
100
- ]
101
-
102
- argv = %w{ -c -a true infile outfile }
103
-
104
- args = CLASP::Arguments.new(argv, specifications)
105
-
106
- assert_equal 1, args.flags.size
107
- flag = args.flags[0]
108
- assert_equal "-c", flag.name
109
- assert_equal 1, args.options.size
110
- option = args.options[0]
111
- assert_equal "--show-all", option.name
112
- assert_equal "-a", option.given_name
113
- assert_equal "true", option.value
114
- assert_equal 2, args.values.size
115
- assert_equal "infile", args.values[0]
116
- assert_equal "outfile", args.values[1]
117
- end
118
-
119
- def test_UseOfFlagsAsSpecificationsForOption
120
-
121
- specifications = [
122
-
123
- CLASP.Flag('--dump-contents', alias: '-d'),
124
- CLASP.Option('--log-level', alias: '-l'),
125
- CLASP.Flag('--log-level=warning', alias: '-w'),
126
- ]
127
-
128
- argv = %w{ myfile -dw }
129
-
130
- args = CLASP::Arguments.new(argv, specifications)
131
-
132
- assert_equal 1, args.flags.size
133
- flag = args.flags[0]
134
- assert_equal "--dump-contents", flag.name
135
- assert_equal "-dw", flag.given_name
136
- assert_equal 1, flag.given_index
137
- assert_equal 1, args.options.size
138
- option = args.options[0]
139
- assert_equal "--log-level", option.name
140
- assert_equal "-dw", option.given_name
141
- assert_equal 1, flag.given_index
142
- assert_equal "warning", option.value
143
- assert_equal 1, args.values.size
144
- assert_equal "myfile", args.values[0]
145
- end
35
+ assert_equal 0, args.flags.size
36
+ option = args.options[0]
37
+ assert_equal "--show-all", option.name
38
+ assert_equal "true", option.value
39
+ assert_equal 3, args.values.size
40
+ assert_equal "infile", args.values[0]
41
+ assert_equal "outfile", args.values[1]
42
+ assert_equal "-c", args.values[2]
43
+ end
44
+
45
+ def test_UseOfFlagShortForms
46
+
47
+ specifications = [
48
+
49
+ CLASP.Flag('--verbose', alias: '-v'),
50
+ CLASP.Flag('--trace-output', aliases: [ '-t', '--trace' ]),
51
+ ]
52
+
53
+ argv = %w{ --trace -v }
54
+
55
+ args = CLASP::Arguments.new(argv, specifications)
56
+
57
+ assert_equal 2, args.flags.size
58
+ flag = args.flags[0]
59
+ assert_equal '--trace-output', flag.name
60
+ assert_equal '--trace', flag.given_name
61
+ flag = args.flags[1]
62
+ assert_equal '--verbose', flag.name
63
+ assert_equal '-v', flag.given_name
64
+ assert_equal 0, args.options.size
65
+ assert_equal 0, args.values.size
66
+ end
67
+
68
+ def test_UseOfFlagSingleShortFormsCombined
69
+
70
+ specifications = [
71
+
72
+ CLASP.Flag('--expand', alias: '-x'),
73
+ CLASP.Flag('--verbose', alias: '-v'),
74
+ CLASP.Flag('--trace-output', aliases: [ '-t', '--trace' ]),
75
+ ]
76
+
77
+ argv = %w{ -tvx }
78
+
79
+ args = CLASP::Arguments.new(argv, specifications)
80
+
81
+ assert_equal 3, args.flags.size
82
+ flag = args.flags[0]
83
+ assert_equal '--trace-output', flag.name
84
+ assert_equal '-tvx', flag.given_name
85
+ flag = args.flags[1]
86
+ assert_equal '--verbose', flag.name
87
+ assert_equal '-tvx', flag.given_name
88
+ flag = args.flags[2]
89
+ assert_equal '--expand', flag.name
90
+ assert_equal '-tvx', flag.given_name
91
+ assert_equal 0, args.options.size
92
+ assert_equal 0, args.values.size
93
+ end
94
+
95
+ def test_UseOfOptionShortForm
96
+
97
+ specifications = [
98
+
99
+ CLASP.Option('--show-all', alias: '-a'),
100
+ ]
101
+
102
+ argv = %w{ -c -a true infile outfile }
103
+
104
+ args = CLASP::Arguments.new(argv, specifications)
105
+
106
+ assert_equal 1, args.flags.size
107
+ flag = args.flags[0]
108
+ assert_equal "-c", flag.name
109
+ assert_equal 1, args.options.size
110
+ option = args.options[0]
111
+ assert_equal "--show-all", option.name
112
+ assert_equal "-a", option.given_name
113
+ assert_equal "true", option.value
114
+ assert_equal 2, args.values.size
115
+ assert_equal "infile", args.values[0]
116
+ assert_equal "outfile", args.values[1]
117
+ end
118
+
119
+ def test_UseOfFlagsAsSpecificationsForOption
120
+
121
+ specifications = [
122
+
123
+ CLASP.Flag('--dump-contents', alias: '-d'),
124
+ CLASP.Option('--log-level', alias: '-l'),
125
+ CLASP.Flag('--log-level=warning', alias: '-w'),
126
+ ]
127
+
128
+ argv = %w{ myfile -dw }
129
+
130
+ args = CLASP::Arguments.new(argv, specifications)
131
+
132
+ assert_equal 1, args.flags.size
133
+ flag = args.flags[0]
134
+ assert_equal "--dump-contents", flag.name
135
+ assert_equal "-dw", flag.given_name
136
+ assert_equal 1, flag.given_index
137
+ assert_equal 1, args.options.size
138
+ option = args.options[0]
139
+ assert_equal "--log-level", option.name
140
+ assert_equal "-dw", option.given_name
141
+ assert_equal 1, flag.given_index
142
+ assert_equal "warning", option.value
143
+ assert_equal 1, args.values.size
144
+ assert_equal "myfile", args.values[0]
145
+ end
146
146
  end
147
147