Prevent multiline string quotes from confusing Emacs.
[open-adventure.git] / tests / coverage_dungeon.py
index b5afa08ce399f2f89fadef98c67f6e517d51bd6d..e991bdd1c86fddb87a77ec570f87de8235d203a0 100755 (executable)
@@ -19,40 +19,40 @@ DEFAULT_HTML_OUTPUT_PATH = "../coverage/adventure.yaml.html"
 
 STDOUT_REPORT_CATEGORY = "  {name:.<19}: {percent:5.1f}% covered ({covered} of {total})\n"
 
-HTML_SUMMARY_ROW = """
+HTML_SUMMARY_ROW = '''
     <tr>
         <td class="headerItem"><a href="#{name}">{name}:</a></td>
         <td class="headerCovTableEntry">{total}</td>
         <td class="headerCovTableEntry">{covered}</td>
         <td class="headerCovTableEntry">{percent:.1f}%</td>
     </tr>
-"""
+'''
 
-HTML_CATEGORY_SECTION = """
+HTML_CATEGORY_SECTION = '''
     <tr id="{id}"></tr>
     {rows}
     <tr>
         <td>&nbsp;</td>
     </tr>
-"""
+'''
 
-HTML_CATEGORY_HEADER = """
+HTML_CATEGORY_HEADER = '''
     <tr>
         <td class="tableHead" width="60%" colspan="{colspan}">{label}</td>
         {cells}
     </tr>
-"""
+'''
 
 HTML_CATEGORY_HEADER_CELL = '<td class="tableHead" width="15%">{}</td>\n'
 
 HTML_CATEGORY_COVERAGE_CELL = '<td class="{}">&nbsp;</td>\n'
 
-HTML_CATEGORY_ROW = """
+HTML_CATEGORY_ROW = '''
     <tr>
         <td class="coverFile" colspan="{colspan}">{id}</td>
         {cells}
     </tr>
-"""
+'''
 
 def search(needle, haystack):
     # Search for needle in haystack, first escaping needle for regex, then
@@ -219,7 +219,8 @@ if __name__ == "__main__":
             category["percent"] = (category["covered"] / float(category["total"])) * 100
 
             # render section header
-            cat_keys = list(category["messages"].items())[0][1].keys()
+            cat_messages = sorted(category["messages"].items())
+            cat_keys = cat_messages[0][1].keys()
             headers_html = ""
             colspan = 10 - len(cat_keys)
             for key in cat_keys:
@@ -227,7 +228,7 @@ if __name__ == "__main__":
             category_html = HTML_CATEGORY_HEADER.format(colspan=colspan, label=category["name"], cells=headers_html)
 
             # render message coverage row
-            for message_id, covered in sorted(category["messages"].items()):
+            for message_id, covered in cat_messages:
                 category_html_row = ""
                 for key, value in covered.items():
                     category_html_row += HTML_CATEGORY_COVERAGE_CELL.format("uncovered" if value != True else "covered")