diff options
author | hidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-04 14:48:24 +0000 |
---|---|---|
committer | hidehiko@chromium.org <hidehiko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-04 14:48:24 +0000 |
commit | 166dfbbe59d85acac3e15aa6792634d6b2dab43a (patch) | |
tree | 16d727ad4bdf5b5e9a4938f9bd6e92028ff41642 /chrome/browser/google_apis/test_util.cc | |
parent | da0f24e6da315fecdc3a164d6495f5213827b046 (diff) | |
download | chromium_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.cc | 32 |
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 |