summaryrefslogtreecommitdiffstats
path: root/webkit/appcache/appcache_response_unittest.cc
diff options
context:
space:
mode:
authormichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 03:26:41 +0000
committermichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-06 03:26:41 +0000
commitfd4882e6faab19e1de6d791acebfa3b34faf5701 (patch)
tree2fa95bddd8b6189d0dd7b850d24da0b7ab382e28 /webkit/appcache/appcache_response_unittest.cc
parent12e8fecd3923d3ace7fe3f505ba3fa490b5417c1 (diff)
downloadchromium_src-fd4882e6faab19e1de6d791acebfa3b34faf5701.zip
chromium_src-fd4882e6faab19e1de6d791acebfa3b34faf5701.tar.gz
chromium_src-fd4882e6faab19e1de6d791acebfa3b34faf5701.tar.bz2
AppCache quota tracking groundwork, store response sizes in the SQL database.
TEST=updated existing unittests BUG=none Review URL: http://codereview.chromium.org/523046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35609 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/appcache_response_unittest.cc')
-rw-r--r--webkit/appcache/appcache_response_unittest.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/webkit/appcache/appcache_response_unittest.cc b/webkit/appcache/appcache_response_unittest.cc
index 824e73c..2989592 100644
--- a/webkit/appcache/appcache_response_unittest.cc
+++ b/webkit/appcache/appcache_response_unittest.cc
@@ -371,6 +371,37 @@ class AppCacheResponseTest : public testing::Test {
TestFinished();
}
+ // AmountWritten ----------------------------------------------------
+
+ void AmountWritten() {
+ static const char kHttpHeaders[] =
+ "HTTP/1.0 200 OK\0\0";
+ std::string raw_headers(kHttpHeaders, arraysize(kHttpHeaders));
+ net::HttpResponseInfo* head = MakeHttpResponseInfo(raw_headers);
+ int expected_amount_written =
+ GetHttpResponseInfoSize(head) + kNumBlocks * kBlockSize;
+
+ // Push tasks in reverse order.
+ PushNextTask(method_factory_.NewRunnableMethod(
+ &AppCacheResponseTest::Verify_AmountWritten, expected_amount_written));
+ for (int i = 0; i < kNumBlocks; ++i) {
+ PushNextTask(method_factory_.NewRunnableMethod(
+ &AppCacheResponseTest::WriteOneBlock, kNumBlocks - i));
+ }
+ PushNextTask(method_factory_.NewRunnableMethod(
+ &AppCacheResponseTest::WriteResponseHead, head));
+
+ writer_.reset(service_->storage()->CreateResponseWriter(GURL()));
+ written_response_id_ = writer_->response_id();
+ ScheduleNextTask();
+ }
+
+ void Verify_AmountWritten(int expected_amount_written) {
+ EXPECT_EQ(expected_amount_written, writer_->amount_written());
+ TestFinished();
+ }
+
+
// WriteThenVariouslyReadResponse -------------------------------------------
void WriteThenVariouslyReadResponse() {
@@ -658,6 +689,10 @@ TEST_F(AppCacheResponseTest, LoadResponseInfo_Hit) {
RunTestOnIOThread(&AppCacheResponseTest::LoadResponseInfo_Hit);
}
+TEST_F(AppCacheResponseTest, AmountWritten) {
+ RunTestOnIOThread(&AppCacheResponseTest::AmountWritten);
+}
+
TEST_F(AppCacheResponseTest, WriteThenVariouslyReadResponse) {
RunTestOnIOThread(&AppCacheResponseTest::WriteThenVariouslyReadResponse);
}