FileBrowserV2Tests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 19 Jul 2017 09:42:32 +0200
branchjv
changeset 17619 edb119820fcb
parent 15950 23be8cf85415
permissions -rw-r--r--
Issue #154: Set window style using `#beToolWindow` to indicate that the minirunner window is kind of support tool rather than some X11 specific code (which does not work on Windows of course) See https://swing.fit.cvut.cz/projects/stx-jv/ticket/154
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
"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
321c1729db5b initial checkin
penk
parents:
diff changeset
    13
15950
23be8cf85415 Bugfix in merge tool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12650
diff changeset
    14
"{ NameSpace: Smalltalk }"
23be8cf85415 Bugfix in merge tool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12650
diff changeset
    15
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    16
TestCase subclass:#FileBrowserV2Tests
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
	instanceVariableNames:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    18
	classVariableNames:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    19
	poolDictionaries:''
321c1729db5b initial checkin
penk
parents:
diff changeset
    20
	category:'Interface-Tools-File'
321c1729db5b initial checkin
penk
parents:
diff changeset
    21
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    22
321c1729db5b initial checkin
penk
parents:
diff changeset
    23
!FileBrowserV2Tests class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    24
5142
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    25
copyright
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    26
"
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    27
 COPYRIGHT (c) 2002 by eXept Software AG
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    28
              All Rights Reserved
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    29
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    30
 This software is furnished under a license and may be used
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    31
 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
    32
 inclusion of the above copyright notice.   This software may not
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    33
 be provided or otherwise made available to, or used by, any
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    34
 other person.  No title to or ownership of the software is
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    35
 hereby transferred.
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
!
c3a536bb4425 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 4623
diff changeset
    38
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    39
documentation
321c1729db5b initial checkin
penk
parents:
diff changeset
    40
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    41
    documentation to be added.
321c1729db5b initial checkin
penk
parents:
diff changeset
    42
