diff --git a/storage/storagefileiojstest/src/main/js/default/test/FileIOStream.test.js b/storage/storagefileiojstest/src/main/js/default/test/FileIOStream.test.js index 7d8a3ca2f7ca85f31d2fbc353656dcde14b55023..8d7956715704029d28009d01cd815f7b87ee9b40 100644 --- a/storage/storagefileiojstest/src/main/js/default/test/FileIOStream.test.js +++ b/storage/storagefileiojstest/src/main/js/default/test/FileIOStream.test.js @@ -1390,19 +1390,18 @@ describe('fileIOTestStream', function () { let fpath = await nextFileName('fileio_test_stream_read_sync_005'); let text = '0123456789abcdefg'; expect(prepareFile(fpath, text)).assertTrue(); + let ss = fileio.createStreamSync(fpath, 'r+'); + expect(ss !== null).assertTrue(); try { - var ss = fileio.createStreamSync(fpath, 'r+'); - expect(ss !== null).assertTrue(); - let len = ss.readSync(new ArrayBuffer(4096), { + ss.readSync(new ArrayBuffer(4096), { position: -1 }); - expect(len == text.length).assertTrue(); - ss.closeSync(); - fileio.unlinkSync(fpath); } catch (e) { - console.log('---fileio_test_stream_read_sync_005 has failed for ' + e); - expect(null).assertFail(); + console.info('fileio_test_stream_read_sync_005 has failed for ' + e); + expect(e.message == "option.position shall be positive number").assertTrue(); + ss.closeSync(); + fileio.unlinkSync(fpath); } }); diff --git a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/read.test.js b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/read.test.js index 61c438d4b2be30e441654d2b271ca3a21370dca7..5745b7b1e73794d4bb2667fffb935a0d458afd66 100644 --- a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/read.test.js +++ b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/read.test.js @@ -123,6 +123,7 @@ describe('fileio_stream_read', function () { expect(ss !== null).assertTrue(); let readout = await ss.read(new ArrayBuffer(4096), {offset: 4096}); expect(readout.bytesRead == 0).assertTrue(); + expect(readout.offset == 4096).assertTrue(); ss.closeSync(); fileio.unlinkSync(fpath); done(); @@ -151,10 +152,15 @@ describe('fileio_stream_read', function () { expect(ss !== null).assertTrue(); let options = { offset: 1, - position:5 + position:6 } let readout = await ss.read(new ArrayBuffer(4096),options); - expect(readout.bytesRead == FILE_CONTENT.length).assertTrue(); + expect(readout.bytesRead == FILE_CONTENT.length-6).assertTrue(); + expect(readout.offset == 1).assertTrue(); + let start = readout.offset; + let end = readout.offset+readout.bytesRead; + let result = String.fromCharCode.apply(null, new Uint8Array(readout.buffer.slice(start,end))); + expect(result== "world").assertTrue(); ss.closeSync(); fileio.unlinkSync(fpath); done(); @@ -267,7 +273,7 @@ describe('fileio_stream_read', function () { /** * @tc.number SUB_DF_FILEIO_STREAM_READASYNC_0900 * @tc.name fileio_test_stream_read_async_009 - * @tc.desc Test read() interface, When the length is negative. + * @tc.desc Test read() interface, When the length is negative,equivalent to omitting the parameter. * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 @@ -279,15 +285,13 @@ describe('fileio_stream_read', function () { let ss = fileio.createStreamSync(fpath, 'r+'); expect(ss !== null).assertTrue(); try { - let readout = await ss.read(new ArrayBuffer(4096), {length: -1}); - console.info("====>"+readout.bytesRead); - done(); - } catch (err) { - console.info('fileio_test_stream_read_async_009 has failed for ' + err); - expect(err.message == "Failed GetReadArg").assertTrue(); + let readout = await ss.read(new ArrayBuffer(16), {offset:13, length: -1}); + expect(readout.bytesRead == 3).assertTrue(); ss.closeSync(); fileio.unlinkSync(fpath); done(); + } catch (err) { + console.info('fileio_test_stream_read_async_009 has failed for ' + err); } }); @@ -340,4 +344,54 @@ describe('fileio_stream_read', function () { console.info('fileio_test_stream_read_async_011 has failed for ' + err); } }); + + /** + * @tc.number SUB_DF_FILEIO_STREAM_READASYNC_1200 + * @tc.name fileio_test_stream_read_async_012 + * @tc.desc Test read() interface, When the position is negative. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_stream_read_async_012', 0, async function (done) { + let fpath = await nextFileName('fileio_test_stream_read_async_012'); + expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); + let ss = fileio.createStreamSync(fpath, 'r+'); + expect(ss !== null).assertTrue(); + try { + await ss.read(new ArrayBuffer(4096), {position:-1}); + } catch (err) { + console.info('fileio_test_stream_read_async_012 has failed for ' + err); + expect(err.message == "Failed GetReadArg").assertTrue(); + ss.closeSync(); + fileio.unlinkSync(fpath); + done(); + } + }); + + /** + * @tc.number SUB_DF_FILEIO_STREAM_READASYNC_1300 + * @tc.name fileio_test_stream_read_async_013 + * @tc.desc Test read() interface,When the parameter type is wrong. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_stream_read_async_013', 0, async function (done) { + let fpath = await nextFileName('fileio_test_stream_read_async_013'); + expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); + let ss = fileio.createStreamSync(fpath, 'r+'); + expect(ss !== null).assertTrue(); + try { + await ss.read(""); + } catch (err) { + console.info('fileio_test_stream_read_async_013 has failed for ' + err); + expect(err.message == "Failed GetReadArg").assertTrue(); + ss.closeSync(); + fileio.unlinkSync(fpath); + done(); + } + }); }); diff --git a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/write.test.js b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/write.test.js index be098244e01596cb7cf0c7a80004f80bb9c9c6f5..f375f3b4bb44169ef0eb1e77ca78dc30b71e1c67 100644 --- a/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/write.test.js +++ b/storage/storagefileiojstest/src/main/js/default/test/module_fileio/class_stream/write.test.js @@ -113,7 +113,7 @@ describe('fileio_stream_write', function () { /** * @tc.number SUB_DF_FILEIO_STREAM_WRITEASYNC_0300 * @tc.name fileio_test_stream_write_async_003 - * @tc.desc Test write() interface,When the length is 1. + * @tc.desc Test write() interface,When the offset is 1 and position is 5. * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 @@ -126,9 +126,14 @@ describe('fileio_stream_write', function () { try { let ss = fileio.createStreamSync(fpath, 'r+'); expect(ss !== null).assertTrue(); - let content = "hello, world"; - let bytesWritten = await ss.write(content, { length: 1, encoding: 'utf-8' }); - expect(bytesWritten == 1).assertTrue(); + let content = "test"; + let bytesWritten = await ss.write(content, {offset:1, position:5, encoding: 'utf-8' }); + expect(bytesWritten == content.length-1).assertTrue(); + let readOut = await ss.read(new ArrayBuffer(4096), {offset:0,position: 0}); + let start = readOut.offset; + let end = readOut.offset+readOut.bytesRead; + let result = String.fromCharCode.apply(null, new Uint8Array(readOut.buffer.slice(start,end))); + expect(result == "helloestrld").assertTrue(); fileio.unlinkSync(fpath); ss.closeSync(); done(); @@ -330,7 +335,7 @@ describe('fileio_stream_write', function () { /** * @tc.number SUB_DF_FILEIO_STREAM_WRITEASYNC_1100 * @tc.name fileio_test_stream_write_async_011 - * @tc.desc Test write() interface,When the length is negative. + * @tc.desc Test write() interface,When the length is negative,equivalent to omitting the parameter. * @tc.size MEDIUM * @tc.type Function * @tc.level Level 0 @@ -343,15 +348,13 @@ describe('fileio_stream_write', function () { expect(ss !== null).assertTrue(); try { let content = "hello, world"; - let number = await ss.write(content, {length:-1}); - console.info("====>"+number); - done(); - } catch (err) { - console.info('fileio_test_stream_write_async_011 has failed for ' + err); - expect(err.message == "Invalid option.length, positive integer is desired").assertTrue(); + let number = await ss.write(content, {offset:1 ,length:-1}); + expect(number == content.length-1).assertTrue(); fileio.unlinkSync(fpath); ss.closeSync(); done(); + } catch (err) { + console.info('fileio_test_stream_write_async_011 has failed for ' + err); } }); @@ -432,4 +435,30 @@ describe('fileio_stream_write', function () { done(); } }); + + /** + * @tc.number SUB_DF_FILEIO_STREAM_WRITEASYNC_1500 + * @tc.name fileio_test_stream_write_async_015 + * @tc.desc Test write() interface,When the position is negative. + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 0 + * @tc.require + */ + it('fileio_test_stream_write_async_015', 0, async function (done) { + let fpath = await nextFileName('fileio_test_stream_write_async_015'); + expect(prepareFile(fpath, FILE_CONTENT)).assertTrue(); + let ss = fileio.createStreamSync(fpath, 'r+'); + expect(ss !== null).assertTrue(); + try { + let content = "hello, world"; + await ss.write(content, {position:-1}); + } catch (err) { + console.info('fileio_test_stream_write_async_015 has failed for ' + err); + expect(err.message == "option.position shall be positive number").assertTrue(); + fileio.unlinkSync(fpath); + ss.closeSync(); + done(); + } + }); });