Mercurial > hg > jgplsrc
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 ' + +