321c1729db5b initial checkin
penk
parents:
diff changeset
    43
    [author:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    44
        Christian Penk (penk@bierfix)
321c1729db5b initial checkin
penk
parents:
diff changeset
    45
321c1729db5b initial checkin
penk
parents:
diff changeset
    46
    [instance variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    47
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
    [class variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
321c1729db5b initial checkin
penk
parents:
diff changeset
    50
    [see also:]
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
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
!FileBrowserV2Tests methodsFor:'initialize / release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
setUp
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
    "common setup - invoked before testing"
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
    super setUp
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
tearDown
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
    "common cleanup - invoked after testing"
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
321c1729db5b initial checkin
penk
parents:
diff changeset
    66
    super tearDown
321c1729db5b initial checkin
penk
parents:
diff changeset
    67
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
    68
321c1729db5b initial checkin
penk
parents:
diff changeset
    69
!FileBrowserV2Tests methodsFor:'tests'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    71
createBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    72
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    73
    | testDir |
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    74
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    75
    testDir := Filename homeDirectory construct:'Test'.
4344
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    76
    (Filename homeDirectory construct:'Test') makeDirectory.
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    77
    1 to:5 do:[: id1|
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    78
        1 to:50 do:[: id2|
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    79
            1 to:50 do:[: id3|
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
    80
                (testDir construct:('file', id1 asString, '.', id2 asString,'.', id3 asString)) writeStream
4344
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
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    85
FileBrowserV2Tests new createBigDirectory
5228
6a81443432e9 comment change
penk
parents: 5142
diff changeset
    86
Dialog requestFileName:'test' default:nil pattern:'*' fromDirectory:'/home/penk/Test'
4344
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
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    90
removeBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    91
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    92
    (Filename homeDirectory construct:'Test') recursiveRemove.
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    93
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    94
"
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    95
FileBrowserV2Tests new removeBigDirectory
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
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
    99
testBigDirectory
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
   100
!
71914751e6db *** empty log message ***
penk
parents: 4025
diff changeset
   101
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   102
testDirectoryHistory
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   103
    "Just a demonstration testCase.
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   104
     Double click on the TestCase class or open a TestRunner to see me checking...
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   105
     - please add more methods like this..."
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   106
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   107
    |history|
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   108
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   109
    history := AbstractFileBrowser directoryHistoryClass new.
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   110
    history resetForwardBackward.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   111
    self shouldnt: (history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   112
    history addToHistory:'1'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   113
    self shouldnt:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   114
    self shouldnt:(history canForward).
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   115
    history addToHistory:'2'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   116
    self should:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   117
    history addToHistory:'3'.
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   118
    self should:(history canBackward).
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   119
    self shouldnt: (history canForward).
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   120
    self should: ((history goBackward) = '2').
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   121
    self should: ((history goBackward) = '1').
3953
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   122
    self should: (history canForward).
4348
6fca56fb8d4e history back forward is running now
penk
parents: 4344
diff changeset
   123
    self should: ((history goForward) = '2').
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   124
    self should: (history canForward).
3953
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
    "
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   129
     self run:#testDirectoryHistory
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   130
    "
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   131
!
4fd0ed70cf36 next stage
penk
parents: 3892
diff changeset
   132
4623
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   133
testDosFiles
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   134
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   135
    | file stream|
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   136
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   137
    file := Filename currentDirectory asAbsoluteFilename construct:'foobar~1'.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   138
    stream := file writeStream.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   139
    self should:file exists.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   140
    stream close.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   141
    file remove.
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   142
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   143
"
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   144
self new testDosFiles   
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   145
"
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   146
!
6632e9689329 fix for windows
penk
parents: 4348
diff changeset
   147
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   148
testFileItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   149
    "Just a demonstration testCase.
321c1729db5b initial checkin
penk
parents:
diff changeset
   150
     Double click on the TestCase class or open a TestRunner to see me checking...
321c1729db5b initial checkin
penk
parents:
diff changeset
   151
     - please add more methods like this..."
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
    | file item|
321c1729db5b initial checkin
penk
parents:
diff changeset
   154
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
    file := Filename homeDirectory construct:'work/stx/doc/online/english/index.html'.
321c1729db5b initial checkin
penk
parents:
diff changeset
   156
    file exists ifTrue:[
4025
f2f8fca68876 history test
penk
parents: 3964
diff changeset
   157
        item := DirectoryContentsBrowser itemClass fileName:file.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
        self should:(item mimeType = 'text/html').
321c1729db5b initial checkin
penk
parents:
diff changeset
   159
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
321c1729db5b initial checkin
penk
parents:
diff changeset
   161
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   162
     self run:#testFileItem
321c1729db5b initial checkin
penk
parents:
diff changeset
   163
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   164
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   165
321c1729db5b initial checkin
penk
parents:
diff changeset
   166
testHardLink
321c1729db5b initial checkin
penk
parents:
diff changeset
   167
    "Just a demonstration testCase.
321c1729db5b initial checkin
penk
parents:
diff changeset
   168
     Double click on the TestCase class or open a TestRunner to see me checking...
321c1729db5b initial checkin
penk
parents:
diff changeset
   169
     - please add more methods like this..."
321c1729db5b initial checkin
penk
parents:
diff changeset
   170
321c1729db5b initial checkin
penk
parents:
diff changeset
   171
    |browser|
321c1729db5b initial checkin
penk
parents:
diff changeset
   172
321c1729db5b initial checkin
penk
parents:
diff changeset
   173
    browser := FileBrowserV2 new.
321c1729db5b initial checkin
penk
parents:
diff changeset
   174
    
321c1729db5b initial checkin
penk
parents:
diff changeset
   175
    self should: ( browser isKindOf:AbstractFileBrowser ).
321c1729db5b initial checkin
penk
parents:
diff changeset
   176
    self should: ( browser respondsTo:#newHardLink ).
321c1729db5b initial checkin
penk
parents:
diff changeset
   177
    
321c1729db5b initial checkin
penk
parents:
diff changeset
   178
"/    self should: [ o at:0 ] raise:Error.
321c1729db5b initial checkin
penk
parents:
diff changeset
   179
321c1729db5b initial checkin
penk
parents:
diff changeset
   180
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   181
     self run:#testHardLink
321c1729db5b initial checkin
penk
parents:
diff changeset
   182
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   183
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   184
321c1729db5b initial checkin
penk
parents:
diff changeset
   185
!FileBrowserV2Tests class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   186
321c1729db5b initial checkin
penk
parents:
diff changeset
   187
version
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   188
    ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2Tests.st,v 1.9 2003/10/02 12:22:11 penk Exp $'
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   189
!
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   190
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   191
version_HG
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   192
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   193
    ^ '$Changeset: <not expanded> $'
12125
0c49a3b13e43 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12123
diff changeset
   194
! !
12650
e0f607754b9a Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12125
diff changeset
   195