diff test/g1x30.ijs @ 0:e0bbaa717f41 draft default tip

lol J
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 25 Nov 2013 11:56:30 -0500
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/test/g1x30.ijs
@@ -0,0 +1,68 @@
+NB. 1!:30 ---------------------------------------------------------------
+
+pc=: (9!:12 '') e. 0 1 2 6 7   NB. works on DOS or Windows only
+
+3 : 0 ''
+if. pc do.
+
+write  =: 1!:2
+open   =: 1!:21
+close  =: 1!:22
+locks  =: 1!:30
+lock   =: 1!:31
+unlock =: 1!:32
+
+f =: <'foo.x'
+(128$'a') write f
+h =: open f
+
+k =: locks ''
+assert. lock h,0 8
+assert. lock h,8 16
+assert. 0 -: lock h,0 16
+assert. ((h,0 8),:h,8 16)e.locks ''
+
+assert. unlock h,0 8
+assert. unlock h,8 16
+assert. k -: locks ''
+
+assert. lock h,0 8
+assert. lock h,8 16
+assert. lock h,64 1
+close h
+assert. k -: locks ''
+
+assert. 'domain error'      -: lock   etx 'a'
+assert. 'domain error'      -: lock   etx 'abc'
+assert. 'domain error'      -: lock   etx 3.45
+assert. 'domain error'      -: lock   etx 3j4
+assert. 'domain error'      -: lock   etx 0;1;0
+assert. 'domain error'      -: lock   etx 4;5;6
+
+assert. 'file number error' -: lock   etx 0 0 1
+assert. 'file number error' -: lock   etx 1 4 5
+assert. 'file number error' -: lock   etx 2 4 5
+assert. 'file number error' -: lock   etx 12345 12346,"0 1 [ 4 5
+
+assert. 'domain error'      -: unlock etx 'abc'
+assert. 'domain error'      -: unlock etx 3.45 5
+assert. 'domain error'      -: unlock etx 3j4 
+assert. 'domain error'      -: unlock etx 0;1;0
+assert. 'domain error'      -: unlock etx 4;5;6
+assert. 'domain error'      -: unlock etx 0 0 1
+
+assert. 'index error'       -: unlock etx 3
+assert. 'index error'       -: unlock etx 4
+assert. 'index error'       -: unlock etx 1234 5 
+assert. 'index error'       -: unlock etx i.2 4
+assert. 'index error'       -: unlock etx 1 4 5
+assert. 'index error'       -: unlock etx 2 4 5
+assert. 'index error'       -: unlock etx 12345 12346,"0 1 [ 4 5
+end.
+1
+)
+
+
+4!:55 ;:'close f h k lock locks open pc unlock write '
+
+