OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "ios/chrome/browser/net/cookie_util.h" | 5 #include "ios/chrome/browser/net/cookie_util.h" |
6 | 6 |
7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
8 | 8 |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
| 11 #if !defined(__has_feature) || !__has_feature(objc_arc) |
| 12 #error "This file requires ARC support." |
| 13 #endif |
| 14 |
11 namespace { | 15 namespace { |
12 | 16 |
13 // Date of the last cookie deletion. | 17 // Date of the last cookie deletion. |
14 NSString* const kLastCookieDeletionDate = @"LastCookieDeletionDate"; | 18 NSString* const kLastCookieDeletionDate = @"LastCookieDeletionDate"; |
15 | 19 |
16 } // namespace | 20 } // namespace |
17 | 21 |
18 TEST(CookieUtil, ShouldClearSessionCookies) { | 22 TEST(CookieUtil, ShouldClearSessionCookies) { |
19 time_t start_test_time; | 23 time_t start_test_time; |
20 time(&start_test_time); | 24 time(&start_test_time); |
21 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; | 25 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; |
22 // Delete cookies if the key is not present. | 26 // Delete cookies if the key is not present. |
23 [defaults removeObjectForKey:kLastCookieDeletionDate]; | 27 [defaults removeObjectForKey:kLastCookieDeletionDate]; |
24 EXPECT_TRUE(cookie_util::ShouldClearSessionCookies()); | 28 EXPECT_TRUE(cookie_util::ShouldClearSessionCookies()); |
25 // The deletion time should be created. | 29 // The deletion time should be created. |
26 time_t deletion_time = [defaults integerForKey:kLastCookieDeletionDate]; | 30 time_t deletion_time = [defaults integerForKey:kLastCookieDeletionDate]; |
27 time_t now; | 31 time_t now; |
28 time(&now); | 32 time(&now); |
29 EXPECT_LE(start_test_time, deletion_time); | 33 EXPECT_LE(start_test_time, deletion_time); |
30 EXPECT_LE(deletion_time, now); | 34 EXPECT_LE(deletion_time, now); |
31 // Cookies are not deleted again. | 35 // Cookies are not deleted again. |
32 EXPECT_FALSE(cookie_util::ShouldClearSessionCookies()); | 36 EXPECT_FALSE(cookie_util::ShouldClearSessionCookies()); |
33 | 37 |
34 // Set the deletion time before the machine was started. | 38 // Set the deletion time before the machine was started. |
35 // Sometime in year 1980. | 39 // Sometime in year 1980. |
36 [defaults setInteger:328697227 forKey:kLastCookieDeletionDate]; | 40 [defaults setInteger:328697227 forKey:kLastCookieDeletionDate]; |
37 EXPECT_TRUE(cookie_util::ShouldClearSessionCookies()); | 41 EXPECT_TRUE(cookie_util::ShouldClearSessionCookies()); |
38 EXPECT_LE(now, [defaults integerForKey:kLastCookieDeletionDate]); | 42 EXPECT_LE(now, [defaults integerForKey:kLastCookieDeletionDate]); |
39 } | 43 } |
OLD | NEW |