CmdLineParserTest.st
author Claus Gittinger <cg@exept.de>
Sun, 30 Oct 2011 11:05:02 +0100
changeset 13805 dec466a100bc
parent 13481 7cd9d08941d5
child 13939 eda69dfb6133
permissions -rw-r--r--
changed: #trapMethodForNumArgs: fix for non-methods (inherited, instrumented and wrapped methods)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13481
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     1
"
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     2
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     3
              All Rights Reserved
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     4
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     5
Permission is hereby granted, free of charge, to any person
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     6
obtaining a copy of this software and associated documentation
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     7
files (the 'Software'), to deal in the Software without
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     8
restriction, including without limitation the rights to use,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
     9
copy, modify, merge, publish, distribute, sublicense, and/or sell
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    10
copies of the Software, and to permit persons to whom the
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    11
Software is furnished to do so, subject to the following
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    12
conditions:
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    13
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    14
The above copyright notice and this permission notice shall be
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    15
included in all copies or substantial portions of the Software.
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    16
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    17
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    18
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    19
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    20
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    21
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    22
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    23
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    24
OTHER DEALINGS IN THE SOFTWARE.
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    25
"
13402
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    26
"{ Package: 'stx:libbasic' }"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    27
13481
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    28
nil subclass:#CmdLineParserTest
13402
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    29
	instanceVariableNames:'optionA optionB optionBValue'
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    30
	classVariableNames:''
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    31
	poolDictionaries:''
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    32
	category:'System-Support-Command line'
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    33
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    34
13481
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    35
!CmdLineParserTest class methodsFor:'documentation'!
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    36
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    37
copyright
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    38
"
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    39
 COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    40
              All Rights Reserved
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    41
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    42
Permission is hereby granted, free of charge, to any person
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    43
obtaining a copy of this software and associated documentation
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    44
files (the 'Software'), to deal in the Software without
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    45
restriction, including without limitation the rights to use,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    46
copy, modify, merge, publish, distribute, sublicense, and/or sell
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    47
copies of the Software, and to permit persons to whom the
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    48
Software is furnished to do so, subject to the following
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    49
conditions:
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    50
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    51
The above copyright notice and this permission notice shall be
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    52
included in all copies or substantial portions of the Software.
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    53
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    54
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    55
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    56
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    57
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    58
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    59
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    60
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    61
OTHER DEALINGS IN THE SOFTWARE.
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    62
"
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
    63
! !
13402
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    64
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    65
!CmdLineParserTest methodsFor:'accessing'!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    66
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    67
cmdlineOptionA
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    68
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    69
    ^CmdLineOption new
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    70
        short: $a;
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    71
        long: 'option-a';
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    72
        description: 'option a with no arg';
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    73
        action:[optionA := true]
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    74
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    75
    "Created: / 28-01-2009 / 11:56:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    76
    "Modified: / 08-06-2009 / 14:34:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    77
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    78
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    79
cmdlineOptionB
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    80
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    81
    ^CmdLineOption new
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    82
        short: $b;
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    83
        long: 'option-b';
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    84
        description: 'option b with one arg';
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    85
        action:[:value | optionB := true. optionBValue := value]
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    86
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    87
    "Created: / 28-01-2009 / 12:01:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    88
    "Modified: / 08-06-2009 / 14:33:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    89
! !
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    90
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    91
!CmdLineParserTest methodsFor:'initialization'!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    92
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    93
setUp
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    94
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    95
    optionA := optionB := false.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    96
    optionBValue := nil
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    97
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    98
    "Created: / 28-01-2009 / 12:01:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
    99
