コード例 #1
0
ファイル: test_scrape.py プロジェクト: renoirb/browsercompat
 def test_load_compat_table_existing_resources(self):
     version = self.get_instance("Version", ("firefox_desktop", "1.0"))
     browser = version.browser
     feature = self.get_instance("Feature", "web-css-background-size-contain_and_cover")
     support = self.create(Support, version=version, feature=feature)
     browser_id = str(browser.id)
     version_id = str(version.id)
     feature_id = str(feature.id)
     support_id = str(support.id)
     scraped_data = self.empty_scrape()
     scraped_table = {
         "name": "desktop",
         "browsers": [{"id": browser_id, "name": browser.name["en"], "slug": browser.slug}],
         "versions": [{"id": version_id, "browser": browser_id, "version": "1.0"}],
         "features": [{"id": feature_id, "name": feature.name["en"], "slug": feature.slug}],
         "supports": [{"id": support_id, "feature": feature_id, "version": version_id, "support": "yes"}],
     }
     scraped_data["compat"].append(scraped_table)
     view = ScrapedViewFeature(self.page, scraped_data)
     out = view.generate_data()
     expected = self.empty_view(scraped_data)
     expected["linked"]["browsers"].append(view.load_browser(browser.id))
     expected["linked"]["versions"].append(view.load_version(version.id))
     expected["linked"]["features"].append(view.load_feature(feature.id))
     expected["linked"]["supports"].append(view.load_support(support.id))
     expected["meta"]["compat_table"]["supports"][feature_id] = {browser_id: [support_id]}
     expected["meta"]["compat_table"]["tabs"].append({"name": {"en": "Desktop Browsers"}, "browsers": [browser_id]})
     self.assertDataEqual(expected, out)
コード例 #2
0
 def test_load_compat_table_new_support_with_note(self):
     version = self.get_instance('Version', ('firefox_desktop', '1.0'))
     browser = version.browser
     feature = self.get_instance(
         'Feature', 'web-css-background-size-contain_and_cover')
     browser_id = str(browser.id)
     version_id = str(version.id)
     feature_id = str(feature.id)
     support_id = '_%s-%s' % (feature_id, version_id)
     scraped_data = self.empty_scrape()
     scraped_table = {
         'name':
         'desktop',
         'browsers': [{
             'id': browser_id,
             'name': browser.name['en'],
             'slug': browser.slug
         }],
         'versions': [{
             'id': version_id,
             'browser': browser_id,
             'version': '1.0'
         }],
         'features': [{
             'id': feature_id,
             'name': feature.name['en'],
             'slug': feature.slug
         }],
         'supports': [{
             'id': support_id,
             'feature': feature_id,
             'version': version_id,
             'support': 'yes',
             'footnote': 'Footnote'
         }]
     }
     scraped_data['compat'].append(scraped_table)
     view = ScrapedViewFeature(self.page, scraped_data)
     out = view.generate_data()
     expected = self.empty_view(scraped_data)
     support_content = view.new_support(scraped_table['supports'][0])
     expected['linked']['browsers'].append(view.load_browser(browser.id))
     expected['linked']['versions'].append(view.load_version(version.id))
     expected['linked']['features'].append(view.load_feature(feature.id))
     expected['linked']['supports'].append(support_content)
     expected['meta']['compat_table']['supports'][feature_id] = {
         browser_id: [support_id]
     }
     expected['meta']['compat_table']['tabs'].append({
         'name': {
             'en': 'Desktop Browsers'
         },
         'browsers': [browser_id]
     })
     expected['meta']['compat_table']['notes'][support_id] = 1
     self.assertDataEqual(expected, out)
コード例 #3
0
ファイル: test_scrape.py プロジェクト: yyinhai/browsercompat
 def test_load_compat_table_existing_resources(self):
     version = self.get_instance('Version', ('firefox_desktop', '1.0'))
     browser = version.browser
     feature = self.get_instance(
         'Feature', 'web-css-background-size-contain_and_cover')
     support = self.create(Support, version=version, feature=feature)
     browser_id = str(browser.id)
     version_id = str(version.id)
     feature_id = str(feature.id)
     support_id = str(support.id)
     scraped_data = self.empty_scrape()
     scraped_table = {
         'name':
         'desktop',
         'browsers': [{
             'id': browser_id,
             'name': browser.name['en'],
             'slug': browser.slug
         }],
         'versions': [{
             'id': version_id,
             'browser': browser_id,
             'version': '1.0'
         }],
         'features': [{
             'id': feature_id,
             'name': feature.name['en'],
             'slug': feature.slug
         }],
         'supports': [{
             'id': support_id,
             'feature': feature_id,
             'version': version_id,
             'support': 'yes'
         }]
     }
     scraped_data['compat'].append(scraped_table)
     view = ScrapedViewFeature(self.page, scraped_data)
     out = view.generate_data()
     expected = self.empty_view(scraped_data)
     expected['features']['links']['children'] = [feature_id]
     expected['linked']['browsers'].append(view.load_browser(browser.id))
     expected['linked']['versions'].append(view.load_version(version.id))
     expected['linked']['features'].append(view.load_feature(feature.id))
     expected['linked']['supports'].append(view.load_support(support.id))
     expected['meta']['compat_table']['supports'][feature_id] = {
         browser_id: [support_id]
     }
     expected['meta']['compat_table']['tabs'].append({
         'name': {
             'en': 'Desktop Browsers'
         },
         'browsers': [browser_id]
     })
     self.assertDataEqual(expected, out)
