From: <mie...@us...> - 2009-05-07 00:21:22
|
Revision: 4611 http://oorexx.svn.sourceforge.net/oorexx/?rev=4611&view=rev Author: miesfeld Date: 2009-05-07 00:21:19 +0000 (Thu, 07 May 2009) Log Message: ----------- Add tests that would have caught some recent bugs, if we had had them Modified Paths: -------------- test/trunk/ooRexx/base/bif/LINEIN.testGroup test/trunk/ooRexx/base/bif/STREAM.testGroup test/trunk/ooRexx/base/class/Stream.testGroup Modified: test/trunk/ooRexx/base/bif/LINEIN.testGroup =================================================================== --- test/trunk/ooRexx/base/bif/LINEIN.testGroup 2009-05-06 19:20:21 UTC (rev 4610) +++ test/trunk/ooRexx/base/bif/LINEIN.testGroup 2009-05-07 00:21:19 UTC (rev 4611) @@ -128,4 +128,28 @@ call lineout file2 +-- Regression test for bug 2772244 +::method test_lineIn_long_2772244 + + src = .array~new(4) + src[1] = '<av0700_2 xmlns="urn:xxxx.no/ec">' + src[2] = '<Header><EcMessageID /><SourceRef>PO_enh_888888_2009-04-14</SourceRef><Version>1.0</Version><UserName /><SecurityToken /><SystemCode>pppp</SystemCode><TimestampPublish>2009-04-14 00:01:00</TimestampPublish><TimestampEcIn /><TimestampEcOut /><TimestampSubscribe /></Header><dagsoppgjor><organisasjonsnavn>yyyyy</organisasjonsnavn><divisjon>520</divisjon><kategori>PN pppp</kategori><bilagsid>pppp-2009-04-14</bilagsid><bilagsdato>2009-04-14</bilagsdato><bilagslinje><konto>29990</konto><kost_enhetsnr>888888</kost_enhetsnr><oppr_enhetsnr>888888</oppr_enhetsnr><belop>-652643</belop></bilagslinje>' + src[3] = '<bilagslinje><konto>15790</konto><kost_enhetsnr>888888</kost_enhetsnr><oppr_enhetsnr>888888</oppr_enhetsnr><belop>652643</belop></bilagslinje>' + src[4] = '</dagsoppgjor></av0700_2>' + + fileName = createFile(src, "delMe.test_lineIn_long_2772244") + self~assertTrue(fileName \== "") + self~lineInTestingFile = fileName + + count = 0 + do i = 1 to 999 + if lines(fileName) = 0 then leave + count += 1 + l = linein(fileName) + self~assertSame(src[i], l) + end + + self~assertSame(src~items, count) + + -- End of class: LINEIN.testGroup Modified: test/trunk/ooRexx/base/bif/STREAM.testGroup =================================================================== --- test/trunk/ooRexx/base/bif/STREAM.testGroup 2009-05-06 19:20:21 UTC (rev 4610) +++ test/trunk/ooRexx/base/bif/STREAM.testGroup 2009-05-07 00:21:19 UTC (rev 4611) @@ -388,11 +388,81 @@ ret = stream(fileName, 'C', "close") self~assertSame("READY:", ret) - ret = stream(fileName, 'C', 'Seek =1 line' ) + -- The bug was, doing a seek on a closed stream caused a crash + ret = stream(fileName, 'C', 'Seek =1 line') self~assertSame(1, ret) +-- Regression test for bug 2769867 +::method test_seek_2769867 + src = .array~new(5) + do i = 1 to 5 + src[i] = i~copies(10) + end + bytes = (5 * 10) + (5 * .endOfLine~length) + + fileName = createFile(src, "delMe.test_stream_seek_2769867") + self~assertTrue(fileName \== "") + self~streamTestingFile = fileName + + size = stream(fileName, 'C', 'Query Size') + self~assertSame(bytes, size) + + ret = stream(fileName, 'C', 'Open Write') + self~assertSame("READY:", ret) + + offSet = size - (10 + .endOfLine~length) + 1 + + ret = stream(fileName, 'C', 'Seek' offSet) + self~assertSame(offSet, ret) + + -- write new last line + ret = lineout(fileName, 6~copies(10)) + ret = stream(fileName, 'C', 'Close') + self~assertSame("READY:", ret) + + -- Size should remain the same. + size = stream(fileName, 'C', 'Query Size') + self~assertSame(bytes, size) + + ret = stream(fileName, 'C', 'Open Read') + self~assertSame("READY:", ret) + + -- Lines except 5th line should be the same + do i = 1 to 4 + l = linein(fileName) + self~assertSame(src[i], l) + end + l = linein(fileName) + self~assertSame(6~copies(10), l) + + +-- Regression test for bug 2787994 +::method test_seek_closedFile_2787994 + + str = '1234567890' + fileName = createFile(.array~of(str), "delMe.test_stream_seek2787994 ") + self~assertTrue(fileName \== "") + self~streamTestingFile = fileName + + ret = stream(fileName, 'C', 'Seek =1 line') + self~assertSame(1, ret) + + -- The above should have implicitly opened the stream, so we should be able to + -- close it. + ret = stream(fileName, 'C', 'close') + self~assertSame("READY:", ret) + + -- To be sure the file got closed, we should be able to delete it. + j = deleteFile(fileName) + self~assertSame(.false, SysFileExists(fileName)) + + -- Since we deleted it, tell tearDown() to skip it. + self~streamTestingFile = .nil + + + /*----------------------------------------------------------------------------*\ STREAM COMMAND 'QUERY' section \*----------------------------------------------------------------------------*/ Modified: test/trunk/ooRexx/base/class/Stream.testGroup =================================================================== --- test/trunk/ooRexx/base/class/Stream.testGroup 2009-05-06 19:20:21 UTC (rev 4610) +++ test/trunk/ooRexx/base/class/Stream.testGroup 2009-05-07 00:21:19 UTC (rev 4611) @@ -213,4 +213,39 @@ f~close +-- Regression test for bug 2772454 +::method test_open_canWrite_2772454 + + str = "1234567890" + fileName = createFile(.array~of(str), "delMe.test_open_bug_2772454") + self~assertTrue(fileName \== "") + self~streamTestingFile = fileName + + f = .stream~new(fileName) + ret = f~open + self~assertSame("READY:", ret) + + ret = f~seek("1 read") + self~assertSame(1, ret) + + bytes = f~charin( , f~chars) + self~assertSame(str || .endOfLine, bytes) + + ret = f~seek("4 write") + self~assertSame(4, ret) + + ret = f~charout("xyz") + self~assertSame(0, ret) + + ret = f~seek("1 read") + self~assertSame(1, ret) + + expected = str~overlay("xyz", 4) || .endOfLine + + bytes = f~charin( , f~chars) + self~assertSame(expected, bytes) + + f~close + + -- End of class: Stream.testGroup This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |