1 // Copyright (c) 2012 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 "sync/js/js_event_details.h"
7 #include "base/memory/scoped_ptr.h"
8 #include "testing/gtest/include/gtest/gtest.h"
13 class JsEventDetailsTest
: public testing::Test
{};
15 TEST_F(JsEventDetailsTest
, EmptyList
) {
16 JsEventDetails details
;
17 EXPECT_TRUE(details
.Get().empty());
18 EXPECT_EQ("{}", details
.ToString());
21 TEST_F(JsEventDetailsTest
, FromDictionary
) {
22 base::DictionaryValue dict
;
23 dict
.SetString("foo", "bar");
24 dict
.Set("baz", new base::ListValue());
26 scoped_ptr
<base::DictionaryValue
> dict_copy(dict
.DeepCopy());
28 JsEventDetails
details(&dict
);
30 // |details| should take over |dict|'s data.
31 EXPECT_TRUE(dict
.empty());
32 EXPECT_TRUE(details
.Get().Equals(dict_copy
.get()));