def test_parse_imported_pages(self): code = ( 'from projects.project_name.pages import page1\n' 'from projects.project_name.pages import page2, page3\n' 'from projects.project_name.pages.module import page4\n' 'from projects.project_name.pages.module import page5, page6\n' 'from projects.project_name.pages.module.sub_module import page7\n' '\n' 'def test(data):\n' ' pass') pages = test_parser.parse_imported_pages(code) assert pages == [ 'page1', 'page2', 'page3', 'module.page4', 'module.page5', 'module.page6', 'module.sub_module.page7' ] # new line between imports code = ('from projects.project_name.pages import page1\n' '\n' 'from projects.project_name.pages import page2\n' '\n' 'def test(data):\n' ' pass') pages = test_parser.parse_imported_pages(code) assert pages == ['page1', 'page2'] # invalid import format code = ('from project_name.pages import page1\n' 'from projects.project_name import page2\n' 'from project_name.pages import *\n' 'from project_name.pages.page1 import *\n' '\n' 'def test(data):\n' ' pass') pages = test_parser.parse_imported_pages(code) assert pages == []
def pages(self): page_list = getattr(self.get_module(), 'pages', []) imported_pages = test_parser.parse_imported_pages(self.code) return page_list + imported_pages