Chromium Code Reviews| Index: chrome/common/extensions/docs/server2/template_data_source_test.py |
| diff --git a/chrome/common/extensions/docs/server2/template_data_source_test.py b/chrome/common/extensions/docs/server2/template_data_source_test.py |
| index 9a5d438725d00b406b1f919829abfd619d6385d6..146ffc8b50667024526a4b5703703245a5930cf2 100755 |
| --- a/chrome/common/extensions/docs/server2/template_data_source_test.py |
| +++ b/chrome/common/extensions/docs/server2/template_data_source_test.py |
| @@ -11,8 +11,10 @@ import unittest |
| from api_data_source import APIDataSource |
| from compiled_file_system import CompiledFileSystem |
| from local_file_system import LocalFileSystem |
| +from local_renderer import LocalRenderer |
| from object_store_creator import ObjectStoreCreator |
| from reference_resolver import ReferenceResolver |
| +import svn_constants |
| from template_data_source import TemplateDataSource |
| from test_util import DisableLogging |
| from third_party.handlebar import Handlebar |
| @@ -134,5 +136,40 @@ class TemplateDataSourceTest(unittest.TestCase): |
| compiled_fs_factory, |
| api_data=json.loads(self._ReadLocalFile('test2.json')))) |
| + def testJSONDocumentationSources(self): |
|
not at google - send to devlin
2013/04/30 16:21:09
We should just fix https://code.google.com/p/chrom
jshumway
2013/05/03 03:44:39
Good point, I have been noticing a lot of comments
|
| + # Make sure all of the documentation links in |
| + # templates/json/(extensions|apps)_manifest.json can be rendered. This |
| + # includes the template lookup through compiled_file_system_source. |
| + from handler import Handler |
| + _base_path = os.path.join(os.path.abspath( |
| + os.path.dirname(__file__)), os.pardir, os.pardir, os.pardir) |
| + renderer = LocalRenderer(_base_path) |
| + |
| + for f in ['extensions', 'apps']: |
| + json_path = os.path.join( |
| + _base_path, 'extensions', svn_constants.JSON_PATH, f + '_manifest.json') |
| + # If the json is malformed, this well raise an error. |
| + with open(json_path) as jsonfile: |
| + data = json.loads(jsonfile.read()) |
| + |
| + for section in data.keys(): |
| + for entry in data[section]: |
| + link = entry['documentation'] |
| + |
| + # This doesn't work, apparently it doesn't create a true file_system, |
| + # and therefore cannot render templates. Looking for a fix. |
| + # _, render_status, __ = renderer.Render("/%s/%s" % (f, link)) |
| + # assertEqual(200, render_status) |
| + |
| + # For now, just check if the public templates exist. |
| + try: |
| + path = os.path.join( |
| + _base_path, 'extensions', svn_constants.PUBLIC_TEMPLATE_PATH, f) |
| + os.stat(os.path.join(path, link)) |
| + except OSError: |
| + raise OSError("A required template %s could not be found " |
| + "in %s." % (link, path)) |
| + |
| + |
| if __name__ == '__main__': |
| unittest.main() |