summaryrefslogtreecommitdiffstats
path: root/net/base/file_stream_unittest.cc
diff options
context:
space:
mode:
authorsky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 15:49:20 +0000
committersky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-09 15:49:20 +0000
commit0643a49e311c0ddb17f292f525ebd11f51f158a1 (patch)
treede8f50c0070fd6ff52eced3bdd96c747f1e9ea45 /net/base/file_stream_unittest.cc
parentf3e8965444b0b615ed8aabfcacc5840f6684c0c5 (diff)
downloadchromium_src-0643a49e311c0ddb17f292f525ebd11f51f158a1.zip
chromium_src-0643a49e311c0ddb17f292f525ebd11f51f158a1.tar.gz
chromium_src-0643a49e311c0ddb17f292f525ebd11f51f158a1.tar.bz2
Adds truncate to FileStream.
BUG=none TEST=none Review URL: http://codereview.chromium.org/39301 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11245 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/file_stream_unittest.cc')
-rw-r--r--net/base/file_stream_unittest.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/net/base/file_stream_unittest.cc b/net/base/file_stream_unittest.cc
index 318eb93..966b9ff 100644
--- a/net/base/file_stream_unittest.cc
+++ b/net/base/file_stream_unittest.cc
@@ -406,4 +406,31 @@ TEST_F(FileStreamTest, BasicReadWrite) {
EXPECT_EQ(kTestDataSize * 2, file_size);
}
+// Tests truncating a file.
+TEST_F(FileStreamTest, Truncate) {
+ int flags = base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE;
+
+ net::FileStream write_stream;
+ ASSERT_EQ(net::OK, write_stream.Open(temp_file_path(), flags));
+
+ // Write some data to the file.
+ const char test_data[] = "0123456789";
+ write_stream.Write(test_data, arraysize(test_data), NULL);
+
+ // Truncate the file.
+ ASSERT_EQ(4, write_stream.Truncate(4));
+
+ // Write again.
+ write_stream.Write(test_data, 4, NULL);
+
+ // Close the stream.
+ write_stream.Close();
+
+ // Read in the contents and make sure we get back what we expected.
+ std::string read_contents;
+ file_util::ReadFileToString(temp_file_path(), &read_contents);
+
+ ASSERT_TRUE(read_contents == "01230123");
+}
+
// TODO(erikkay): more READ_WRITE tests?