def test_get_target(self): assert dactyl_build.get_target(None) == {"name": "test_target"} assert dactyl_build.get_target("conditionals") == { "name": "conditionals", "display_name": "Conditional Text Target" } assert dactyl_build.get_target({"name": "runtime_target"}) == { "name": "runtime_target" }
def test_get_pages(self): assert dactyl_build.get_pages(dactyl_build.get_target("test_target"), False) == [{ 'name': 'filters_page', 'category': 'Filters', 'filters': ['mock_filter'], 'targets': ['test_target'], 'html': 'filters_page.html' }, { 'name': 'test_page', 'category': 'Tests', 'html': 'test.html', 'targets': ['test_target'] }]
def check_all_pages(target=None): """Reads all pages for a target and checks them for style.""" target = dactyl_build.get_target(target) pages = dactyl_build.get_pages(target) pp_env = dactyl_build.setup_pp_env() print("Style Checker - checking all pages in target %s" % target["name"]) style_issues = [] for page in pages: if "md" not in page: # Not a doc page, move on continue logger.info("Checking page %s" % page["name"]) page_issues = [] html = dactyl_build.parse_markdown(page, pages=pages, target=target) soup = BeautifulSoup(html, "html.parser") overrides = get_overrides(soup) content_elements = [ "p", "li", "a", "em", "strong", "th", "td", "h1", "h2", "h3", "h4", "h5", "h6" ] for el in soup.descendants: if (type(el) == NavigableString and el.parent.name in content_elements and str(el).strip()): passage = str(el).strip() passage_issues = check_passage(passage, overrides) if passage_issues: page_issues += passage_issues #print("'%s' (%s)" % (el, el.parent.name)) # for el in soup.find_all(content_elements): # for passage in el.stripped_strings: # passage_issues = check_passage(passage, overrides) # if passage_issues: # page_issues += passage_issues if page_issues: style_issues.append((page["name"], page_issues)) return style_issues
def test_es_index_name(self): test_target = dactyl_build.get_target("es_index_test_target") dactyl_build.config["es_index_fields"] = ["foo1", "foo2"] dactyl_build.config["es_index_separator"] = "--" assert dactyl_build.es_index_name( test_target) == "Foo_Value_1--Foo_Value_TWOOOO"
def test_get_filters_for_page(self): # Please note: due to the mock setup for unit testing, this function will always return an empty set. Refactoring is recommended to verify the remaining functionality for this method. assert dactyl_build.get_filters_for_page( dactyl_build.config["pages"][0], dactyl_build.get_target("filters_target")) == set()