| Index: chrome/browser/extensions/extension_ui_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_ui_unittest.cc b/chrome/browser/extensions/extension_ui_unittest.cc
|
| index a9b65ceafb839f9809b1aaaa8a4fa43ce082fad8..b59e51c344717cb672a051249c559c78f5164163 100644
|
| --- a/chrome/browser/extensions/extension_ui_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_ui_unittest.cc
|
| @@ -21,7 +21,7 @@ namespace {
|
| return static_cast<DictionaryValue*>(value);
|
| }
|
|
|
| - static bool CompareExpectedAndActualOutput(
|
| + static void CheckExpectedAndActualOutput(
|
| const FilePath& extension_path,
|
| const std::vector<ExtensionPage>& pages,
|
| const FilePath& expected_output_path) {
|
| @@ -56,8 +56,23 @@ namespace {
|
| ExtensionsDOMHandler::CreateExtensionDetailValue(NULL, extension.get(),
|
| pages, true, false));
|
|
|
| - // Compare the outputs.
|
| - return expected_output_data->Equals(actual_output_data.get());
|
| + // If the comparison fails, it's easiest to understand why when comparing
|
| + // the JSON serializations.
|
| + std::string details = "Expected (" +
|
| + expected_output_path.MaybeAsASCII() + "):\n";
|
| + std::string serialization = "";
|
| + JSONStringValueSerializer serializer(&serialization);
|
| + serializer.set_pretty_print(true);
|
| + serializer.Serialize(*expected_output_data);
|
| + details += serialization;
|
| +
|
| + details += "\nActual (" + extension_path.MaybeAsASCII() + "):\n";
|
| + serialization.clear();
|
| + serializer.Serialize(*actual_output_data);
|
| + details += serialization;
|
| +
|
| + EXPECT_TRUE(expected_output_data->Equals(actual_output_data.get()))
|
| + << details;
|
| }
|
| } // namespace
|
|
|
| @@ -85,8 +100,7 @@ TEST(ExtensionUITest, GenerateExtensionsJSONData) {
|
| .AppendASCII("create_extension_detail_value_expected_output")
|
| .AppendASCII("good-extension1.json");
|
|
|
| - EXPECT_TRUE(CompareExpectedAndActualOutput(extension_path, pages,
|
| - expected_output_path)) << extension_path.value();
|
| + CheckExpectedAndActualOutput(extension_path, pages, expected_output_path);
|
|
|
| #if !defined(OS_CHROMEOS)
|
| // Test Extension2
|
| @@ -104,8 +118,7 @@ TEST(ExtensionUITest, GenerateExtensionsJSONData) {
|
| // It's OK to have duplicate URLs, so long as the IDs are different.
|
| pages[1].url = pages[0].url;
|
|
|
| - EXPECT_TRUE(CompareExpectedAndActualOutput(extension_path, pages,
|
| - expected_output_path)) << extension_path.value();
|
| + CheckExpectedAndActualOutput(extension_path, pages, expected_output_path);
|
| #endif
|
|
|
| // Test Extension3
|
| @@ -122,6 +135,5 @@ TEST(ExtensionUITest, GenerateExtensionsJSONData) {
|
|
|
| pages.clear();
|
|
|
| - EXPECT_TRUE(CompareExpectedAndActualOutput(extension_path, pages,
|
| - expected_output_path)) << extension_path.value();
|
| + CheckExpectedAndActualOutput(extension_path, pages, expected_output_path);
|
| }
|
|
|