Merge pull request dart-lang/markdown#96 from srawlins/add-verbose-to-commonmark-stats

Add --verbose to commonmark stats script
diff --git a/pkgs/markdown/tool/common_mark_stats.dart b/pkgs/markdown/tool/common_mark_stats.dart
index 87c8039..454b247 100644
--- a/pkgs/markdown/tool/common_mark_stats.dart
+++ b/pkgs/markdown/tool/common_mark_stats.dart
@@ -21,12 +21,15 @@
 
 void main(List<String> args) {
   var raw = args.any((s) => s == '--raw');
+  var verbose = args.any((s) => s == '--verbose');
 
   var sections = loadCommonMarkSections();
 
   var scores = new SplayTreeMap<String, SplayTreeMap<int, bool>>(
       compareAsciiLowerCaseNatural);
 
+  String indent(String s) => s.splitMapJoin('\n', onNonMatch: (n) => '    $n');
+
   sections.forEach((section, examples) {
     for (var e in examples) {
       var output;
@@ -43,6 +46,16 @@
       var expected = parseFragment(e.html);
       var actual = parseFragment(output);
       nestedMap[e.example] = compareHtml(expected.children, actual.children);
+      if (verbose && !nestedMap[e.example]) {
+        print('FAIL');
+        print('input:');
+        print(indent(e.markdown));
+        print('expected:');
+        print(indent(expected.outerHtml));
+        print('actual:');
+        print(indent(actual.outerHtml));
+        print('-----------------------');
+      }
     }
   });