FileBrowserV2Tests.st
author Claus Gittinger <cg@exept.de>
Mon, 20 Jan 2020 21:02:47 +0100
changeset 19422 c6ca1c3e0fd7
parent 5228 6a81443432e9
child 12123 4bde08cebd48
permissions -rw-r--r--
#REFACTORING by exept class: MultiViewToolApplication added: #askForFile:default:forSave:thenDo: changed: #askForFile:default:thenDo: #askForFile:thenDo: #menuSaveAllAs #menuSaveAs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5142
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     1
"
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     2
 COPYRIGHT (c) 2002 by eXept Software AG
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     3
              All Rights Reserved
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     4
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     5
 This software is furnished under a license and may be used
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     6
 only in accordance with the terms of that license and with the
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     8
 be provided or otherwise made available to, or used by, any
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
     9
 other person.  No title to or ownership of the software is
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    10
 hereby transferred.
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    11
"
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    12
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    13
"{ Package: 'stx:libtool' }"
321c1729db5b initial checkin
penk
parents:
diff changeset
    14
321c1729db5b initial checkin
penk
parents:
diff changeset
    15
TestCase subclass:#FileBrowserV2Tests
321c1729db5b initial checkin
penk
parents:
diff changeset
    16
	instanceVariableNames:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
	classVariableNames:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    18
	poolDictionaries:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    19
	category:'Interface-Tools-File'
321c1729db5b initial checkin
penk
parents:
diff changeset
    20
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    21
321c1729db5b initial checkin
penk
parents:
diff changeset
    22
!FileBrowserV2Tests class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    23
5142
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    24
copyright
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    25
"
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    26
 COPYRIGHT (c) 2002 by eXept Software AG
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    27
              All Rights Reserved
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    28
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    29
 This software is furnished under a license and may be used
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    30
 only in accordance with the terms of that license and with the
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    32
 be provided or otherwise made available to, or used by, any
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    33
 other person.  No title to or ownership of the software is
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    34
 hereby transferred.
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    35
"
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    36
!
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    37
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    38
documentation
321c1729db5b initial checkin
penk
parents:
diff changeset
    39
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
    documentation to be added.
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
    [author:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
        Christian Penk (penk@bierfix)
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
321c1729db5b initial checkin
penk
parents:
diff changeset
    45
    [instance variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
    [class variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
    [see also:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    52
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
321c1729db5b initial checkin
penk
parents:
diff changeset
    54
!FileBrowserV2Tests methodsFor:'initialize / release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
setUp
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
    "common setup - invoked before testing"
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
    super setUp
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
tearDown
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
    "common cleanup - invoked after testing"
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
    super tearDown
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
!FileBrowserV2Tests methodsFor:'tests'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    70
createBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    71
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    72
    | testDir |
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    73
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    74
    testDir := Filename homeDirectory construct:'Test'.
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    75
    (Filename homeDirectory construct:'Test') makeDirectory.
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    76
    1 to:5 do:[: id1|
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    77
        1 to:50 do:[: id2|
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    78
            1 to:50 do:[: id3|
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    79
                (testDir construct:('file', id1 asString, '.', id2 asString,'.', id3 asString)) writeStream
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    80
            ]
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    81
        ].
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    82
    ]
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    83
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    84
FileBrowserV2Tests new createBigDirectory
5228
6a81443432e9 comment change
penk
parents: 5142
diff changeset
    85
Dialog requestFileName:'test' default:nil pattern:'*' fromDirectory:'/home/penk/Test'
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    86
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    87
!
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    88
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    89
removeBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    90
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    91
    (Filename homeDirectory construct:'Test') recursiveRemove.
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    92
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    93
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    94
FileBrowserV2Tests new removeBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    95
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    96
!
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    97
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    98
testBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    99
!
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
   100
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   101
testDirectoryHistory
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   102
    "Just a demonstration testCase.
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   103
     Double click on the TestCase class or open a TestRunner to see me checking...
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   104
     - please add more methods like this..."
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   105
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   106
    |history|
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   107
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   108
    history := AbstractFileBrowser directoryHistoryClass new.
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   109
    history resetForwardBackward.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   110
    self shouldnt: (history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   111
    history addToHistory:'1'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   112
    self shouldnt:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   113
    self shouldnt:(history canForward).
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   114
    history addToHistory:'2'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   115
    self should:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   116
    history addToHistory:'3'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   117
    self should:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   118
    self shouldnt: (history canForward).
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   119
    self should: ((history goBackward) = '2').
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   120
    self should: ((history goBackward) = '1').
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   121
    self should: (history canForward).
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   122
    self should: ((history goForward) = '2').
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   123
    self should: (history canForward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   124
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   125
    
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   126
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   127
    "
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   128
     self run:#testDirectoryHistory
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   129
    "
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   130
!
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   131
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   132
testDosFiles
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   133
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   134
    | file stream|
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   135
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   136
    file := Filename currentDirectory asAbsoluteFilename construct:'foobar~1'.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   137
    stream := file writeStream.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   138
    self should:file exists.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   139
    stream close.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   140
    file remove.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   141
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   142
"
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   143
self new testDosFiles   
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   144
"
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   145
!
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   146
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   147
testFileItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
    "Just a demonstration testCase.
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
     Double click on the TestCase class or open a TestRunner to see me checking...
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
     - please add more methods like this..."
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
    | file item|
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
321c1729db5b initial checkin
penk
parents:
diff changeset
   154
    file := Filename homeDirectory construct:'work/stx/doc/online/english/index.html'.
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
    file exists ifTrue:[
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   156
        item := DirectoryContentsBrowser itemClass fileName:file.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   157
        self should:(item mimeType = 'text/html').
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   159
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
     self run:#testFileItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
testHardLink
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
    "Just a demonstration testCase.
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
     Double click on the TestCase class or open a TestRunner to see me checking...
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
     - please add more methods like this..."
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
    |browser|
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
    browser := FileBrowserV2 new.
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
    
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
    self should: ( browser isKindOf:AbstractFileBrowser ).
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
    self should: ( browser respondsTo:#newHardLink ).
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
    
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
"/    self should: [ o at:0 ] raise:Error.
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
     self run:#testHardLink
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
!FileBrowserV2Tests class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
version
5228
6a81443432e9 comment change
penk
parents: 5142
diff changeset
   187
    ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2Tests.st,v 1.9 2003-10-02 12:22:11 penk Exp $'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   188
! !