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

Side by Side Diff: chrome/browser/net/dns_master_unittest.cc

Issue 118239: Fix purify freeze. Revert "Use a priority queue to assure that subresources are resolved asap" (Closed)
Patch Set: Created 11 years, 6 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
« no previous file with comments | « chrome/browser/net/dns_master.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 <time.h> 5 #include <time.h>
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <sstream> 8 #include <sstream>
9 #include <string> 9 #include <string>
10 10
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 icon_subresource_hostname, 534 icon_subresource_hostname,
535 recovered_referral_list)); 535 recovered_referral_list));
536 EXPECT_EQ(kLatencyNotFound, 536 EXPECT_EQ(kLatencyNotFound,
537 GetLatencyFromSerialization(motivation_hostname, 537 GetLatencyFromSerialization(motivation_hostname,
538 img_subresource_hostname, 538 img_subresource_hostname,
539 recovered_referral_list)); 539 recovered_referral_list));
540 540
541 master.Shutdown(); 541 master.Shutdown();
542 } 542 }
543 543
544
545 TEST_F(DnsMasterTest, PriorityQueuePushPopTest) {
546 DnsMaster::HostNameQueue queue;
547
548 // First check high priority queue FIFO functionality.
549 EXPECT_TRUE(queue.IsEmpty());
550 queue.Push("a", DnsHostInfo::LEARNED_REFERAL_MOTIVATED);
551 EXPECT_FALSE(queue.IsEmpty());
552 queue.Push("b", DnsHostInfo::MOUSE_OVER_MOTIVATED);
553 EXPECT_FALSE(queue.IsEmpty());
554 EXPECT_EQ(queue.Pop(), "a");
555 EXPECT_FALSE(queue.IsEmpty());
556 EXPECT_EQ(queue.Pop(), "b");
557 EXPECT_TRUE(queue.IsEmpty());
558
559 // Then check low priority queue FIFO functionality.
560 queue.IsEmpty();
561 queue.Push("a", DnsHostInfo::PAGE_SCAN_MOTIVATED);
562 EXPECT_FALSE(queue.IsEmpty());
563 queue.Push("b", DnsHostInfo::OMNIBOX_MOTIVATED);
564 EXPECT_FALSE(queue.IsEmpty());
565 EXPECT_EQ(queue.Pop(), "a");
566 EXPECT_FALSE(queue.IsEmpty());
567 EXPECT_EQ(queue.Pop(), "b");
568 EXPECT_TRUE(queue.IsEmpty());
569 }
570
571 TEST_F(DnsMasterTest, PriorityQueueReorderTest) {
572 DnsMaster::HostNameQueue queue;
573
574 // Push all the low priority items.
575 EXPECT_TRUE(queue.IsEmpty());
576 queue.Push("scan", DnsHostInfo::PAGE_SCAN_MOTIVATED);
577 queue.Push("unit", DnsHostInfo::UNIT_TEST_MOTIVATED);
578 queue.Push("lmax", DnsHostInfo::LINKED_MAX_MOTIVATED);
579 queue.Push("omni", DnsHostInfo::OMNIBOX_MOTIVATED);
580 queue.Push("startup", DnsHostInfo::STARTUP_LIST_MOTIVATED);
581 queue.Push("omni", DnsHostInfo::OMNIBOX_MOTIVATED);
582
583 // Push all the high prority items
584 queue.Push("learned", DnsHostInfo::LEARNED_REFERAL_MOTIVATED);
585 queue.Push("refer", DnsHostInfo::STATIC_REFERAL_MOTIVATED);
586 queue.Push("mouse", DnsHostInfo::MOUSE_OVER_MOTIVATED);
587
588 // Check that high priority stuff comes out first, and in FIFO order.
589 EXPECT_EQ(queue.Pop(), "learned");
590 EXPECT_EQ(queue.Pop(), "refer");
591 EXPECT_EQ(queue.Pop(), "mouse");
592
593 // ...and then low priority strings.
594 EXPECT_EQ(queue.Pop(), "scan");
595 EXPECT_EQ(queue.Pop(), "unit");
596 EXPECT_EQ(queue.Pop(), "lmax");
597 EXPECT_EQ(queue.Pop(), "omni");
598 EXPECT_EQ(queue.Pop(), "startup");
599 EXPECT_EQ(queue.Pop(), "omni");
600
601 EXPECT_TRUE(queue.IsEmpty());
602 }
603
604
605
606
607 } // namespace chrome_browser_net 544 } // namespace chrome_browser_net
OLDNEW
« no previous file with comments | « chrome/browser/net/dns_master.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698