Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: Source/platform/network/HTTPParsersTest.cpp

Issue 229053004: Allow cache reuse of some requests with Cache-Control headers (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/platform/network/HTTPParsers.cpp ('k') | Source/platform/network/ResourceRequest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "HTTPParsers.h"
7
8 #include "wtf/MathExtras.h"
9 #include "wtf/text/AtomicString.h"
10
11 #include <gtest/gtest.h>
12
13 using namespace WebCore;
14 using namespace std;
15
16 namespace {
17
18 TEST(HTTPParsersTest, ParseCacheControl)
19 {
20 CacheControlHeader header;
21
22 header = parseCacheControlDirectives("no-cache", AtomicString());
23 EXPECT_TRUE(header.parsed);
24 EXPECT_TRUE(header.containsNoCache);
25 EXPECT_FALSE(header.containsNoStore);
26 EXPECT_FALSE(header.containsMustRevalidate);
27 EXPECT_TRUE(isnan(header.maxAge));
28
29 header = parseCacheControlDirectives("no-cache no-store", AtomicString());
30 EXPECT_TRUE(header.parsed);
31 EXPECT_TRUE(header.containsNoCache);
32 EXPECT_FALSE(header.containsNoStore);
33 EXPECT_FALSE(header.containsMustRevalidate);
34 EXPECT_TRUE(isnan(header.maxAge));
35
36 header = parseCacheControlDirectives("no-store must-revalidate", AtomicStrin g());
37 EXPECT_TRUE(header.parsed);
38 EXPECT_FALSE(header.containsNoCache);
39 EXPECT_TRUE(header.containsNoStore);
40 EXPECT_FALSE(header.containsMustRevalidate);
41 EXPECT_TRUE(isnan(header.maxAge));
42
43 header = parseCacheControlDirectives("max-age=0", AtomicString());
44 EXPECT_TRUE(header.parsed);
45 EXPECT_FALSE(header.containsNoCache);
46 EXPECT_FALSE(header.containsNoStore);
47 EXPECT_FALSE(header.containsMustRevalidate);
48 EXPECT_EQ(0.0, header.maxAge);
49
50 header = parseCacheControlDirectives("max-age", AtomicString());
51 EXPECT_TRUE(header.parsed);
52 EXPECT_FALSE(header.containsNoCache);
53 EXPECT_FALSE(header.containsNoStore);
54 EXPECT_FALSE(header.containsMustRevalidate);
55 EXPECT_TRUE(isnan(header.maxAge));
56
57 header = parseCacheControlDirectives("max-age=0 no-cache", AtomicString());
58 EXPECT_TRUE(header.parsed);
59 EXPECT_FALSE(header.containsNoCache);
60 EXPECT_FALSE(header.containsNoStore);
61 EXPECT_FALSE(header.containsMustRevalidate);
62 EXPECT_EQ(0.0, header.maxAge);
63
64 header = parseCacheControlDirectives("no-cache=foo", AtomicString());
65 EXPECT_TRUE(header.parsed);
66 EXPECT_FALSE(header.containsNoCache);
67 EXPECT_FALSE(header.containsNoStore);
68 EXPECT_FALSE(header.containsMustRevalidate);
69 EXPECT_TRUE(isnan(header.maxAge));
70
71 header = parseCacheControlDirectives("nonsense", AtomicString());
72 EXPECT_TRUE(header.parsed);
73 EXPECT_FALSE(header.containsNoCache);
74 EXPECT_FALSE(header.containsNoStore);
75 EXPECT_FALSE(header.containsMustRevalidate);
76 EXPECT_TRUE(isnan(header.maxAge));
77
78 header = parseCacheControlDirectives("\rno-cache\n\t\v\0\b", AtomicString()) ;
79 EXPECT_TRUE(header.parsed);
80 EXPECT_TRUE(header.containsNoCache);
81 EXPECT_FALSE(header.containsNoStore);
82 EXPECT_FALSE(header.containsMustRevalidate);
83 EXPECT_TRUE(isnan(header.maxAge));
84
85 header = parseCacheControlDirectives(" no-cache ", AtomicString() );
86 EXPECT_TRUE(header.parsed);
87 EXPECT_TRUE(header.containsNoCache);
88 EXPECT_FALSE(header.containsNoStore);
89 EXPECT_FALSE(header.containsMustRevalidate);
90 EXPECT_TRUE(isnan(header.maxAge));
91
92 header = parseCacheControlDirectives(AtomicString(), "no-cache");
93 EXPECT_TRUE(header.parsed);
94 EXPECT_TRUE(header.containsNoCache);
95 EXPECT_FALSE(header.containsNoStore);
96 EXPECT_FALSE(header.containsMustRevalidate);
97 EXPECT_TRUE(isnan(header.maxAge));
98 }
99
100 } // namespace
101
OLDNEW
« no previous file with comments | « Source/platform/network/HTTPParsers.cpp ('k') | Source/platform/network/ResourceRequest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698