def test_tn_preprocessor_short(self): # given repo_name = 'en_tn_2books' file_name = os.path.join('raw_sources', repo_name + '.zip') rc, repo_dir, self.temp_dir = self.extractFiles(file_name, repo_name) repo_dir = os.path.join(repo_dir) self.out_dir = tempfile.mkdtemp(prefix='Door43_test_output_') # repo_name = 'dummy_repo' # when do_preprocess('Translation_Notes', 'dummyOwner', 'dummyURL', rc, repo_dir, self.out_dir) # then # self.assertTrue(preproc.is_multiple_jobs()) # self.assertEqual(len(preproc.get_book_list()), 2) self.assertTrue( os.path.isfile(os.path.join(self.out_dir, 'index.json'))) self.assertFalse( os.path.isfile(os.path.join(self.out_dir, '01-GEN.md'))) self.assertFalse( os.path.isfile(os.path.join(self.out_dir, '67-REV.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '02-EXO.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '03-LEV.md'))) read_file(os.path.join(self.out_dir, 'index.json')) exo = read_file(os.path.join(self.out_dir, '02-EXO.md')) self.assertGreater(len(exo), 1000) lev = read_file(os.path.join(self.out_dir, '03-LEV.md')) self.assertGreater(len(lev), 1000)
def test_ta_preprocessor(self): file_name = os.path.join('raw_sources', 'en_ta.zip') repo_name = 'en_ta' rc, repo_dir, self.temp_dir = self.extractFiles(file_name, repo_name) self.out_dir = tempfile.mkdtemp(prefix='Door43_test_output_') do_preprocess('Translation_Academy', 'dummyOwner', 'dummyURL', rc, repo_dir, self.out_dir) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '01-intro.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '02-process.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '03-translate.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '04-checking.md'))) intro = read_file(os.path.join(self.out_dir, '01-intro.md')) process = read_file(os.path.join(self.out_dir, '02-process.md')) translate = read_file(os.path.join(self.out_dir, '03-translate.md')) checking = read_file(os.path.join(self.out_dir, '04-checking.md')) soup = BeautifulSoup(markdown2.markdown(checking, extras=['markdown-in-html', 'tables']), 'html.parser') self.assertEqual(soup.h1.text, "Checking Manual") self.assertIsNotNone(soup.find("a", {"id": "accurate"})) self.assertEqual(len(soup.find_all('li')), 350) # Test links have been converted self.assertIsNotNone(soup.find("a", {"href": "#accuracy-check"})) self.assertIsNotNone(soup.find("a", {"href": "03-translate.html#figs-explicit"})) # make sure no old links exist self.assertTrue('../' not in checking) self.assertTrue('../' not in intro) self.assertTrue('../' not in process) self.assertTrue('../' not in translate) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '04-checking-toc.yaml'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '04-checking-config.yaml'))) preprocessor = TaPreprocessor('dummyURL', rc, 'dummyOwner', repo_dir, self.out_dir) self.assertEqual(preprocessor.get_title(rc.project('checking'), 'fake-link', 'My Title'), 'My Title') self.assertEqual(preprocessor.get_title(rc.project('checking'), 'fake-link'), 'Fake Link')
def test_preprocessor_for_tq_project_with_one_md_file(self): file_name = os.path.join('raw_sources', 'en_tq_with_one_md_file.zip') repo_name = 'en_tq' rc, repo_dir, self.temp_dir = self.extractFiles(file_name, repo_name) self.out_dir = tempfile.mkdtemp(prefix='Door43_test_output_') do_preprocess('Translation_Questions', 'dummyOwner', 'dummyURL', rc, repo_dir, self.out_dir) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '51-PHP.md')))
def test_preprocessor_for_tw(self): file_name = os.path.join('raw_sources', 'en_tw.zip') repo_name = 'en_tw' rc, repo_dir, self.temp_dir = self.extractFiles(file_name, repo_name) self.out_dir = tempfile.mkdtemp(prefix='Door43_test_output_') do_preprocess('Translation_Words', 'dummyOwner', 'dummyURL', rc, repo_dir, self.out_dir) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, 'kt.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, 'names.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, 'other.md')))
def test_tq_preprocessor_two_books(self): # given repo_name = 'en_tq_two_books' file_name = os.path.join('raw_sources', repo_name + '.zip') rc, repo_dir, self.temp_dir = self.extractFiles(file_name, repo_name) repo_dir = os.path.join(repo_dir) self.out_dir = tempfile.mkdtemp(prefix='Door43_test_output_') # when do_preprocess('Translation_Questions', 'dummyOwner', 'dummyURL', rc, repo_dir, self.out_dir) # then self.assertTrue( os.path.isfile(os.path.join(self.out_dir, 'index.json'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '51-PHP.md'))) self.assertTrue(os.path.isfile(os.path.join(self.out_dir, '57-TIT.md')))