OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
11 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "content/browser/geolocation/fake_access_token_store.h" | 13 #include "content/browser/geolocation/fake_access_token_store.h" |
14 #include "content/browser/geolocation/location_arbitrator_impl.h" | 14 #include "content/browser/geolocation/location_arbitrator_impl.h" |
15 #include "content/browser/geolocation/network_location_provider.h" | 15 #include "content/browser/geolocation/network_location_provider.h" |
16 #include "content/browser/geolocation/wifi_data_provider.h" | 16 #include "content/browser/geolocation/wifi_data_provider.h" |
| 17 #include "net/base/net_errors.h" |
17 #include "net/url_request/test_url_fetcher_factory.h" | 18 #include "net/url_request/test_url_fetcher_factory.h" |
18 #include "net/url_request/url_request_status.h" | 19 #include "net/url_request/url_request_status.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
20 | 21 |
21 namespace content { | 22 namespace content { |
22 | 23 |
23 // Constants used in multiple tests. | 24 // Constants used in multiple tests. |
24 const char kTestServerUrl[] = "https://www.geolocation.test/service"; | 25 const char kTestServerUrl[] = "https://www.geolocation.test/service"; |
25 const char kAccessTokenString[] = "accessToken"; | 26 const char kAccessTokenString[] = "accessToken"; |
26 | 27 |
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 // Now a third scan with more than twice the original amount -> new request. | 431 // Now a third scan with more than twice the original amount -> new request. |
431 const int kThirdScanAps = kFirstScanAps * 2 + 1; | 432 const int kThirdScanAps = kFirstScanAps * 2 + 1; |
432 wifi_data_provider_->SetData(CreateReferenceWifiScanData(kThirdScanAps)); | 433 wifi_data_provider_->SetData(CreateReferenceWifiScanData(kThirdScanAps)); |
433 main_message_loop_.RunUntilIdle(); | 434 main_message_loop_.RunUntilIdle(); |
434 fetcher = get_url_fetcher_and_advance_id(); | 435 fetcher = get_url_fetcher_and_advance_id(); |
435 EXPECT_TRUE(fetcher); | 436 EXPECT_TRUE(fetcher); |
436 CheckRequestIsValid(*fetcher, 0, kThirdScanAps, 0, REFERENCE_ACCESS_TOKEN); | 437 CheckRequestIsValid(*fetcher, 0, kThirdScanAps, 0, REFERENCE_ACCESS_TOKEN); |
437 // ...reply with a network error. | 438 // ...reply with a network error. |
438 | 439 |
439 fetcher->set_url(test_server_url_); | 440 fetcher->set_url(test_server_url_); |
440 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::FAILED, -1)); | 441 fetcher->set_status(net::URLRequestStatus::FromError(net::ERR_FAILED)); |
441 fetcher->set_response_code(200); // should be ignored | 442 fetcher->set_response_code(200); // should be ignored |
442 fetcher->SetResponseString(std::string()); | 443 fetcher->SetResponseString(std::string()); |
443 fetcher->delegate()->OnURLFetchComplete(fetcher); | 444 fetcher->delegate()->OnURLFetchComplete(fetcher); |
444 | 445 |
445 // Error means we now no longer have a fix. | 446 // Error means we now no longer have a fix. |
446 provider->GetPosition(&position); | 447 provider->GetPosition(&position); |
447 EXPECT_FALSE(position.Validate()); | 448 EXPECT_FALSE(position.Validate()); |
448 | 449 |
449 // Wifi scan returns to original set: should be serviced from cache. | 450 // Wifi scan returns to original set: should be serviced from cache. |
450 wifi_data_provider_->SetData(CreateReferenceWifiScanData(kFirstScanAps)); | 451 wifi_data_provider_->SetData(CreateReferenceWifiScanData(kFirstScanAps)); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 EXPECT_TRUE(cache.FindPosition(CreateReferenceWifiScanData(1))); | 546 EXPECT_TRUE(cache.FindPosition(CreateReferenceWifiScanData(1))); |
546 } else { | 547 } else { |
547 const int evicted = i - kCacheSize; | 548 const int evicted = i - kCacheSize; |
548 EXPECT_FALSE(cache.FindPosition(CreateReferenceWifiScanData(evicted))); | 549 EXPECT_FALSE(cache.FindPosition(CreateReferenceWifiScanData(evicted))); |
549 EXPECT_TRUE(cache.FindPosition(CreateReferenceWifiScanData(evicted + 1))); | 550 EXPECT_TRUE(cache.FindPosition(CreateReferenceWifiScanData(evicted + 1))); |
550 } | 551 } |
551 } | 552 } |
552 } | 553 } |
553 | 554 |
554 } // namespace content | 555 } // namespace content |
OLD | NEW |