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. 4 5 #include "sync/js/js_event_details.h" 6 7 #include "base/memory/scoped_ptr.h" 8 #include "testing/gtest/include/gtest/gtest.h" 9 10 namespace syncer { 11 namespace { 12 13 class JsEventDetailsTest : public testing::Test {}; 14 TEST_F(JsEventDetailsTest,EmptyList)15TEST_F(JsEventDetailsTest, EmptyList) { 16 JsEventDetails details; 17 EXPECT_TRUE(details.Get().empty()); 18 EXPECT_EQ("{}", details.ToString()); 19 } 20 TEST_F(JsEventDetailsTest,FromDictionary)21TEST_F(JsEventDetailsTest, FromDictionary) { 22 base::DictionaryValue dict; 23 dict.SetString("foo", "bar"); 24 dict.Set("baz", new base::ListValue()); 25 26 scoped_ptr<base::DictionaryValue> dict_copy(dict.DeepCopy()); 27 28 JsEventDetails details(&dict); 29 30 // |details| should take over |dict|'s data. 31 EXPECT_TRUE(dict.empty()); 32 EXPECT_TRUE(details.Get().Equals(dict_copy.get())); 33 } 34 35 } // namespace 36 } // namespace syncer 37