| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/process/process.h" | 9 #include "base/process/process.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 | 173 |
| 174 TEST_F(QuotaServiceTest, NoHeuristic) { | 174 TEST_F(QuotaServiceTest, NoHeuristic) { |
| 175 scoped_refptr<MockFunction> f(new MockFunction("foo")); | 175 scoped_refptr<MockFunction> f(new MockFunction("foo")); |
| 176 base::ListValue args; | 176 base::ListValue args; |
| 177 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); | 177 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 TEST_F(QuotaServiceTest, FrozenHeuristic) { | 180 TEST_F(QuotaServiceTest, FrozenHeuristic) { |
| 181 scoped_refptr<MockFunction> f(new FrozenMockFunction("foo")); | 181 scoped_refptr<MockFunction> f(new FrozenMockFunction("foo")); |
| 182 base::ListValue args; | 182 base::ListValue args; |
| 183 args.Append(new base::FundamentalValue(1)); | 183 args.AppendInteger(1); |
| 184 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); | 184 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); |
| 185 } | 185 } |
| 186 | 186 |
| 187 TEST_F(QuotaServiceTest, SingleHeuristic) { | 187 TEST_F(QuotaServiceTest, SingleHeuristic) { |
| 188 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); | 188 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); |
| 189 base::ListValue args; | 189 base::ListValue args; |
| 190 args.Append(new base::FundamentalValue(1)); | 190 args.AppendInteger(1); |
| 191 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); | 191 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args, kStartTime)); |
| 192 EXPECT_EQ("", | 192 EXPECT_EQ("", |
| 193 service_->Assess(extension_a_, | 193 service_->Assess(extension_a_, |
| 194 f.get(), | 194 f.get(), |
| 195 &args, | 195 &args, |
| 196 kStartTime + TimeDelta::FromSeconds(10))); | 196 kStartTime + TimeDelta::FromSeconds(10))); |
| 197 EXPECT_NE("", | 197 EXPECT_NE("", |
| 198 service_->Assess(extension_a_, | 198 service_->Assess(extension_a_, |
| 199 f.get(), | 199 f.get(), |
| 200 &args, | 200 &args, |
| 201 kStartTime + TimeDelta::FromSeconds(15))); | 201 kStartTime + TimeDelta::FromSeconds(15))); |
| 202 | 202 |
| 203 base::ListValue args2; | 203 base::ListValue args2; |
| 204 args2.Append(new base::FundamentalValue(1)); | 204 args2.AppendInteger(1); |
| 205 args2.Append(new base::FundamentalValue(2)); | 205 args2.AppendInteger(2); |
| 206 EXPECT_EQ("", service_->Assess(extension_b_, f.get(), &args2, kStartTime)); | 206 EXPECT_EQ("", service_->Assess(extension_b_, f.get(), &args2, kStartTime)); |
| 207 EXPECT_EQ("", | 207 EXPECT_EQ("", |
| 208 service_->Assess(extension_b_, | 208 service_->Assess(extension_b_, |
| 209 f.get(), | 209 f.get(), |
| 210 &args2, | 210 &args2, |
| 211 kStartTime + TimeDelta::FromSeconds(10))); | 211 kStartTime + TimeDelta::FromSeconds(10))); |
| 212 | 212 |
| 213 TimeDelta peace = TimeDelta::FromMinutes(30); | 213 TimeDelta peace = TimeDelta::FromMinutes(30); |
| 214 EXPECT_EQ("", | 214 EXPECT_EQ("", |
| 215 service_->Assess(extension_b_, f.get(), &args, kStartTime + peace)); | 215 service_->Assess(extension_b_, f.get(), &args, kStartTime + peace)); |
| 216 EXPECT_EQ("", | 216 EXPECT_EQ("", |
| 217 service_->Assess(extension_b_, | 217 service_->Assess(extension_b_, |
| 218 f.get(), | 218 f.get(), |
| 219 &args, | 219 &args, |
| 220 kStartTime + peace + TimeDelta::FromSeconds(10))); | 220 kStartTime + peace + TimeDelta::FromSeconds(10))); |
| 221 EXPECT_NE("", | 221 EXPECT_NE("", |
| 222 service_->Assess(extension_b_, | 222 service_->Assess(extension_b_, |
| 223 f.get(), | 223 f.get(), |
| 224 &args2, | 224 &args2, |
| 225 kStartTime + peace + TimeDelta::FromSeconds(15))); | 225 kStartTime + peace + TimeDelta::FromSeconds(15))); |
| 226 | 226 |
| 227 // Test that items are independent. | 227 // Test that items are independent. |
| 228 base::ListValue args3; | 228 base::ListValue args3; |
| 229 args3.Append(new base::FundamentalValue(3)); | 229 args3.AppendInteger(3); |
| 230 EXPECT_EQ("", service_->Assess(extension_c_, f.get(), &args, kStartTime)); | 230 EXPECT_EQ("", service_->Assess(extension_c_, f.get(), &args, kStartTime)); |
| 231 EXPECT_EQ("", | 231 EXPECT_EQ("", |
| 232 service_->Assess(extension_c_, | 232 service_->Assess(extension_c_, |
| 233 f.get(), | 233 f.get(), |
| 234 &args3, | 234 &args3, |
| 235 kStartTime + TimeDelta::FromSeconds(10))); | 235 kStartTime + TimeDelta::FromSeconds(10))); |
| 236 EXPECT_EQ("", | 236 EXPECT_EQ("", |
| 237 service_->Assess(extension_c_, | 237 service_->Assess(extension_c_, |
| 238 f.get(), | 238 f.get(), |
| 239 &args, | 239 &args, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 254 &args3, | 254 &args3, |
| 255 kStartTime + TimeDelta::FromSeconds(30))); | 255 kStartTime + TimeDelta::FromSeconds(30))); |
| 256 } | 256 } |
| 257 | 257 |
| 258 TEST_F(QuotaServiceTest, MultipleFunctionsDontInterfere) { | 258 TEST_F(QuotaServiceTest, MultipleFunctionsDontInterfere) { |
| 259 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); | 259 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); |
| 260 scoped_refptr<MockFunction> g(new TimedLimitMockFunction("bar")); | 260 scoped_refptr<MockFunction> g(new TimedLimitMockFunction("bar")); |
| 261 | 261 |
| 262 base::ListValue args_f; | 262 base::ListValue args_f; |
| 263 base::ListValue args_g; | 263 base::ListValue args_g; |
| 264 args_f.Append(new base::FundamentalValue(1)); | 264 args_f.AppendInteger(1); |
| 265 args_g.Append(new base::FundamentalValue(2)); | 265 args_g.AppendInteger(2); |
| 266 | 266 |
| 267 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args_f, kStartTime)); | 267 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &args_f, kStartTime)); |
| 268 EXPECT_EQ("", service_->Assess(extension_a_, g.get(), &args_g, kStartTime)); | 268 EXPECT_EQ("", service_->Assess(extension_a_, g.get(), &args_g, kStartTime)); |
| 269 EXPECT_EQ("", | 269 EXPECT_EQ("", |
| 270 service_->Assess(extension_a_, | 270 service_->Assess(extension_a_, |
| 271 f.get(), | 271 f.get(), |
| 272 &args_f, | 272 &args_f, |
| 273 kStartTime + TimeDelta::FromSeconds(10))); | 273 kStartTime + TimeDelta::FromSeconds(10))); |
| 274 EXPECT_EQ("", | 274 EXPECT_EQ("", |
| 275 service_->Assess(extension_a_, | 275 service_->Assess(extension_a_, |
| 276 g.get(), | 276 g.get(), |
| 277 &args_g, | 277 &args_g, |
| 278 kStartTime + TimeDelta::FromSeconds(10))); | 278 kStartTime + TimeDelta::FromSeconds(10))); |
| 279 EXPECT_NE("", | 279 EXPECT_NE("", |
| 280 service_->Assess(extension_a_, | 280 service_->Assess(extension_a_, |
| 281 f.get(), | 281 f.get(), |
| 282 &args_f, | 282 &args_f, |
| 283 kStartTime + TimeDelta::FromSeconds(15))); | 283 kStartTime + TimeDelta::FromSeconds(15))); |
| 284 EXPECT_NE("", | 284 EXPECT_NE("", |
| 285 service_->Assess(extension_a_, | 285 service_->Assess(extension_a_, |
| 286 g.get(), | 286 g.get(), |
| 287 &args_g, | 287 &args_g, |
| 288 kStartTime + TimeDelta::FromSeconds(15))); | 288 kStartTime + TimeDelta::FromSeconds(15))); |
| 289 } | 289 } |
| 290 | 290 |
| 291 TEST_F(QuotaServiceTest, ViolatorsWillBeForgiven) { | 291 TEST_F(QuotaServiceTest, ViolatorsWillBeForgiven) { |
| 292 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); | 292 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); |
| 293 base::ListValue arg; | 293 base::ListValue arg; |
| 294 arg.Append(new base::FundamentalValue(1)); | 294 arg.AppendInteger(1); |
| 295 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, kStartTime)); | 295 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, kStartTime)); |
| 296 EXPECT_EQ("", | 296 EXPECT_EQ("", |
| 297 service_->Assess(extension_a_, | 297 service_->Assess(extension_a_, |
| 298 f.get(), | 298 f.get(), |
| 299 &arg, | 299 &arg, |
| 300 kStartTime + TimeDelta::FromSeconds(10))); | 300 kStartTime + TimeDelta::FromSeconds(10))); |
| 301 EXPECT_NE("", | 301 EXPECT_NE("", |
| 302 service_->Assess(extension_a_, | 302 service_->Assess(extension_a_, |
| 303 f.get(), | 303 f.get(), |
| 304 &arg, | 304 &arg, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 324 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &arg, | 324 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &arg, |
| 325 kStartTime + TimeDelta::FromDays(1) + | 325 kStartTime + TimeDelta::FromDays(1) + |
| 326 TimeDelta::FromSeconds(25))); | 326 TimeDelta::FromSeconds(25))); |
| 327 | 327 |
| 328 // Like now. | 328 // Like now. |
| 329 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, | 329 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, |
| 330 kStartTime + TimeDelta::FromDays(2))); | 330 kStartTime + TimeDelta::FromDays(2))); |
| 331 } | 331 } |
| 332 | 332 |
| 333 } // namespace extensions | 333 } // namespace extensions |
| OLD | NEW |