! !
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   100
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   101
!CmdLineParserTest methodsFor:'tests'!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   102
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   103
test_01
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   104
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   105
    CmdLineParser 
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   106
        parse: #('-a')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   107
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   108
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   109
    self assert: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   110
    self deny: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   111
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   112
    "Created: / 28-01-2009 / 14:19:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   113
    "Modified: / 29-05-2009 / 15:47:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   114
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   115
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   116
test_02
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   117
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   118
    CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   119
        parse: #('--option-a')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   120
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   121
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   122
    self assert: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   123
    self deny: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   124
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   125
    "Created: / 28-01-2009 / 14:19:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   126
    "Modified: / 29-05-2009 / 15:47:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   127
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   128
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   129
test_04a
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   130
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   131
    CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   132
        parse: #('--option-b= value')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   133
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   134
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   135
    self deny: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   136
    self assert: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   137
    self assert: optionBValue = ' value'
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   138
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   139
    "Created: / 30-01-2009 / 10:43:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   140
    "Modified: / 29-05-2009 / 15:47:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   141
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   142
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   143
test_04b
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   144
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   145
    self 
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   146
        should:[CmdLineParser  parse: #('--option-b') for: self]
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   147
        raise: CmdLineOptionError
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   148
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   149
    "Created: / 30-01-2009 / 10:43:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   150
    "Modified: / 29-05-2009 / 15:47:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   151
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   152
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   153
test_04c
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   154
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   155
    CmdLineParser parse: #('--option-b=') for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   156
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   157
    self deny: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   158
    self assert: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   159
    self assert: optionBValue = ''
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   160
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   161
    "Created: / 30-01-2009 / 10:44:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   162
    "Modified: / 29-05-2009 / 15:47:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   163
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   164
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   165
test_05
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   166
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   167
    CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   168
        parse: #('-b' 'value')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   169
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   170
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   171
    self deny: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   172
    self assert: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   173
    self assert: optionBValue = 'value'.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   174
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   175
    "Created: / 03-02-2009 / 17:38:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   176
    "Modified: / 29-05-2009 / 15:47:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   177
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   178
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   179
test_06
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   180
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   181
    CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   182
        parse: #('-a' '-b' 'value')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   183
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   184
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   185
    self assert: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   186
    self assert: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   187
    self assert: optionBValue = 'value'.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   188
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   189
    "Created: / 03-02-2009 / 17:39:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   190
    "Modified: / 29-05-2009 / 15:47:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   191
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   192
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   193
test_07
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   194
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   195
    CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   196
        parse: #('-ab' 'value')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   197
        for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   198
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   199
    self assert: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   200
    self assert: optionB.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   201
    self assert: optionBValue = 'value'.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   202
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   203
    "Created: / 03-02-2009 / 17:40:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   204
    "Modified: / 29-05-2009 / 15:48:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   205
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   206
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   207
test_08
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   208
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   209
    | rest |
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   210
    rest := CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   211
                parse: #('-a' '/tmp/abc.txt')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   212
                for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   213
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   214
    self assert: optionA.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   215
    self assert: optionB not.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   216
    self assert: rest asArray = #('/tmp/abc.txt')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   217
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   218
    "Created: / 08-06-2009 / 14:51:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   219
!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   220
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   221
test_09
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   222
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   223
    | rest |
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   224
    rest := CmdLineParser
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   225
                parse: #('/tmp/abc.txt')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   226
                for: self.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   227
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   228
    self assert: optionA not.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   229
    self assert: optionB not.
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   230
    self assert: rest asArray = #('/tmp/abc.txt')
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   231
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   232
    "Created: / 08-06-2009 / 14:52:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   233
! !
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   234
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   235
!CmdLineParserTest class methodsFor:'documentation'!
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   236
13481
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   237
version_CVS
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   238
    ^ '$Header: /cvs/stx/stx/libbasic/CmdLineParserTest.st,v 1.2 2011-07-03 15:06:55 cg Exp $'
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   239
!
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   240
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   241
version_SVN
7cd9d08941d5 copyright
Claus Gittinger <cg@exept.de>
parents: 13402
diff changeset
   242
    ^'§Id: CmdLineParserTest.st,v 1.1 2011/06/28 10:54:52 vrany Exp §'
13402
2d18a79f3fcc Added command line parsing stuff
vrany
parents:
diff changeset
   243
! !