コード例 #4
0
 def test_load_feature_canonical_name(self):
     feature = self.create(
         Feature, slug='web-css-background-size_list-item',
         name={'zxx': 'list-item'}, parent=self.feature)
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         'id': str(feature.id), 'name': 'list-item',
         'slug': feature.slug, 'mdn_uri': None, 'obsolete': False,
         'stable': True, 'standardized': True, 'experimental': False,
         'links': {
             'children': [], 'parent': str(self.feature.id),
             'references': [], 'supports': []}}
     self.assertDataEqual(expected, feature_content)
コード例 #5
0
 def test_load_feature(self):
     feature = self.get_instance(
         'Feature', 'web-css-background-size-contain_and_cover')
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         'id': str(feature.id),
         'name': {'en': '<code>contain</code> and <code>cover</code>'},
         'slug': feature.slug, 'mdn_uri': None, 'obsolete': False,
         'stable': True, 'standardized': True, 'experimental': False,
         'links': {
             'children': [], 'parent': str(self.feature.id),
             'references': [], 'supports': []}}
     self.assertDataEqual(expected, feature_content)
コード例 #6
0
ファイル: test_scrape.py プロジェクト: renoirb/browsercompat
 def test_load_feature(self):
     feature = self.get_instance("Feature", "web-css-background-size-contain_and_cover")
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         "id": str(feature.id),
         "name": {"en": "<code>contain</code> and <code>cover</code>"},
         "slug": feature.slug,
         "mdn_uri": None,
         "obsolete": False,
         "stable": True,
         "standardized": True,
         "experimental": False,
         "links": {"children": [], "parent": str(self.feature.id), "sections": [], "supports": []},
     }
     self.assertDataEqual(expected, feature_content)
コード例 #7
0
ファイル: test_scrape.py プロジェクト: renoirb/browsercompat
 def test_load_feature_canonical_name(self):
     feature = self.create(
         Feature, slug="web-css-background-size_list-item", name={"zxx": "list-item"}, parent=self.feature
     )
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         "id": str(feature.id),
         "name": "list-item",
         "slug": feature.slug,
         "mdn_uri": None,
         "obsolete": False,
         "stable": True,
         "standardized": True,
         "experimental": False,
         "links": {"children": [], "parent": str(self.feature.id), "sections": [], "supports": []},
     }
     self.assertDataEqual(expected, feature_content)
コード例 #8
0
 def test_load_compat_table_existing_resources(self):
     version = self.get_instance('Version', ('firefox_desktop', '1.0'))
     browser = version.browser
     feature = self.get_instance(
         'Feature', 'web-css-background-size-contain_and_cover')
     support = self.create(Support, version=version, feature=feature)
     browser_id = str(browser.id)
     version_id = str(version.id)
     feature_id = str(feature.id)
     support_id = str(support.id)
     scraped_data = self.empty_scrape()
     scraped_table = {
         'name': 'desktop',
         'browsers': [{
             'id': browser_id, 'name': browser.name['en'],
             'slug': browser.slug}],
         'versions': [{
             'id': version_id, 'browser': browser_id, 'version': '1.0'}],
         'features': [{
             'id': feature_id, 'name': feature.name['en'],
             'slug': feature.slug}],
         'supports': [{
             'id': support_id, 'feature': feature_id, 'version': version_id,
             'support': 'yes'}]}
     scraped_data['compat'].append(scraped_table)
     view = ScrapedViewFeature(self.page, scraped_data)
     out = view.generate_data()
     expected = self.empty_view(scraped_data)
     expected['features']['links']['children'] = [feature_id]
     expected['linked']['browsers'].append(view.load_browser(browser.id))
     expected['linked']['versions'].append(view.load_version(version.id))
     expected['linked']['features'].append(view.load_feature(feature.id))
     expected['linked']['supports'].append(view.load_support(support.id))
     expected['meta']['compat_table']['supports'][feature_id] = {
         browser_id: [support_id]}
     expected['meta']['compat_table']['tabs'].append({
         'name': {'en': 'Desktop Browsers'},
         'browsers': [browser_id]})
     self.assertDataEqual(expected, out)
コード例 #9
0
ファイル: test_scrape.py プロジェクト: yyinhai/browsercompat
 def test_load_feature_canonical_name(self):
     feature = self.create(Feature,
                           slug='web-css-background-size_list-item',
                           name={'zxx': 'list-item'},
                           parent=self.feature)
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         'id': str(feature.id),
         'name': 'list-item',
         'slug': feature.slug,
         'mdn_uri': None,
         'obsolete': False,
         'stable': True,
         'standardized': True,
         'experimental': False,
         'links': {
             'children': [],
             'parent': str(self.feature.id),
             'references': [],
             'supports': []
         }
     }
     self.assertDataEqual(expected, feature_content)
コード例 #10
0
ファイル: test_scrape.py プロジェクト: yyinhai/browsercompat
 def test_load_feature(self):
     feature = self.get_instance(
         'Feature', 'web-css-background-size-contain_and_cover')
     view = ScrapedViewFeature(self.page, self.empty_scrape())
     feature_content = view.load_feature(feature.id)
     expected = {
         'id': str(feature.id),
         'name': {
             'en': '<code>contain</code> and <code>cover</code>'
         },
         'slug': feature.slug,
         'mdn_uri': None,
         'obsolete': False,
         'stable': True,
         'standardized': True,
         'experimental': False,
         'links': {
             'children': [],
             'parent': str(self.feature.id),
             'references': [],
             'supports': []
         }
     }
     self.assertDataEqual(expected, feature_content)