Revert 268405 "Make sure that ScratchBuffer::Allocate() always r..."
[chromium-blink-merge.git] / content / browser / shared_worker / shared_worker_instance_unittest.cc
blob83e51c171b358e8c671dd652b9e6999407a0a5fe
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.
5 #include "base/basictypes.h"
6 #include "base/memory/scoped_ptr.h"
7 #include "base/strings/string16.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "content/browser/shared_worker/shared_worker_instance.h"
10 #include "content/browser/worker_host/worker_storage_partition.h"
11 #include "content/public/test/test_browser_context.h"
12 #include "testing/gtest/include/gtest/gtest.h"
14 namespace content {
16 class SharedWorkerInstanceTest : public testing::Test {
17 protected:
18 SharedWorkerInstanceTest()
19 : browser_context_(new TestBrowserContext()),
20 partition_(
21 new WorkerStoragePartition(browser_context_->GetRequestContext(),
22 NULL,
23 NULL,
24 NULL,
25 NULL,
26 NULL,
27 NULL,
28 NULL)),
29 partition_id_(*partition_.get()) {}
31 bool Matches(const SharedWorkerInstance& instance,
32 const std::string& url,
33 const base::StringPiece& name) {
34 return instance.Matches(GURL(url),
35 base::ASCIIToUTF16(name),
36 partition_id_,
37 browser_context_->GetResourceContext());
40 scoped_ptr<TestBrowserContext> browser_context_;
41 scoped_ptr<WorkerStoragePartition> partition_;
42 const WorkerStoragePartitionId partition_id_;
44 DISALLOW_COPY_AND_ASSIGN(SharedWorkerInstanceTest);
47 TEST_F(SharedWorkerInstanceTest, MatchesTest) {
48 SharedWorkerInstance instance1(GURL("http://example.com/w.js"),
49 base::string16(),
50 base::string16(),
51 blink::WebContentSecurityPolicyTypeReport,
52 browser_context_->GetResourceContext(),
53 partition_id_);
54 EXPECT_TRUE(Matches(instance1, "http://example.com/w.js", ""));
55 EXPECT_FALSE(Matches(instance1, "http://example.com/w2.js", ""));
56 EXPECT_FALSE(Matches(instance1, "http://example.net/w.js", ""));
57 EXPECT_FALSE(Matches(instance1, "http://example.net/w2.js", ""));
58 EXPECT_FALSE(Matches(instance1, "http://example.com/w.js", "name"));
59 EXPECT_FALSE(Matches(instance1, "http://example.com/w2.js", "name"));
60 EXPECT_FALSE(Matches(instance1, "http://example.net/w.js", "name"));
61 EXPECT_FALSE(Matches(instance1, "http://example.net/w2.js", "name"));
63 SharedWorkerInstance instance2(GURL("http://example.com/w.js"),
64 base::ASCIIToUTF16("name"),
65 base::string16(),
66 blink::WebContentSecurityPolicyTypeReport,
67 browser_context_->GetResourceContext(),
68 partition_id_);
69 EXPECT_FALSE(Matches(instance2, "http://example.com/w.js", ""));
70 EXPECT_FALSE(Matches(instance2, "http://example.com/w2.js", ""));
71 EXPECT_FALSE(Matches(instance2, "http://example.net/w.js", ""));
72 EXPECT_FALSE(Matches(instance2, "http://example.net/w2.js", ""));
73 EXPECT_TRUE(Matches(instance2, "http://example.com/w.js", "name"));
74 EXPECT_TRUE(Matches(instance2, "http://example.com/w2.js", "name"));
75 EXPECT_FALSE(Matches(instance2, "http://example.net/w.js", "name"));
76 EXPECT_FALSE(Matches(instance2, "http://example.net/w2.js", "name"));
77 EXPECT_FALSE(Matches(instance2, "http://example.com/w.js", "name2"));
78 EXPECT_FALSE(Matches(instance2, "http://example.com/w2.js", "name2"));
79 EXPECT_FALSE(Matches(instance2, "http://example.net/w.js", "name2"));
80 EXPECT_FALSE(Matches(instance2, "http://example.net/w2.js", "name2"));
83 } // namespace content