Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
f1e63545
Commit
f1e63545
authored
May 22, 1997
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The usual
parent
c2d14176
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
244 additions
and
496 deletions
+244
-496
Lib/dos-8x3/macurl2p.py
Lib/dos-8x3/macurl2p.py
+6
-1
Lib/dos-8x3/test_aud.py
Lib/dos-8x3/test_aud.py
+6
-5
Lib/dos-8x3/test_fcn.py
Lib/dos-8x3/test_fcn.py
+4
-4
Lib/dos-8x3/test_ima.py
Lib/dos-8x3/test_ima.py
+5
-12
Lib/dos-8x3/test_ope.py
Lib/dos-8x3/test_ope.py
+3
-75
Lib/dos-8x3/test_reg.py
Lib/dos-8x3/test_reg.py
+1
-1
Lib/dos-8x3/test_sel.py
Lib/dos-8x3/test_sel.py
+2
-2
Lib/dos-8x3/test_soc.py
Lib/dos-8x3/test_soc.py
+37
-34
Lib/dos-8x3/test_str.py
Lib/dos-8x3/test_str.py
+58
-114
Lib/dos_8x3/macurl2p.py
Lib/dos_8x3/macurl2p.py
+6
-1
Lib/dos_8x3/test_aud.py
Lib/dos_8x3/test_aud.py
+6
-5
Lib/dos_8x3/test_fcn.py
Lib/dos_8x3/test_fcn.py
+4
-4
Lib/dos_8x3/test_ima.py
Lib/dos_8x3/test_ima.py
+5
-12
Lib/dos_8x3/test_ope.py
Lib/dos_8x3/test_ope.py
+3
-75
Lib/dos_8x3/test_reg.py
Lib/dos_8x3/test_reg.py
+1
-1
Lib/dos_8x3/test_sel.py
Lib/dos_8x3/test_sel.py
+2
-2
Lib/dos_8x3/test_soc.py
Lib/dos_8x3/test_soc.py
+37
-34
Lib/dos_8x3/test_str.py
Lib/dos_8x3/test_str.py
+58
-114
No files found.
Lib/dos-8x3/macurl2p.py
View file @
f1e63545
...
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
if
'/'
in
pathname
:
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
components
=
string
.
split
(
pathname
,
':'
)
# Remove empty first and/or last component
if
components
[
0
]
==
''
:
del
components
[
0
]
if
components
[
-
1
]
==
''
:
del
components
[
-
1
]
# Replace empty string ('::') by .. (will result in '/../' later)
for
i
in
range
(
1
,
len
(
components
)):
for
i
in
range
(
len
(
components
)):
if
components
[
i
]
==
''
:
components
[
i
]
=
'..'
# Truncate names longer than 31 bytes
...
...
Lib/dos-8x3/test_aud.py
View file @
f1e63545
...
...
@@ -171,11 +171,12 @@ def testmul(data):
def
testratecv
(
data
):
if
verbose
:
print
'ratecv'
state
=
(
-
8000
,
((
256
,
512
),))
if
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
!=
\
(
'
\
001
\
000
\
000
\
001
\
001
\
002
'
,
state
):
return
0
print
'ratecv'
state
=
None
d1
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
d2
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
if
d1
+
d2
!=
'
\
000
\
000
\
001
\
001
\
002
\
001
\
000
\
000
\
001
\
001
\
002
'
:
return
0
return
1
def
testreverse
(
data
):
...
...
Lib/dos-8x3/test_fcn.py
View file @
f1e63545
...
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
# the example from the library docs
f
=
open
(
filename
,
'w'
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
O_NDELAY
,
1
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETFL
,
os
.
O_NONBLOCK
)
if
verbose
:
print
'Status from fnctl with O_N
DELAY
: '
,
rv
print
'Status from fnctl with O_N
ONBLOCK
: '
,
rv
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
if
verbose
:
print
'struct.pack: '
,
lockdata
print
'struct.pack: '
,
`lockdata`
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
if
verbose
:
print
'String from fcntl with F_SETLKW: '
,
rv
print
'String from fcntl with F_SETLKW: '
,
`rv`
f
.
close
()
os
.
unlink
(
filename
)
Lib/dos-8x3/test_ima.py
View file @
f1e63545
...
...
@@ -152,20 +152,13 @@ def getimage(name):
return
(
image
,
sizes
[
0
],
sizes
[
1
])
def
get_qualified_path
(
name
):
""" return a more qualified path to name
contructed from argv[1]
"""
""" return a more qualified path to name"""
import
sys
import
os
import
string
# get a more qualified path component of the script...
if
__name__
==
'__main__'
:
ourname
=
sys
.
argv
[
0
]
else
:
# ...or the full path of the module
ourname
=
sys
.
modules
[
__name__
].
__file__
parts
=
string
.
splitfields
(
ourname
,
os
.
sep
)
parts
[
-
1
]
=
name
name
=
string
.
joinfields
(
parts
,
os
.
sep
)
for
dir
in
sys
.
path
:
fullname
=
os
.
path
.
join
(
dir
,
name
)
if
os
.
path
.
exists
(
fullname
):
return
fullname
return
name
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
...
...
Lib/dos-8x3/test_ope.py
View file @
f1e63545
import
operator
import
sys
# Python test set -- part 3, built-in operations.
def
test
(
name
,
input
,
output
,
*
args
):
print
'testing:'
,
name
f
=
getattr
(
operator
,
name
)
params
=
(
input
,)
+
args
try
:
val
=
apply
(
f
,
params
)
except
:
val
=
sys
.
exc_type
if
val
<>
output
:
print
'%s%s = %s: %s expected'
%
(
f
.
__name__
,
params
,
`val`
,
`output`
)
test
(
'abs'
,
-
1
,
1
)
test
(
'add'
,
3
,
7
,
4
)
test
(
'and_'
,
0xf
,
0xa
,
0xa
)
test
(
'concat'
,
'py'
,
'python'
,
'thon'
)
test
(
'countOf'
,
[
1
,
2
,
1
,
3
,
1
,
4
],
1
,
3
)
a
=
[
4
,
3
,
2
,
1
]
test
(
'delitem'
,
a
,
None
,
1
)
if
a
<>
[
4
,
2
,
1
]:
print
'delitem() failed'
a
=
range
(
10
)
test
(
'delslice'
,
a
,
None
,
2
,
8
)
if
a
<>
[
0
,
1
,
8
,
9
]:
print
'delslice() failed'
a
=
range
(
10
)
test
(
'div'
,
5
,
2
,
2
)
test
(
'getitem'
,
a
,
2
,
2
)
test
(
'getslice'
,
a
,
[
4
,
5
],
4
,
6
)
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
1
,
3
)
test
(
'inv'
,
4
,
-
5
)
test
(
'isCallable'
,
4
,
0
)
test
(
'isCallable'
,
operator
.
isCallable
,
1
)
test
(
'isMappingType'
,
operator
.
isMappingType
,
0
)
test
(
'isMappingType'
,
operator
.
__dict__
,
1
)
test
(
'isNumberType'
,
8.3
,
1
)
test
(
'isNumberType'
,
dir
(),
0
)
test
(
'isSequenceType'
,
dir
(),
1
)
test
(
'isSequenceType'
,
'yeahbuddy'
,
1
)
test
(
'isSequenceType'
,
3
,
0
)
test
(
'lshift'
,
5
,
10
,
1
)
test
(
'mod'
,
5
,
1
,
2
)
test
(
'mul'
,
5
,
10
,
2
)
test
(
'neg'
,
5
,
-
5
)
test
(
'or_'
,
0xa
,
0xf
,
0x5
)
test
(
'pos'
,
-
5
,
-
5
)
a
=
range
(
3
)
test
(
'repeat'
,
a
,
a
+
a
,
2
)
test
(
'rshift'
,
5
,
2
,
1
)
test
(
'sequenceIncludes'
,
range
(
4
),
1
,
2
)
test
(
'sequenceIncludes'
,
range
(
4
),
0
,
5
)
test
(
'setitem'
,
a
,
None
,
0
,
2
)
if
a
<>
[
2
,
1
,
2
]:
print
'setitem() failed'
a
=
range
(
4
)
test
(
'setslice'
,
a
,
None
,
1
,
3
,
[
2
,
1
])
if
a
<>
[
0
,
2
,
1
,
3
]:
print
'setslice() failed:'
,
a
test
(
'sub'
,
5
,
2
,
3
)
test
(
'truth'
,
5
,
1
)
test
(
'truth'
,
[],
0
)
test
(
'xor'
,
0xb
,
0x7
,
0xc
)
# some negative tests
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
ValueError
,
9
)
print
'3. Operations'
print
'XXX Not yet implemented'
Lib/dos-8x3/test_reg.py
View file @
f1e63545
...
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
print '
__members__
:
', cre.__members__
print '
regs
:
', cre.regs
print '
last
:
', cre.last
print '
translate
:
',
`cre.translate`
print '
translate
:
',
len(cre.translate)
print '
givenpat
:
', cre.givenpat
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
...
...
Lib/dos-8x3/test_sel.py
View file @
f1e63545
...
...
@@ -35,9 +35,9 @@ else:
def
test
():
import
sys
if
sys
.
platform
in
(
'win'
,
'mac'
):
if
sys
.
platform
[:
3
]
in
(
'win'
,
'mac'
):
if
verbose
:
print
"Can't test select easily
"
print
"Can't test select easily
on"
,
sys
.
platform
return
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
p
=
os
.
popen
(
cmd
,
'r'
)
...
...
Lib/dos-8x3/test_soc.py
View file @
f1e63545
...
...
@@ -8,7 +8,7 @@
# sktobj.shutdown()
from
test_support
import
verbose
from
test_support
import
verbose
,
TestFailed
import
socket
import
os
import
time
...
...
@@ -22,13 +22,13 @@ def missing_ok(str):
print
socket
.
error
print
socket
.
AF_INET
socket
.
AF_INET
print
socket
.
SOCK_STREAM
print
socket
.
SOCK_DGRAM
print
socket
.
SOCK_RAW
print
socket
.
SOCK_RDM
print
socket
.
SOCK_SEQPACKET
socket
.
SOCK_STREAM
socket
.
SOCK_DGRAM
socket
.
SOCK_RAW
socket
.
SOCK_RDM
socket
.
SOCK_SEQPACKET
for
optional
in
(
"AF_UNIX"
,
...
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
):
missing_ok
(
optional
)
socktype
=
socket
.
socket_type
hostname
=
socket
.
gethostname
()
ip
=
socket
.
gethostbyname
(
hostname
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
...
...
@@ -89,43 +90,45 @@ except socket.error:
pass
canfork
=
hasattr
(
os
,
'fork'
)
try
:
PORT
=
50007
if
os
.
fork
():
if
not
canfork
or
os
.
fork
():
# parent is server
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
.
bind
(
hostname
,
PORT
)
s
.
listen
(
1
)
if
verbose
:
print
'parent accepting'
conn
,
addr
=
s
.
accept
()
if
verbose
:
print
'connected by'
,
addr
# couple of interesting tests while we've got a live socket
f
=
conn
.
fileno
()
if
verbose
:
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
canfork
:
conn
,
addr
=
s
.
accept
()
if
verbose
:
print
'connected by'
,
addr
# couple of interesting tests while we've got a live socket
f
=
conn
.
fileno
()
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
else
:
try
:
# child is client
time
.
sleep
(
1
)
time
.
sleep
(
5
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
if
verbose
:
print
'child connecting'
...
...
@@ -138,5 +141,5 @@ try:
s
.
close
()
finally
:
os
.
_exit
(
1
)
except
socket
.
error
:
pass
except
socket
.
error
,
msg
:
raise
TestFailed
,
msg
Lib/dos-8x3/test_str.py
View file @
f1e63545
#! /usr/bin/env python
# Sanity checker for time.strftime
import
time
,
calendar
,
sys
,
string
,
os
from
test_support
import
verbose
import
strop
,
sys
def
main
():
global
verbose
now
=
time
.
time
()
strftest
(
now
)
verbose
=
0
# Try a bunch of dates and times, chosen to vary through time of
# day and daylight saving time
for
j
in
range
(
-
5
,
5
):
for
i
in
range
(
25
):
strftest
(
now
+
(
i
+
j
*
100
)
*
23
*
3603
)
def
strftest
(
now
):
def
test
(
name
,
input
,
output
,
*
args
):
if
verbose
:
print
"strftime test for"
,
time
.
ctime
(
now
)
nowsecs
=
int
(
now
)
gmt
=
time
.
gmtime
(
now
)
now
=
time
.
localtime
(
now
)
print
'string.%s%s =? %s... '
%
(
name
,
(
input
,)
+
args
,
output
),
f
=
getattr
(
strop
,
name
)
try
:
value
=
apply
(
f
,
(
input
,)
+
args
)
except
:
value
=
sys
.
exc_type
if
value
!=
output
:
if
verbose
:
print
'no'
print
f
,
`input`
,
`output`
,
`value`
else
:
if
verbose
:
print
'yes'
if
now
[
3
]
<
12
:
ampm
=
'AM'
else
:
ampm
=
'PM'
test
(
'atoi'
,
" 1 "
,
1
)
test
(
'atoi'
,
" 1x"
,
ValueError
)
test
(
'atoi'
,
" x1 "
,
ValueError
)
test
(
'atol'
,
" 1 "
,
1L
)
test
(
'atol'
,
" 1x "
,
ValueError
)
test
(
'atol'
,
" x1 "
,
ValueError
)
test
(
'atof'
,
" 1 "
,
1.0
)
test
(
'atof'
,
" 1x "
,
ValueError
)
test
(
'atof'
,
" x1 "
,
ValueError
)
jan1
=
time
.
localtime
(
time
.
mktime
((
now
[
0
],
1
,
1
)
+
(
0
,)
*
6
))
test
(
'capitalize'
,
' hello '
,
' hello '
)
test
(
'capitalize'
,
'hello '
,
'Hello '
)
test
(
'find'
,
'abcdefghiabc'
,
0
,
'abc'
)
test
(
'find'
,
'abcdefghiabc'
,
9
,
'abc'
,
1
)
test
(
'find'
,
'abcdefghiabc'
,
-
1
,
'def'
,
4
)
test
(
'rfind'
,
'abcdefghiabc'
,
9
,
'abc'
)
test
(
'lower'
,
'HeLLo'
,
'hello'
)
test
(
'upper'
,
'HeLLo'
,
'HELLO'
)
if
now
[
8
]:
tz
=
time
.
tzname
[
1
]
else
:
tz
=
time
.
tzname
[
0
]
transtable
=
'
\
000
\
001
\
002
\
003
\
004
\
005
\
006
\
007
\
010
\
011
\
012
\
013
\
014
\
015
\
016
\
017
\
020
\
021
\
022
\
023
\
024
\
025
\
026
\
027
\
030
\
031
\
032
\
033
\
034
\
035
\
036
\
037
!"#$%&
\
'
()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[
\
\
]^_`xyzdefghijklmnopqrstuvwxyz{|}~
\
177
\
200
\
201
\
202
\
203
\
204
\
205
\
206
\
207
\
210
\
211
\
212
\
213
\
214
\
215
\
216
\
217
\
220
\
221
\
222
\
223
\
224
\
225
\
226
\
227
\
230
\
231
\
232
\
233
\
234
\
235
\
236
\
237
\
240
\
241
\
242
\
243
\
244
\
245
\
246
\
247
\
250
\
251
\
252
\
253
\
254
\
255
\
256
\
257
\
260
\
261
\
262
\
263
\
264
\
265
\
266
\
267
\
270
\
271
\
272
\
273
\
274
\
275
\
276
\
277
\
300
\
301
\
302
\
303
\
304
\
305
\
306
\
307
\
310
\
311
\
312
\
313
\
314
\
315
\
316
\
317
\
320
\
321
\
322
\
323
\
324
\
325
\
326
\
327
\
330
\
331
\
332
\
333
\
334
\
335
\
336
\
337
\
340
\
341
\
342
\
343
\
344
\
345
\
346
\
347
\
350
\
351
\
352
\
353
\
354
\
355
\
356
\
357
\
360
\
361
\
362
\
363
\
364
\
365
\
366
\
367
\
370
\
371
\
372
\
373
\
374
\
375
\
376
\
377
'
if
now
[
3
]
>
12
:
clock12
=
now
[
3
]
-
12
elif
now
[
3
]
>
0
:
clock12
=
now
[
3
]
else
:
clock12
=
12
test
(
'maketrans'
,
'abc'
,
transtable
,
'xyz'
)
test
(
'maketrans'
,
'abc'
,
ValueError
,
'xyzq'
)
expectations
=
(
(
'%A'
,
calendar
.
day_name
[
now
[
6
]],
'full weekday name'
),
(
'%a'
,
calendar
.
day_abbr
[
now
[
6
]],
'abbreviated weekday name'
),
(
'%B'
,
calendar
.
month_name
[
now
[
1
]],
'full month name'
),
(
'%b'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%h'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%c'
,
fixasctime
(
time
.
asctime
(
now
)),
'near-asctime() format'
),
(
'%D'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'mm/dd/yy'
),
(
'%d'
,
'%02d'
%
now
[
2
],
'day of month as number (00-31)'
),
(
'%e'
,
'%2d'
%
now
[
2
],
'day of month as number, blank padded ( 0-31)'
),
(
'%H'
,
'%02d'
%
now
[
3
],
'hour (00-23)'
),
(
'%I'
,
'%02d'
%
clock12
,
'hour (01-12)'
),
(
'%j'
,
'%03d'
%
now
[
7
],
'julian day (001-366)'
),
(
'%M'
,
'%02d'
%
now
[
4
],
'minute, (00-59)'
),
(
'%m'
,
'%02d'
%
now
[
1
],
'month as number (01-12)'
),
(
'%p'
,
ampm
,
'AM or PM as appropriate'
),
(
'%R'
,
'%02d:%02d'
%
(
now
[
3
],
now
[
4
]),
'%H:%M'
),
(
'%r'
,
'%02d:%02d:%02d %s'
%
(
clock12
,
now
[
4
],
now
[
5
],
ampm
),
'%I:%M:%S %p'
),
(
'%S'
,
'%02d'
%
now
[
5
],
'seconds of current time (00-60)'
),
(
'%T'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%X'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%U'
,
'%02d'
%
((
now
[
7
]
+
jan1
[
6
])
/
7
),
'week number of the year (Sun 1st)'
),
(
'%W'
,
'%02d'
%
((
now
[
7
]
+
(
jan1
[
6
]
-
1
)
%
7
)
/
7
),
'week number of the year (Mon 1st)'
),
(
'%w'
,
'%d'
%
((
1
+
now
[
6
])
%
7
),
'weekday as a number (Sun 1st)'
),
(
'%x'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'%m/%d/%y %H:%M:%S'
),
(
'%Y'
,
'%d'
%
now
[
0
],
'year with century'
),
(
'%y'
,
'%02d'
%
(
now
[
0
]
%
100
),
'year without century'
),
(
'%Z'
,
tz
,
'time zone name'
),
(
'%%'
,
'%'
,
'single percent sign'
),
)
test
(
'split'
,
'this is the split function'
,
[
'this'
,
'is'
,
'the'
,
'split'
,
'function'
])
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'|'
)
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c|d'
],
'|'
,
2
)
nonstandard_expectations
=
(
(
'%C'
,
'%02d'
%
(
now
[
0
]
/
100
),
'century'
),
# This is for IRIX; on Solaris, %C yields date(1) format.
# Tough.
(
'%k'
,
'%2d'
%
now
[
3
],
'hour, blank padded ( 0-23)'
),
(
'%s'
,
'%d'
%
nowsecs
,
'seconds since the Epoch in UCT'
),
(
'%3y'
,
'%03d'
%
(
now
[
0
]
%
100
),
'year without century rendered using fieldwidth'
),
(
'%n'
,
'
\
n
'
,
'newline character'
),
(
'%t'
,
'
\
t
'
,
'tab character'
),
)
# join now works with any sequence type
class
Sequence
:
def
__init__
(
self
):
self
.
seq
=
'wxyz'
def
__len__
(
self
):
return
len
(
self
.
seq
)
def
__getitem__
(
self
,
i
):
return
self
.
seq
[
i
]
if
verbose
:
print
"Strftime test, platform: %s, Python version: %s"
%
\
(
sys
.
platform
,
string
.
split
(
sys
.
version
)[
0
]
)
test
(
'join'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'a b c d'
)
test
(
'join'
,
(
'a'
,
'b'
,
'c'
,
'd'
),
'abcd'
,
''
)
test
(
'join'
,
Sequence
(),
'w x y z'
)
for
e
in
expectations
:
try
:
result
=
time
.
strftime
(
e
[
0
],
now
)
except
ValueError
,
error
:
print
"Standard '%s' format gave error:"
%
e
[
0
],
error
continue
if
result
==
e
[
1
]:
continue
if
result
[
0
]
==
'%'
:
print
"Does not support standard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
print
"Conflict for %s (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
# try a few long ones
print
strop
.
join
([
'x'
*
100
]
*
100
,
':'
)
print
strop
.
join
((
'x'
*
100
,)
*
100
,
':'
)
for
e
in
nonstandard_expectations
:
try
:
result
=
time
.
strftime
(
e
[
0
],
now
)
except
ValueError
,
result
:
if
verbose
:
print
"Error for nonstandard '%s' format (%s): %s"
%
\
(
e
[
0
],
e
[
2
],
str
(
error
))
continue
if
result
==
e
[
1
]:
if
verbose
:
print
"Supports nonstandard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
elif
result
[
0
]
==
'%'
:
if
verbose
:
print
"Does not appear to support '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
if
verbose
:
print
"Conflict for nonstandard '%s' format (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
test
(
'strip'
,
' hello '
,
'hello'
)
test
(
'lstrip'
,
' hello '
,
'hello '
)
test
(
'rstrip'
,
' hello '
,
' hello'
)
def
fixasctime
(
s
):
if
s
[
8
]
==
' '
:
s
=
s
[:
8
]
+
'0'
+
s
[
9
:]
return
s
test
(
'swapcase'
,
'HeLLo cOmpUteRs'
,
'hEllO CoMPuTErS'
)
test
(
'translate'
,
'xyzabcdef'
,
'xyzxyz'
,
transtable
,
'def'
)
main
()
strop
.
whitespace
strop
.
lowercase
strop
.
uppercase
Lib/dos_8x3/macurl2p.py
View file @
f1e63545
...
...
@@ -44,8 +44,13 @@ def pathname2url(pathname):
if
'/'
in
pathname
:
raise
RuntimeError
,
"Cannot convert pathname containing slashes"
components
=
string
.
split
(
pathname
,
':'
)
# Remove empty first and/or last component
if
components
[
0
]
==
''
:
del
components
[
0
]
if
components
[
-
1
]
==
''
:
del
components
[
-
1
]
# Replace empty string ('::') by .. (will result in '/../' later)
for
i
in
range
(
1
,
len
(
components
)):
for
i
in
range
(
len
(
components
)):
if
components
[
i
]
==
''
:
components
[
i
]
=
'..'
# Truncate names longer than 31 bytes
...
...
Lib/dos_8x3/test_aud.py
View file @
f1e63545
...
...
@@ -171,11 +171,12 @@ def testmul(data):
def
testratecv
(
data
):
if
verbose
:
print
'ratecv'
state
=
(
-
8000
,
((
256
,
512
),))
if
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
!=
\
(
'
\
001
\
000
\
000
\
001
\
001
\
002
'
,
state
):
return
0
print
'ratecv'
state
=
None
d1
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
d2
,
state
=
audioop
.
ratecv
(
data
[
0
],
1
,
1
,
8000
,
16000
,
state
)
if
d1
+
d2
!=
'
\
000
\
000
\
001
\
001
\
002
\
001
\
000
\
000
\
001
\
001
\
002
'
:
return
0
return
1
def
testreverse
(
data
):
...
...
Lib/dos_8x3/test_fcn.py
View file @
f1e63545
...
...
@@ -12,17 +12,17 @@ filename = '/tmp/delete-me'
# the example from the library docs
f
=
open
(
filename
,
'w'
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
O_NDELAY
,
1
)
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETFL
,
os
.
O_NONBLOCK
)
if
verbose
:
print
'Status from fnctl with O_N
DELAY
: '
,
rv
print
'Status from fnctl with O_N
ONBLOCK
: '
,
rv
lockdata
=
struct
.
pack
(
'hhllhh'
,
FCNTL
.
F_WRLCK
,
0
,
0
,
0
,
0
,
0
)
if
verbose
:
print
'struct.pack: '
,
lockdata
print
'struct.pack: '
,
`lockdata`
rv
=
fcntl
.
fcntl
(
f
.
fileno
(),
FCNTL
.
F_SETLKW
,
lockdata
)
if
verbose
:
print
'String from fcntl with F_SETLKW: '
,
rv
print
'String from fcntl with F_SETLKW: '
,
`rv`
f
.
close
()
os
.
unlink
(
filename
)
Lib/dos_8x3/test_ima.py
View file @
f1e63545
...
...
@@ -152,20 +152,13 @@ def getimage(name):
return
(
image
,
sizes
[
0
],
sizes
[
1
])
def
get_qualified_path
(
name
):
""" return a more qualified path to name
contructed from argv[1]
"""
""" return a more qualified path to name"""
import
sys
import
os
import
string
# get a more qualified path component of the script...
if
__name__
==
'__main__'
:
ourname
=
sys
.
argv
[
0
]
else
:
# ...or the full path of the module
ourname
=
sys
.
modules
[
__name__
].
__file__
parts
=
string
.
splitfields
(
ourname
,
os
.
sep
)
parts
[
-
1
]
=
name
name
=
string
.
joinfields
(
parts
,
os
.
sep
)
for
dir
in
sys
.
path
:
fullname
=
os
.
path
.
join
(
dir
,
name
)
if
os
.
path
.
exists
(
fullname
):
return
fullname
return
name
# rgbimg (unlike imgfile) is portable to platforms other than SGI.
...
...
Lib/dos_8x3/test_ope.py
View file @
f1e63545
import
operator
import
sys
# Python test set -- part 3, built-in operations.
def
test
(
name
,
input
,
output
,
*
args
):
print
'testing:'
,
name
f
=
getattr
(
operator
,
name
)
params
=
(
input
,)
+
args
try
:
val
=
apply
(
f
,
params
)
except
:
val
=
sys
.
exc_type
if
val
<>
output
:
print
'%s%s = %s: %s expected'
%
(
f
.
__name__
,
params
,
`val`
,
`output`
)
test
(
'abs'
,
-
1
,
1
)
test
(
'add'
,
3
,
7
,
4
)
test
(
'and_'
,
0xf
,
0xa
,
0xa
)
test
(
'concat'
,
'py'
,
'python'
,
'thon'
)
test
(
'countOf'
,
[
1
,
2
,
1
,
3
,
1
,
4
],
1
,
3
)
a
=
[
4
,
3
,
2
,
1
]
test
(
'delitem'
,
a
,
None
,
1
)
if
a
<>
[
4
,
2
,
1
]:
print
'delitem() failed'
a
=
range
(
10
)
test
(
'delslice'
,
a
,
None
,
2
,
8
)
if
a
<>
[
0
,
1
,
8
,
9
]:
print
'delslice() failed'
a
=
range
(
10
)
test
(
'div'
,
5
,
2
,
2
)
test
(
'getitem'
,
a
,
2
,
2
)
test
(
'getslice'
,
a
,
[
4
,
5
],
4
,
6
)
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
1
,
3
)
test
(
'inv'
,
4
,
-
5
)
test
(
'isCallable'
,
4
,
0
)
test
(
'isCallable'
,
operator
.
isCallable
,
1
)
test
(
'isMappingType'
,
operator
.
isMappingType
,
0
)
test
(
'isMappingType'
,
operator
.
__dict__
,
1
)
test
(
'isNumberType'
,
8.3
,
1
)
test
(
'isNumberType'
,
dir
(),
0
)
test
(
'isSequenceType'
,
dir
(),
1
)
test
(
'isSequenceType'
,
'yeahbuddy'
,
1
)
test
(
'isSequenceType'
,
3
,
0
)
test
(
'lshift'
,
5
,
10
,
1
)
test
(
'mod'
,
5
,
1
,
2
)
test
(
'mul'
,
5
,
10
,
2
)
test
(
'neg'
,
5
,
-
5
)
test
(
'or_'
,
0xa
,
0xf
,
0x5
)
test
(
'pos'
,
-
5
,
-
5
)
a
=
range
(
3
)
test
(
'repeat'
,
a
,
a
+
a
,
2
)
test
(
'rshift'
,
5
,
2
,
1
)
test
(
'sequenceIncludes'
,
range
(
4
),
1
,
2
)
test
(
'sequenceIncludes'
,
range
(
4
),
0
,
5
)
test
(
'setitem'
,
a
,
None
,
0
,
2
)
if
a
<>
[
2
,
1
,
2
]:
print
'setitem() failed'
a
=
range
(
4
)
test
(
'setslice'
,
a
,
None
,
1
,
3
,
[
2
,
1
])
if
a
<>
[
0
,
2
,
1
,
3
]:
print
'setslice() failed:'
,
a
test
(
'sub'
,
5
,
2
,
3
)
test
(
'truth'
,
5
,
1
)
test
(
'truth'
,
[],
0
)
test
(
'xor'
,
0xb
,
0x7
,
0xc
)
# some negative tests
test
(
'indexOf'
,
[
4
,
3
,
2
,
1
],
ValueError
,
9
)
print
'3. Operations'
print
'XXX Not yet implemented'
Lib/dos_8x3/test_reg.py
View file @
f1e63545
...
...
@@ -48,7 +48,7 @@ print 'case folded search:', cre.search('HELLO WORLD')
print '
__members__
:
', cre.__members__
print '
regs
:
', cre.regs
print '
last
:
', cre.last
print '
translate
:
',
`cre.translate`
print '
translate
:
',
len(cre.translate)
print '
givenpat
:
', cre.givenpat
print '
match
with
pos
:
', cre.match('
hello
world
', 7)
...
...
Lib/dos_8x3/test_sel.py
View file @
f1e63545
...
...
@@ -35,9 +35,9 @@ else:
def
test
():
import
sys
if
sys
.
platform
in
(
'win'
,
'mac'
):
if
sys
.
platform
[:
3
]
in
(
'win'
,
'mac'
):
if
verbose
:
print
"Can't test select easily
"
print
"Can't test select easily
on"
,
sys
.
platform
return
cmd
=
'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
p
=
os
.
popen
(
cmd
,
'r'
)
...
...
Lib/dos_8x3/test_soc.py
View file @
f1e63545
...
...
@@ -8,7 +8,7 @@
# sktobj.shutdown()
from
test_support
import
verbose
from
test_support
import
verbose
,
TestFailed
import
socket
import
os
import
time
...
...
@@ -22,13 +22,13 @@ def missing_ok(str):
print
socket
.
error
print
socket
.
AF_INET
socket
.
AF_INET
print
socket
.
SOCK_STREAM
print
socket
.
SOCK_DGRAM
print
socket
.
SOCK_RAW
print
socket
.
SOCK_RDM
print
socket
.
SOCK_SEQPACKET
socket
.
SOCK_STREAM
socket
.
SOCK_DGRAM
socket
.
SOCK_RAW
socket
.
SOCK_RDM
socket
.
SOCK_SEQPACKET
for
optional
in
(
"AF_UNIX"
,
...
...
@@ -65,6 +65,7 @@ for optional in ("AF_UNIX",
):
missing_ok
(
optional
)
socktype
=
socket
.
socket_type
hostname
=
socket
.
gethostname
()
ip
=
socket
.
gethostbyname
(
hostname
)
hname
,
aliases
,
ipaddrs
=
socket
.
gethostbyaddr
(
ip
)
...
...
@@ -89,43 +90,45 @@ except socket.error:
pass
canfork
=
hasattr
(
os
,
'fork'
)
try
:
PORT
=
50007
if
os
.
fork
():
if
not
canfork
or
os
.
fork
():
# parent is server
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
s
.
bind
(
hostname
,
PORT
)
s
.
listen
(
1
)
if
verbose
:
print
'parent accepting'
conn
,
addr
=
s
.
accept
()
if
verbose
:
print
'connected by'
,
addr
# couple of interesting tests while we've got a live socket
f
=
conn
.
fileno
()
if
verbose
:
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
canfork
:
conn
,
addr
=
s
.
accept
()
if
verbose
:
print
'connected by'
,
addr
# couple of interesting tests while we've got a live socket
f
=
conn
.
fileno
()
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
print
'fileno:'
,
f
p
=
conn
.
getpeername
()
if
verbose
:
print
'peer:'
,
p
n
=
conn
.
getsockname
()
if
verbose
:
print
'sockname:'
,
n
f
=
conn
.
makefile
()
if
verbose
:
print
'file obj:'
,
f
while
1
:
data
=
conn
.
recv
(
1024
)
if
not
data
:
break
if
verbose
:
print
'received:'
,
data
conn
.
send
(
data
)
conn
.
close
()
else
:
try
:
# child is client
time
.
sleep
(
1
)
time
.
sleep
(
5
)
s
=
socket
.
socket
(
socket
.
AF_INET
,
socket
.
SOCK_STREAM
)
if
verbose
:
print
'child connecting'
...
...
@@ -138,5 +141,5 @@ try:
s
.
close
()
finally
:
os
.
_exit
(
1
)
except
socket
.
error
:
pass
except
socket
.
error
,
msg
:
raise
TestFailed
,
msg
Lib/dos_8x3/test_str.py
View file @
f1e63545
#! /usr/bin/env python
# Sanity checker for time.strftime
import
time
,
calendar
,
sys
,
string
,
os
from
test_support
import
verbose
import
strop
,
sys
def
main
():
global
verbose
now
=
time
.
time
()
strftest
(
now
)
verbose
=
0
# Try a bunch of dates and times, chosen to vary through time of
# day and daylight saving time
for
j
in
range
(
-
5
,
5
):
for
i
in
range
(
25
):
strftest
(
now
+
(
i
+
j
*
100
)
*
23
*
3603
)
def
strftest
(
now
):
def
test
(
name
,
input
,
output
,
*
args
):
if
verbose
:
print
"strftime test for"
,
time
.
ctime
(
now
)
nowsecs
=
int
(
now
)
gmt
=
time
.
gmtime
(
now
)
now
=
time
.
localtime
(
now
)
print
'string.%s%s =? %s... '
%
(
name
,
(
input
,)
+
args
,
output
),
f
=
getattr
(
strop
,
name
)
try
:
value
=
apply
(
f
,
(
input
,)
+
args
)
except
:
value
=
sys
.
exc_type
if
value
!=
output
:
if
verbose
:
print
'no'
print
f
,
`input`
,
`output`
,
`value`
else
:
if
verbose
:
print
'yes'
if
now
[
3
]
<
12
:
ampm
=
'AM'
else
:
ampm
=
'PM'
test
(
'atoi'
,
" 1 "
,
1
)
test
(
'atoi'
,
" 1x"
,
ValueError
)
test
(
'atoi'
,
" x1 "
,
ValueError
)
test
(
'atol'
,
" 1 "
,
1L
)
test
(
'atol'
,
" 1x "
,
ValueError
)
test
(
'atol'
,
" x1 "
,
ValueError
)
test
(
'atof'
,
" 1 "
,
1.0
)
test
(
'atof'
,
" 1x "
,
ValueError
)
test
(
'atof'
,
" x1 "
,
ValueError
)
jan1
=
time
.
localtime
(
time
.
mktime
((
now
[
0
],
1
,
1
)
+
(
0
,)
*
6
))
test
(
'capitalize'
,
' hello '
,
' hello '
)
test
(
'capitalize'
,
'hello '
,
'Hello '
)
test
(
'find'
,
'abcdefghiabc'
,
0
,
'abc'
)
test
(
'find'
,
'abcdefghiabc'
,
9
,
'abc'
,
1
)
test
(
'find'
,
'abcdefghiabc'
,
-
1
,
'def'
,
4
)
test
(
'rfind'
,
'abcdefghiabc'
,
9
,
'abc'
)
test
(
'lower'
,
'HeLLo'
,
'hello'
)
test
(
'upper'
,
'HeLLo'
,
'HELLO'
)
if
now
[
8
]:
tz
=
time
.
tzname
[
1
]
else
:
tz
=
time
.
tzname
[
0
]
transtable
=
'
\
000
\
001
\
002
\
003
\
004
\
005
\
006
\
007
\
010
\
011
\
012
\
013
\
014
\
015
\
016
\
017
\
020
\
021
\
022
\
023
\
024
\
025
\
026
\
027
\
030
\
031
\
032
\
033
\
034
\
035
\
036
\
037
!"#$%&
\
'
()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[
\
\
]^_`xyzdefghijklmnopqrstuvwxyz{|}~
\
177
\
200
\
201
\
202
\
203
\
204
\
205
\
206
\
207
\
210
\
211
\
212
\
213
\
214
\
215
\
216
\
217
\
220
\
221
\
222
\
223
\
224
\
225
\
226
\
227
\
230
\
231
\
232
\
233
\
234
\
235
\
236
\
237
\
240
\
241
\
242
\
243
\
244
\
245
\
246
\
247
\
250
\
251
\
252
\
253
\
254
\
255
\
256
\
257
\
260
\
261
\
262
\
263
\
264
\
265
\
266
\
267
\
270
\
271
\
272
\
273
\
274
\
275
\
276
\
277
\
300
\
301
\
302
\
303
\
304
\
305
\
306
\
307
\
310
\
311
\
312
\
313
\
314
\
315
\
316
\
317
\
320
\
321
\
322
\
323
\
324
\
325
\
326
\
327
\
330
\
331
\
332
\
333
\
334
\
335
\
336
\
337
\
340
\
341
\
342
\
343
\
344
\
345
\
346
\
347
\
350
\
351
\
352
\
353
\
354
\
355
\
356
\
357
\
360
\
361
\
362
\
363
\
364
\
365
\
366
\
367
\
370
\
371
\
372
\
373
\
374
\
375
\
376
\
377
'
if
now
[
3
]
>
12
:
clock12
=
now
[
3
]
-
12
elif
now
[
3
]
>
0
:
clock12
=
now
[
3
]
else
:
clock12
=
12
test
(
'maketrans'
,
'abc'
,
transtable
,
'xyz'
)
test
(
'maketrans'
,
'abc'
,
ValueError
,
'xyzq'
)
expectations
=
(
(
'%A'
,
calendar
.
day_name
[
now
[
6
]],
'full weekday name'
),
(
'%a'
,
calendar
.
day_abbr
[
now
[
6
]],
'abbreviated weekday name'
),
(
'%B'
,
calendar
.
month_name
[
now
[
1
]],
'full month name'
),
(
'%b'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%h'
,
calendar
.
month_abbr
[
now
[
1
]],
'abbreviated month name'
),
(
'%c'
,
fixasctime
(
time
.
asctime
(
now
)),
'near-asctime() format'
),
(
'%D'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'mm/dd/yy'
),
(
'%d'
,
'%02d'
%
now
[
2
],
'day of month as number (00-31)'
),
(
'%e'
,
'%2d'
%
now
[
2
],
'day of month as number, blank padded ( 0-31)'
),
(
'%H'
,
'%02d'
%
now
[
3
],
'hour (00-23)'
),
(
'%I'
,
'%02d'
%
clock12
,
'hour (01-12)'
),
(
'%j'
,
'%03d'
%
now
[
7
],
'julian day (001-366)'
),
(
'%M'
,
'%02d'
%
now
[
4
],
'minute, (00-59)'
),
(
'%m'
,
'%02d'
%
now
[
1
],
'month as number (01-12)'
),
(
'%p'
,
ampm
,
'AM or PM as appropriate'
),
(
'%R'
,
'%02d:%02d'
%
(
now
[
3
],
now
[
4
]),
'%H:%M'
),
(
'%r'
,
'%02d:%02d:%02d %s'
%
(
clock12
,
now
[
4
],
now
[
5
],
ampm
),
'%I:%M:%S %p'
),
(
'%S'
,
'%02d'
%
now
[
5
],
'seconds of current time (00-60)'
),
(
'%T'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%X'
,
'%02d:%02d:%02d'
%
(
now
[
3
],
now
[
4
],
now
[
5
]),
'%H:%M:%S'
),
(
'%U'
,
'%02d'
%
((
now
[
7
]
+
jan1
[
6
])
/
7
),
'week number of the year (Sun 1st)'
),
(
'%W'
,
'%02d'
%
((
now
[
7
]
+
(
jan1
[
6
]
-
1
)
%
7
)
/
7
),
'week number of the year (Mon 1st)'
),
(
'%w'
,
'%d'
%
((
1
+
now
[
6
])
%
7
),
'weekday as a number (Sun 1st)'
),
(
'%x'
,
'%02d/%02d/%02d'
%
(
now
[
1
],
now
[
2
],
(
now
[
0
]
%
100
)),
'%m/%d/%y %H:%M:%S'
),
(
'%Y'
,
'%d'
%
now
[
0
],
'year with century'
),
(
'%y'
,
'%02d'
%
(
now
[
0
]
%
100
),
'year without century'
),
(
'%Z'
,
tz
,
'time zone name'
),
(
'%%'
,
'%'
,
'single percent sign'
),
)
test
(
'split'
,
'this is the split function'
,
[
'this'
,
'is'
,
'the'
,
'split'
,
'function'
])
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'|'
)
test
(
'split'
,
'a|b|c|d'
,
[
'a'
,
'b'
,
'c|d'
],
'|'
,
2
)
nonstandard_expectations
=
(
(
'%C'
,
'%02d'
%
(
now
[
0
]
/
100
),
'century'
),
# This is for IRIX; on Solaris, %C yields date(1) format.
# Tough.
(
'%k'
,
'%2d'
%
now
[
3
],
'hour, blank padded ( 0-23)'
),
(
'%s'
,
'%d'
%
nowsecs
,
'seconds since the Epoch in UCT'
),
(
'%3y'
,
'%03d'
%
(
now
[
0
]
%
100
),
'year without century rendered using fieldwidth'
),
(
'%n'
,
'
\
n
'
,
'newline character'
),
(
'%t'
,
'
\
t
'
,
'tab character'
),
)
# join now works with any sequence type
class
Sequence
:
def
__init__
(
self
):
self
.
seq
=
'wxyz'
def
__len__
(
self
):
return
len
(
self
.
seq
)
def
__getitem__
(
self
,
i
):
return
self
.
seq
[
i
]
if
verbose
:
print
"Strftime test, platform: %s, Python version: %s"
%
\
(
sys
.
platform
,
string
.
split
(
sys
.
version
)[
0
]
)
test
(
'join'
,
[
'a'
,
'b'
,
'c'
,
'd'
],
'a b c d'
)
test
(
'join'
,
(
'a'
,
'b'
,
'c'
,
'd'
),
'abcd'
,
''
)
test
(
'join'
,
Sequence
(),
'w x y z'
)
for
e
in
expectations
:
try
:
result
=
time
.
strftime
(
e
[
0
],
now
)
except
ValueError
,
error
:
print
"Standard '%s' format gave error:"
%
e
[
0
],
error
continue
if
result
==
e
[
1
]:
continue
if
result
[
0
]
==
'%'
:
print
"Does not support standard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
print
"Conflict for %s (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
# try a few long ones
print
strop
.
join
([
'x'
*
100
]
*
100
,
':'
)
print
strop
.
join
((
'x'
*
100
,)
*
100
,
':'
)
for
e
in
nonstandard_expectations
:
try
:
result
=
time
.
strftime
(
e
[
0
],
now
)
except
ValueError
,
result
:
if
verbose
:
print
"Error for nonstandard '%s' format (%s): %s"
%
\
(
e
[
0
],
e
[
2
],
str
(
error
))
continue
if
result
==
e
[
1
]:
if
verbose
:
print
"Supports nonstandard '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
elif
result
[
0
]
==
'%'
:
if
verbose
:
print
"Does not appear to support '%s' format (%s)"
%
(
e
[
0
],
e
[
2
])
else
:
if
verbose
:
print
"Conflict for nonstandard '%s' format (%s):"
%
(
e
[
0
],
e
[
2
])
print
" Expected %s, but got %s"
%
(
e
[
1
],
result
)
test
(
'strip'
,
' hello '
,
'hello'
)
test
(
'lstrip'
,
' hello '
,
'hello '
)
test
(
'rstrip'
,
' hello '
,
' hello'
)
def
fixasctime
(
s
):
if
s
[
8
]
==
' '
:
s
=
s
[:
8
]
+
'0'
+
s
[
9
:]
return
s
test
(
'swapcase'
,
'HeLLo cOmpUteRs'
,
'hEllO CoMPuTErS'
)
test
(
'translate'
,
'xyzabcdef'
,
'xyzxyz'
,
transtable
,
'def'
)
main
()
strop
.
whitespace
strop
.
lowercase
strop
.
uppercase
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment