| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/macros.h" |
| 5 #include "net/http/http_byte_range.h" | 6 #include "net/http/http_byte_range.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 7 | 8 |
| 8 namespace net { | 9 namespace net { |
| 9 | 10 |
| 10 namespace { | 11 namespace { |
| 11 | 12 |
| 12 TEST(HttpByteRangeTest, ValidRanges) { | 13 TEST(HttpByteRangeTest, ValidRanges) { |
| 13 const struct { | 14 const struct { |
| 14 int64 first_byte_position; | 15 int64_t first_byte_position; |
| 15 int64 last_byte_position; | 16 int64_t last_byte_position; |
| 16 int64 suffix_length; | 17 int64_t suffix_length; |
| 17 bool valid; | 18 bool valid; |
| 18 } tests[] = { | 19 } tests[] = { |
| 19 { -1, -1, 0, false }, | 20 { -1, -1, 0, false }, |
| 20 { 0, 0, 0, true }, | 21 { 0, 0, 0, true }, |
| 21 { -10, 0, 0, false }, | 22 { -10, 0, 0, false }, |
| 22 { 10, 0, 0, false }, | 23 { 10, 0, 0, false }, |
| 23 { 10, -1, 0, true }, | 24 { 10, -1, 0, true }, |
| 24 { -1, -1, -1, false }, | 25 { -1, -1, -1, false }, |
| 25 { -1, 50, 0, false }, | 26 { -1, 50, 0, false }, |
| 26 { 10, 10000, 0, true }, | 27 { 10, 10000, 0, true }, |
| 27 { -1, -1, 100000, true }, | 28 { -1, -1, 100000, true }, |
| 28 }; | 29 }; |
| 29 | 30 |
| 30 for (size_t i = 0; i < arraysize(tests); ++i) { | 31 for (size_t i = 0; i < arraysize(tests); ++i) { |
| 31 HttpByteRange range; | 32 HttpByteRange range; |
| 32 range.set_first_byte_position(tests[i].first_byte_position); | 33 range.set_first_byte_position(tests[i].first_byte_position); |
| 33 range.set_last_byte_position(tests[i].last_byte_position); | 34 range.set_last_byte_position(tests[i].last_byte_position); |
| 34 range.set_suffix_length(tests[i].suffix_length); | 35 range.set_suffix_length(tests[i].suffix_length); |
| 35 EXPECT_EQ(tests[i].valid, range.IsValid()); | 36 EXPECT_EQ(tests[i].valid, range.IsValid()); |
| 36 } | 37 } |
| 37 } | 38 } |
| 38 | 39 |
| 39 TEST(HttpByteRangeTest, SetInstanceSize) { | 40 TEST(HttpByteRangeTest, SetInstanceSize) { |
| 40 const struct { | 41 const struct { |
| 41 int64 first_byte_position; | 42 int64_t first_byte_position; |
| 42 int64 last_byte_position; | 43 int64_t last_byte_position; |
| 43 int64 suffix_length; | 44 int64_t suffix_length; |
| 44 int64 instance_size; | 45 int64_t instance_size; |
| 45 bool expected_return_value; | 46 bool expected_return_value; |
| 46 int64 expected_lower_bound; | 47 int64_t expected_lower_bound; |
| 47 int64 expected_upper_bound; | 48 int64_t expected_upper_bound; |
| 48 } tests[] = { | 49 } tests[] = { |
| 49 { -10, 0, -1, 0, false, -1, -1 }, | 50 { -10, 0, -1, 0, false, -1, -1 }, |
| 50 { 10, 0, -1, 0, false, -1, -1 }, | 51 { 10, 0, -1, 0, false, -1, -1 }, |
| 51 // Zero instance size is valid, this is the case that user has to handle. | 52 // Zero instance size is valid, this is the case that user has to handle. |
| 52 { -1, -1, -1, 0, true, 0, -1 }, | 53 { -1, -1, -1, 0, true, 0, -1 }, |
| 53 { -1, -1, 500, 0, true, 0, -1 }, | 54 { -1, -1, 500, 0, true, 0, -1 }, |
| 54 { -1, 50, -1, 0, false, -1, -1 }, | 55 { -1, 50, -1, 0, false, -1, -1 }, |
| 55 { -1, -1, 500, 300, true, 0, 299 }, | 56 { -1, -1, 500, 300, true, 0, 299 }, |
| 56 { -1, -1, -1, 100, true, 0, 99 }, | 57 { -1, -1, -1, 100, true, 0, 99 }, |
| 57 { 10, -1, -1, 100, true, 10, 99 }, | 58 { 10, -1, -1, 100, true, 10, 99 }, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 {HttpByteRange::Suffix(100), "bytes=-100"}, | 94 {HttpByteRange::Suffix(100), "bytes=-100"}, |
| 94 }; | 95 }; |
| 95 for (size_t i = 0; i < arraysize(tests); ++i) { | 96 for (size_t i = 0; i < arraysize(tests); ++i) { |
| 96 EXPECT_EQ(tests[i].expected, tests[i].range.GetHeaderValue()); | 97 EXPECT_EQ(tests[i].expected, tests[i].range.GetHeaderValue()); |
| 97 } | 98 } |
| 98 } | 99 } |
| 99 | 100 |
| 100 } // namespace | 101 } // namespace |
| 101 | 102 |
| 102 } // namespace net | 103 } // namespace net |
| OLD | NEW |