CmdLineParserTest.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 11 Oct 2011 16:53:59 +0100
branchjv
changeset 17883 209190914636
parent 17714 0d64723fe7f5
child 17910 8d796ca8bd1d
permissions -rw-r--r--
svn:keywords property set correctly
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17714
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:libbasic' }"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
TestCase subclass:#CmdLineParserTest
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'optionA optionB optionBValue'
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'System-Support-Command line'
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!CmdLineParserTest methodsFor:'accessing'!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
cmdlineOptionA
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    ^CmdLineOption new
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
        short: $a;
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
        long: 'option-a';
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
        description: 'option a with no arg';
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
        action:[optionA := true]
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    "Created: / 28-01-2009 / 11:56:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "Modified: / 08-06-2009 / 14:34:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
cmdlineOptionB
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    ^CmdLineOption new
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
        short: $b;
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
        long: 'option-b';
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        description: 'option b with one arg';
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
        action:[:value | optionB := true. optionBValue := value]
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "Created: / 28-01-2009 / 12:01:43 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    "Modified: / 08-06-2009 / 14:33:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
! !
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
!CmdLineParserTest methodsFor:'initialization'!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
setUp
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    optionA := optionB := false.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    optionBValue := nil
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    "Created: / 28-01-2009 / 12:01:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
! !
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!CmdLineParserTest methodsFor:'tests'!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
test_01
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    CmdLineParser 
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
        parse: #('-a')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    self assert: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    self deny: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "Created: / 28-01-2009 / 14:19:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    "Modified: / 29-05-2009 / 15:47:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
test_02
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
        parse: #('--option-a')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    self assert: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    self deny: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "Created: / 28-01-2009 / 14:19:38 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Modified: / 29-05-2009 / 15:47:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
test_04a
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        parse: #('--option-b= value')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    self deny: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    self assert: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    self assert: optionBValue = ' value'
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "Created: / 30-01-2009 / 10:43:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "Modified: / 29-05-2009 / 15:47:34 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
test_04b
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    self 
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
        should:[CmdLineParser  parse: #('--option-b') for: self]
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
        raise: CmdLineOptionError
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "Created: / 30-01-2009 / 10:43:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "Modified: / 29-05-2009 / 15:47:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
test_04c
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    CmdLineParser parse: #('--option-b=') for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    self deny: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    self assert: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    self assert: optionBValue = ''
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "Created: / 30-01-2009 / 10:44:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    "Modified: / 29-05-2009 / 15:47:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
test_05
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
        parse: #('-b' 'value')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    self deny: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
    self assert: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
    self assert: optionBValue = 'value'.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    "Created: / 03-02-2009 / 17:38:51 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    "Modified: / 29-05-2009 / 15:47:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
test_06
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
    CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
        parse: #('-a' '-b' 'value')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
    self assert: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
    self assert: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
    self assert: optionBValue = 'value'.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
    "Created: / 03-02-2009 / 17:39:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    "Modified: / 29-05-2009 / 15:47:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
test_07
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
    CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
        parse: #('-ab' 'value')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
        for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
    self assert: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
    self assert: optionB.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
    self assert: optionBValue = 'value'.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
    "Created: / 03-02-2009 / 17:40:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
    "Modified: / 29-05-2009 / 15:48:02 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
test_08
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
    | rest |
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
    rest := CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
                parse: #('-a' '/tmp/abc.txt')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
                for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    self assert: optionA.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    self assert: optionB not.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    self assert: rest asArray = #('/tmp/abc.txt')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    "Created: / 08-06-2009 / 14:51:54 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
test_09
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
    | rest |
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    rest := CmdLineParser
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
                parse: #('/tmp/abc.txt')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
                for: self.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    self assert: optionA not.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    self assert: optionB not.
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    self assert: rest asArray = #('/tmp/abc.txt')
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
    "Created: / 08-06-2009 / 14:52:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
! !
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
!CmdLineParserTest class methodsFor:'documentation'!
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
version
17883
209190914636 svn:keywords property set correctly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17714
diff changeset
   184
    ^'$Id: CmdLineParserTest.st 10717 2011-10-11 15:53:59Z vranyj1 $'
17714
0d64723fe7f5 Added classes for command line parsing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
! !