// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/plugin_finder.h" #include "base/values.h" #include "testing/gtest/include/gtest/gtest.h" using base::DictionaryValue; using base::ListValue; TEST(PluginFinderTest, JsonSyntax) { scoped_ptr plugin_list(PluginFinder::LoadPluginList()); ASSERT_TRUE(plugin_list.get()); for (ListValue::const_iterator plugin_it = plugin_list->begin(); plugin_it != plugin_list->end(); ++plugin_it) { const DictionaryValue* plugin = NULL; ASSERT_TRUE((*plugin_it)->GetAsDictionary(&plugin)); std::string dummy_str; EXPECT_TRUE(plugin->GetString("lang", &dummy_str)); EXPECT_TRUE(plugin->GetString("identifier", &dummy_str)); EXPECT_TRUE(plugin->GetString("url", &dummy_str)); EXPECT_TRUE(plugin->GetString("name", &dummy_str)); ListValue* mime_types = NULL; ASSERT_TRUE(plugin->GetList("mime_types", &mime_types)); for (ListValue::const_iterator mime_type_it = mime_types->begin(); mime_type_it != mime_types->end(); ++mime_type_it) { EXPECT_TRUE((*mime_type_it)->GetAsString(&dummy_str)); } } }