def test_shebang_several(self): header = "#!/usr/bin/env python2\n# -*- coding: utf-8 -*-\n# -*- coding: utf-8 -*-" conanfile = self._get_conanfile(author=six.u("¡Ñandú!"), header=header, encoding='utf-8') _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)
def test_comment_and_attribute(self): comment = ' # line1\n url=23' conanfile = self._get_conanfile(footer=comment) self.assertIn(comment, load(conanfile)) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile) self.assertIn(comment, load(conanfile))
def test_shebang_ascii(self): header = "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-" conanfile = self._get_conanfile(author="jgsogo", header=header, encoding='ascii') _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)
def test_two_comments(self): comment = " # line1\n # line2" conanfile = self._get_conanfile(footer=comment) self.assertIn(comment, load(conanfile)) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile) self.assertIn(comment, load(conanfile))
def test_comment_class_level(self): comment = " # This is a comment, file level" conanfile = self._get_conanfile(footer=comment) self.assertIn(comment, load(conanfile)) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile) self.assertIn(comment, load(conanfile))
def test_multiline_comment_and_attribute(self): comment = ' """\n line1\n line2\n """\n url=23' conanfile = self._get_conanfile(footer=comment) self.assertIn(comment, load(conanfile)) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile) # FIXME: We lost the multiline comment self.assertIn(" url=23", load(conanfile))
def _do_actual_test(self, scm_data, after_scm, after_recipe): target_conanfile = self.conanfile.format(url=scm_data['url'], revision=scm_data['revision'], after_scm=after_scm, after_recipe=after_recipe) save(self.conanfile_path, content=self.conanfile.format(url='auto', revision='auto', after_scm=after_scm, after_recipe=after_recipe)) scm_data = SCMData(conanfile=namedtuple('_', 'scm')(scm=scm_data)) _replace_scm_data_in_conanfile(self.conanfile_path, scm_data) self.assertEqual(load(self.conanfile_path), target_conanfile) _parse_conanfile(conan_file_path=self.conanfile_path) # Check that the resulting file is valid python code.
def test_author_non_ascii(self): conanfile = self._get_conanfile(author=six.u("¡ÑÁí!"), encoding='utf-8') _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)
def test_base(self): conanfile = self._get_conanfile() _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)
def test_multiline_comment(self): comment = ' """\n line1\n line2\n """' conanfile = self._get_conanfile(footer=comment) self.assertIn(comment, load(conanfile)) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)
def test_multiline_statement(self): """ Statement with several lines below the scm attribute """ statement = "\n long_list = 'a', 'b', 'c' \\\n 'd', 'e'" conanfile = self._get_conanfile(footer=statement) _replace_scm_data_in_conanfile(conanfile, self.scm_data) self._check_result(conanfile)