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

Side by Side Diff: net/dns/record_parsed_unittest.cc

Issue 15733008: Multicast DNS implementation (initial) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mdns_implementation2
Patch Set: Created 7 years, 7 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "net/dns/record_parsed.h" 5 #include "net/dns/record_parsed.h"
6 6
7 #include "net/dns/dns_protocol.h" 7 #include "net/dns/dns_protocol.h"
8 #include "net/dns/dns_response.h" 8 #include "net/dns/dns_response.h"
9 #include "net/dns/dns_test_util.h" 9 #include "net/dns/dns_test_util.h"
10 #include "net/dns/record_rdata.h" 10 #include "net/dns/record_rdata.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 ASSERT_EQ(dns_protocol::kClassIN, record->klass()); 45 ASSERT_EQ(dns_protocol::kClassIN, record->klass());
46 46
47 rdata = record->rdata<CnameRecordRdata>(); 47 rdata = record->rdata<CnameRecordRdata>();
48 ASSERT_TRUE(rdata != NULL); 48 ASSERT_TRUE(rdata != NULL);
49 ASSERT_EQ(kT1CanonName, rdata->cname()); 49 ASSERT_EQ(kT1CanonName, rdata->cname());
50 50
51 ASSERT_FALSE(record->rdata<SrvRecordRdata>()); 51 ASSERT_FALSE(record->rdata<SrvRecordRdata>());
52 ASSERT_TRUE(record->IsEqual(record.get(), true)); 52 ASSERT_TRUE(record->IsEqual(record.get(), true));
53 } 53 }
54 54
55 TEST(RecordParsedTest, Clone) {
56 DnsRecordParser parser(kT1ResponseDatagram, sizeof(kT1ResponseDatagram),
57 sizeof(dns_protocol::Header));
58 scoped_ptr<const RecordParsed> record;
59 const CnameRecordRdata* rdata;
60
61 parser.SkipQuestion();
62 record = RecordParsed::CreateFrom(&parser, base::Time());
63 EXPECT_TRUE(record.get() != NULL);
64
65 scoped_ptr<const RecordParsed> record2;
66 record2 = record->Clone();
67
68 record.reset();
69
70 ASSERT_EQ("codereview.chromium.org", record2->name());
71 ASSERT_EQ(dns_protocol::kTypeCNAME, record2->type());
72 ASSERT_EQ(dns_protocol::kClassIN, record2->klass());
73
74 rdata = record2->rdata<CnameRecordRdata>();
75 EXPECT_TRUE(rdata != NULL);
76 ASSERT_EQ(kT1CanonName, rdata->cname());
77
78 ASSERT_FALSE(record2->rdata<SrvRecordRdata>());
79 }
80
55 TEST(RecordParsedTest, CacheFlushBitCompare) { 81 TEST(RecordParsedTest, CacheFlushBitCompare) {
56 DnsRecordParser parser1(kT1ResponseDatagram, sizeof(kT1ResponseDatagram), 82 DnsRecordParser parser1(kT1ResponseDatagram, sizeof(kT1ResponseDatagram),
57 sizeof(dns_protocol::Header)); 83 sizeof(dns_protocol::Header));
58 parser1.SkipQuestion(); 84 parser1.SkipQuestion();
59 scoped_ptr<const RecordParsed> record1 = 85 scoped_ptr<const RecordParsed> record1 =
60 RecordParsed::CreateFrom(&parser1, base::Time()); 86 RecordParsed::CreateFrom(&parser1, base::Time());
61 87
62 DnsRecordParser parser2(kT1ResponseWithCacheFlushBit, 88 DnsRecordParser parser2(kT1ResponseWithCacheFlushBit,
63 sizeof(kT1ResponseWithCacheFlushBit), 89 sizeof(kT1ResponseWithCacheFlushBit),
64 0); 90 0);
65 91
66 scoped_ptr<const RecordParsed> record2 = 92 scoped_ptr<const RecordParsed> record2 =
67 RecordParsed::CreateFrom(&parser2, base::Time()); 93 RecordParsed::CreateFrom(&parser2, base::Time());
68 94
69 EXPECT_FALSE(record1->IsEqual(record2.get(), false)); 95 EXPECT_FALSE(record1->IsEqual(record2.get(), false));
70 EXPECT_TRUE(record1->IsEqual(record2.get(), true)); 96 EXPECT_TRUE(record1->IsEqual(record2.get(), true));
71 EXPECT_FALSE(record2->IsEqual(record1.get(), false)); 97 EXPECT_FALSE(record2->IsEqual(record1.get(), false));
72 EXPECT_TRUE(record2->IsEqual(record1.get(), true)); 98 EXPECT_TRUE(record2->IsEqual(record1.get(), true));
73 } 99 }
74 100
75 } //namespace net 101 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698