[Filesystem] Fix the position property when writing non-single-byte-signs 18/247918/3
authorPiotr Kosko/Native/Web API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Wed, 18 Nov 2020 08:15:07 +0000 (09:15 +0100)
committerPiotr Kosko <p.kosko@samsung.com>
Wed, 18 Nov 2020 10:57:13 +0000 (10:57 +0000)
commit6809ac737ae8db2aedaeb6b4c279c306a7f16bfd
treee7ac9e3d12047bc123a29df5342213f31dbbd7d6
parentc625d92f28452648e1f4134446ad524bbc09150c
[Filesystem] Fix the position property when writing non-single-byte-signs

[Bug] When FileStream object writes non-single-byte-signs, position members
was not properly updated.

[Verification] TCT filesystem - 100%
Below code:
(function writeKoreanOldAPI(fileName) {
    var dirPath = "documents/";
    var fullPath = dirPath + fileName;
    console.log("fullPath : " + fullPath);
    console.log("fileName : " + fileName);

    tizen.filesystem.resolve(fullPath, function (fileResult) {
        fileResult.openStream("w", function (fileStream) {
            fileStream.write("한글 확인 파일입니다\n");
            fileStream.write("한글111 확인 파일입니다\n");
            fileStream.write("한글22222 확인 파일입니다\n");

            fileStream.write("한글 확인 파일입니다\n");
            fileStream.write("한글 확인111 파일입니다\n");
            fileStream.write("한글 확인22222 파일입니다\n");

            fileStream.write("한글 확인 파일입니다\n");
            fileStream.write("한글 확인 파일입니다111\n");
            fileStream.write("한글 확인 파일입니다22222\n");
            fileStream.write("겆\n");
            fileStream.write("돐\n");

            fileStream.close();
        },
            function (e) {
                console.log("Error " + e.message);
            }, "UTF-8");

        fileResult.readAsText(
            function (str) {
                console.log("The file content:\n" + str);
                oldAPIResult = str;
            },
            function (e) {
                console.log("Error " + e.message);
            },
            "UTF-8");
    },
        function (e) {
            console.log("Error:" + e + " Create a file.");
            tizen.filesystem.resolve(dirPath, (dir) => { newFile = dir.createFile(fileName); });
            writeKoreanOldAPI(fileName);
        }, "rw");

})("test")

creates file with size of 302 bytes and content:
한글 확인 파일입니다
한글111 확인 파일입니다
한글22222 확인 파일입니다
한글 확인 파일입니다
한글 확인111 파일입니다
한글 확인22222 파일입니다
한글 확인 파일입니다
한글 확인 파일입니다111
한글 확인 파일입니다22222



Change-Id: I8ff3c158ed2b284e1cdeaa93c339952fef6915b0
src/filesystem/filesystem_instance.cc
src/filesystem/js/file_stream.js