def test_replace_refes(self): test_dir = self.workdir test_in_dir = os.path.join(test_dir, 'in') test_in_dir_a = os.path.join(test_dir, 'in/a') test_in_dir_b = os.path.join(test_dir, 'in/b') os.makedirs(test_in_dir) os.makedirs(test_in_dir_a) os.makedirs(test_in_dir_b) test_out_dir = os.path.join(test_dir, 'out') os.makedirs(test_out_dir) test_path1 = os.path.join(test_in_dir_a, 'file1.md') test_path2 = os.path.join(test_in_dir_b, 'file2.md') test_path3 = os.path.join(test_in_dir_b, 'file3.notmd') test_path4 = os.path.join(test_in_dir_b, 'OWNERS') with open(test_path1, 'w') as f: f.write('Use `tf.test_function` to test things.') with open(test_path2, 'w') as f: f.write('Use @{tf.TestModule.TestClass.ChildClass} to test things.\n' "`tf.whatever` doesn't exist") with open(test_path3, 'w') as f: file3_content = ( 'Not a .md file. Should be copied unchanged:' '@{tf.TestModule.TestClass.ChildClass}, `tf.test_function`') f.write(file3_content) with open(test_path4, 'w') as f: f.write('') reference_resolver, _ = self.get_test_objects() generate_lib.replace_refs(test_in_dir, test_out_dir, reference_resolver, '*.md') with open(os.path.join(test_out_dir, 'a/file1.md')) as f: content = f.read() self.assertEqual( content, 'Use <a href="../api_docs/python/tf/TestModule/test_function.md">' '<code>tf.test_function</code></a> to test things.') with open(os.path.join(test_out_dir, 'b/file2.md')) as f: content = f.read() self.assertEqual( content, 'Use ' '<a href="../api_docs/python/tf/TestModule/TestClass/ChildClass.md">' '<code>tf.TestModule.TestClass.ChildClass</code></a> ' 'to test things.\n' '`tf.whatever` doesn\'t exist') with open(os.path.join(test_out_dir, 'b/file3.notmd')) as f: content = f.read() self.assertEqual(content, file3_content) with self.assertRaises(IOError): # This should fail. The OWNERS file should not be copied with open(os.path.join(test_out_dir, 'b/OWNERS')) as f: content = f.read()
def test_replace_refes(self): test_dir = self.workdir test_in_dir = os.path.join(test_dir, 'in') test_in_dir_a = os.path.join(test_dir, 'in/a') test_in_dir_b = os.path.join(test_dir, 'in/b') os.makedirs(test_in_dir) os.makedirs(test_in_dir_a) os.makedirs(test_in_dir_b) test_out_dir = os.path.join(test_dir, 'out') os.makedirs(test_out_dir) test_path1 = os.path.join(test_in_dir_a, 'file1.md') test_path2 = os.path.join(test_in_dir_b, 'file2.md') test_path3 = os.path.join(test_in_dir_b, 'file3.notmd') test_path4 = os.path.join(test_in_dir_b, 'OWNERS') with open(test_path1, 'w') as f: f.write('Use `tf.test_function` to test things.') with open(test_path2, 'w') as f: f.write('Use `tf.TestModule.TestClass.ChildClass` to test things.\n' "`tf.whatever` doesn't exist") with open(test_path3, 'w') as f: file3_content = ( 'Not a .md file. Should be copied unchanged:' '`tf.TestModule.TestClass.ChildClass`, `tf.test_function`') f.write(file3_content) with open(test_path4, 'w') as f: f.write('') reference_resolver, _ = self.get_test_objects() generate_lib.replace_refs(test_in_dir, test_out_dir, reference_resolver, '*.md') with open(os.path.join(test_out_dir, 'a/file1.md')) as f: content = f.read() self.assertEqual( content, 'Use <a href="../api_docs/python/tf/TestModule/test_function.md">' '<code>tf.test_function</code></a> to test things.') with open(os.path.join(test_out_dir, 'b/file2.md')) as f: content = f.read() self.assertEqual( content, 'Use ' '<a href="../api_docs/python/tf/TestModule/TestClass/ChildClass.md">' '<code>tf.TestModule.TestClass.ChildClass</code></a> ' 'to test things.\n' '`tf.whatever` doesn\'t exist') with open(os.path.join(test_out_dir, 'b/file3.notmd')) as f: content = f.read() self.assertEqual(content, file3_content) with self.assertRaises(IOError): # This should fail. The OWNERS file should not be copied with open(os.path.join(test_out_dir, 'b/OWNERS')) as f: content = f.read()