summaryrefslogtreecommitdiffstats
path: root/chrome/browser/google_apis/test_util.cc
diff options
context:
space:
mode:
authorhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-04 14:48:24 +0000
committerhidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-04 14:48:24 +0000
commit166dfbbe59d85acac3e15aa6792634d6b2dab43a (patch)
tree16d727ad4bdf5b5e9a4938f9bd6e92028ff41642 /chrome/browser/google_apis/test_util.cc
parentda0f24e6da315fecdc3a164d6495f5213827b046 (diff)
downloadchromium_src-166dfbbe59d85acac3e15aa6792634d6b2dab43a.zip
chromium_src-166dfbbe59d85acac3e15aa6792634d6b2dab43a.tar.gz
chromium_src-166dfbbe59d85acac3e15aa6792634d6b2dab43a.tar.bz2
Implement ResumeUploadOperation on Drive API v2.
This is a part of implementing an upload function on Drive API v2. Also added more (scenario like) test cases for uploading related operations. BUG=148632 TEST=Ran unit_tests Review URL: https://chromiumcodereview.appspot.com/12388067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185894 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/google_apis/test_util.cc')
-rw-r--r--chrome/browser/google_apis/test_util.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/chrome/browser/google_apis/test_util.cc b/chrome/browser/google_apis/test_util.cc
index b76f24f..11feb40 100644
--- a/chrome/browser/google_apis/test_util.cc
+++ b/chrome/browser/google_apis/test_util.cc
@@ -12,6 +12,8 @@
#include "base/pending_task.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
#include "base/threading/sequenced_worker_pool.h"
#include "chrome/browser/google_apis/drive_api_parser.h"
#include "chrome/browser/google_apis/gdata_wapi_operations.h"
@@ -279,5 +281,35 @@ bool VerifyJsonData(const base::FilePath& expected_json_file_path,
return true;
}
+bool ParseContentRangeHeader(const std::string& value,
+ int64* start_position,
+ int64* end_position,
+ int64* length) {
+ DCHECK(start_position);
+ DCHECK(end_position);
+ DCHECK(length);
+
+ std::string remaining;
+ if (!RemovePrefix(value, "bytes ", &remaining))
+ return false;
+
+ std::vector<std::string> parts;
+ base::SplitString(remaining, '/', &parts);
+ if (parts.size() != 2U)
+ return false;
+
+ const std::string range = parts[0];
+ if (!base::StringToInt64(parts[1], length))
+ return false;
+
+ parts.clear();
+ base::SplitString(range, '-', &parts);
+ if (parts.size() != 2U)
+ return false;
+
+ return (base::StringToInt64(parts[0], start_position) &&
+ base::StringToInt64(parts[1], end_position));
+}
+
} // namespace test_util
} // namespace google_apis