Index: chrome/common/extensions/docs/server2/reference_resolver_test.py |
diff --git a/chrome/common/extensions/docs/server2/reference_resolver_test.py b/chrome/common/extensions/docs/server2/reference_resolver_test.py |
index b35567a628120ae008e92acf1d30041a26dd9711..0e60f993f3311bb0f3acae9e7ab10f360987c869 100755 |
--- a/chrome/common/extensions/docs/server2/reference_resolver_test.py |
+++ b/chrome/common/extensions/docs/server2/reference_resolver_test.py |
@@ -241,6 +241,22 @@ _TEST_DATA = { |
} |
+class _FakePlatformBundle(object): |
+ def __init__(self): |
+ self.platforms = ('apps', 'extensions') |
+ |
+ def GetAPIModels(self, platform): |
+ if platform == 'apps': |
+ return _FakeAPIModels(_TEST_DATA) |
+ # Only includes some of the data in the 'extensions' APIModels. |
+ # ReferenceResolver will have to look at other platforms to resolve 'foo'. |
+ return _FakeAPIModels({ |
+ 'bar': _TEST_DATA['bar'], |
+ 'bar.bon': _TEST_DATA['bar.bon'], |
+ 'baz': _TEST_DATA['baz'] |
+ }) |
+ |
+ |
class _FakeAPIModels(object): |
def __init__(self, apis): |
self._apis = apis |
@@ -261,103 +277,118 @@ class ReferenceResolverTest(unittest.TestCase): |
return f.read() |
def testGetLink(self): |
- resolver = ReferenceResolver(_FakeAPIModels(_TEST_DATA), |
- TestObjectStore('test')) |
+ apps_resolver = ReferenceResolver( |
+ _FakePlatformBundle().GetAPIModels('apps'), |
+ TestObjectStore('apps/test')) |
+ extensions_resolver = ReferenceResolver( |
+ _FakePlatformBundle().GetAPIModels('extensions'), |
+ TestObjectStore('extensions/test')) |
+ |
self.assertEqual({ |
'href': 'foo', |
'text': 'foo', |
'name': 'foo' |
- }, resolver.GetLink('foo', namespace='baz')) |
+ }, apps_resolver.GetLink('foo', namespace='baz')) |
self.assertEqual({ |
'href': 'foo#type-foo_t1', |
'text': 'foo.foo_t1', |
'name': 'foo_t1' |
- }, resolver.GetLink('foo.foo_t1', namespace='baz')) |
+ }, apps_resolver.GetLink('foo.foo_t1', namespace='baz')) |
self.assertEqual({ |
'href': 'baz#event-baz_e1', |
'text': 'baz_e1', |
'name': 'baz_e1' |
- }, resolver.GetLink('baz.baz_e1', namespace='baz')) |
+ }, apps_resolver.GetLink('baz.baz_e1', namespace='baz')) |
self.assertEqual({ |
'href': 'baz#event-baz_e1', |
'text': 'baz_e1', |
'name': 'baz_e1' |
- }, resolver.GetLink('baz_e1', namespace='baz')) |
+ }, apps_resolver.GetLink('baz_e1', namespace='baz')) |
self.assertEqual({ |
'href': 'foo#method-foo_f1', |
'text': 'foo.foo_f1', |
'name': 'foo_f1' |
- }, resolver.GetLink('foo.foo_f1', namespace='baz')) |
+ }, apps_resolver.GetLink('foo.foo_f1', namespace='baz')) |
self.assertEqual({ |
'href': 'foo#property-foo_p3', |
'text': 'foo.foo_p3', |
'name': 'foo_p3' |
- }, resolver.GetLink('foo.foo_p3', namespace='baz')) |
+ }, apps_resolver.GetLink('foo.foo_p3', namespace='baz')) |
self.assertEqual({ |
'href': 'bar.bon#type-bar_bon_t3', |
'text': 'bar.bon.bar_bon_t3', |
'name': 'bar_bon_t3' |
- }, resolver.GetLink('bar.bon.bar_bon_t3', namespace='baz')) |
+ }, apps_resolver.GetLink('bar.bon.bar_bon_t3', namespace='baz')) |
self.assertEqual({ |
'href': 'bar.bon#property-bar_bon_p3', |
'text': 'bar_bon_p3', |
'name': 'bar_bon_p3' |
- }, resolver.GetLink('bar_bon_p3', namespace='bar.bon')) |
+ }, apps_resolver.GetLink('bar_bon_p3', namespace='bar.bon')) |
self.assertEqual({ |
'href': 'bar.bon#property-bar_bon_p3', |
'text': 'bar_bon_p3', |
'name': 'bar_bon_p3' |
- }, resolver.GetLink('bar.bon.bar_bon_p3', namespace='bar.bon')) |
+ }, apps_resolver.GetLink('bar.bon.bar_bon_p3', namespace='bar.bon')) |
self.assertEqual({ |
'href': 'bar#event-bar_e2', |
'text': 'bar_e2', |
'name': 'bar_e2' |
- }, resolver.GetLink('bar.bar_e2', namespace='bar')) |
+ }, apps_resolver.GetLink('bar.bar_e2', namespace='bar')) |
self.assertEqual({ |
'href': 'bar#type-bon', |
'text': 'bon', |
'name': 'bon' |
- }, resolver.GetLink('bar.bon', namespace='bar')) |
+ }, apps_resolver.GetLink('bar.bon', namespace='bar')) |
self.assertEqual({ |
'href': 'foo#event-foo_t3-foo_t3_e1', |
'text': 'foo_t3.foo_t3_e1', |
'name': 'foo_t3_e1' |
- }, resolver.GetLink('foo_t3.foo_t3_e1', namespace='foo')) |
+ }, apps_resolver.GetLink('foo_t3.foo_t3_e1', namespace='foo')) |
self.assertEqual({ |
'href': 'foo#event-foo_t3-foo_t3_e1', |
'text': 'foo_t3.foo_t3_e1', |
'name': 'foo_t3_e1' |
- }, resolver.GetLink('foo.foo_t3.foo_t3_e1', namespace='foo')) |
+ }, apps_resolver.GetLink('foo.foo_t3.foo_t3_e1', namespace='foo')) |
self.assertEqual({ |
'href': 'foo#event-foo_t3-foo_t3_e1', |
'text': 'foo_t3.foo_t3_e1', |
'name': 'foo_t3_e1' |
- }, resolver.GetLink('foo.foo_p1.foo_t3_e1', namespace='foo')) |
+ }, apps_resolver.GetLink('foo.foo_p1.foo_t3_e1', namespace='foo')) |
+ self.assertEqual({ |
+ 'href': 'bar#property-bar_t1-bar_t1_p1', |
+ 'text': 'bar.bar_t1.bar_t1_p1', |
+ 'name': 'bar_t1_p1' |
+ }, apps_resolver.GetLink('bar.bar_p3.bar_t1_p1', namespace='foo')) |
+ # Test extensions_resolver. |
self.assertEqual({ |
'href': 'bar#property-bar_t1-bar_t1_p1', |
'text': 'bar.bar_t1.bar_t1_p1', |
'name': 'bar_t1_p1' |
- }, resolver.GetLink('bar.bar_p3.bar_t1_p1', namespace='foo')) |
+ }, extensions_resolver.GetLink('bar.bar_p3.bar_t1_p1', namespace='foo')) |
self.assertEqual({ |
'href': 'bar#property-bar_t1-bar_t1_p1', |
'text': 'bar_t1.bar_t1_p1', |
'name': 'bar_t1_p1' |
- }, resolver.GetLink('bar_p3.bar_t1_p1', namespace='bar')) |
+ }, apps_resolver.GetLink('bar_p3.bar_t1_p1', namespace='bar')) |
+ self.assertEqual( |
+ None, |
+ apps_resolver.GetLink('bar.bar_p3.bar_t2_p1', namespace='bar')) |
self.assertEqual( |
None, |
- resolver.GetLink('bar.bar_p3.bar_t2_p1', namespace='bar')) |
+ apps_resolver.GetLink('bar.bon.bar_e3', namespace='bar')) |
self.assertEqual( |
None, |
- resolver.GetLink('bar.bon.bar_e3', namespace='bar')) |
+ apps_resolver.GetLink('bar_p3', namespace='baz.bon')) |
self.assertEqual( |
None, |
- resolver.GetLink('bar_p3', namespace='baz.bon')) |
+ apps_resolver.GetLink('falafel.faf', namespace='a')) |
self.assertEqual( |
None, |
- resolver.GetLink('falafel.faf', namespace='a')) |
+ apps_resolver.GetLink('bar_p3', namespace='foo')) |
+ # Exists in apps but not extensions. |
self.assertEqual( |
None, |
- resolver.GetLink('bar_p3', namespace='foo')) |
+ extensions_resolver.GetLink('foo.foo_p3', namespace='baz')) |
if __name__ == '__main__': |
unittest.main() |