def test_dont_override_theme(self, checkout_path, run): tmpdir = tempfile.mkdtemp() os.mkdir(os.path.join(tmpdir, 'docs')) yaml_file = os.path.join(tmpdir, 'mkdocs.yml') yaml.safe_dump( { 'theme': 'not-readthedocs', 'theme_dir': 'not-readthedocs', 'site_name': 'mkdocs', 'docs_dir': 'docs', }, open(yaml_file, 'w'), ) checkout_path.return_value = tmpdir python_env = Virtualenv( version=self.version, build_env=self.build_env, config=None, ) self.searchbuilder = MkdocsHTML( build_env=self.build_env, python_env=python_env, ) self.searchbuilder.append_conf() run.assert_called_with('cat', 'mkdocs.yml', cwd=mock.ANY) config = yaml_load_safely(open(yaml_file)) self.assertEqual( config['theme_dir'], 'not-readthedocs', )
def test_append_conf_existing_yaml_on_root(self, checkout_path, run): tmpdir = tempfile.mkdtemp() os.mkdir(os.path.join(tmpdir, 'docs')) yaml_file = os.path.join(tmpdir, 'mkdocs.yml') yaml.safe_dump( { 'site_name': 'mkdocs', 'google_analytics': ['UA-1234-5', 'mkdocs.org'], 'docs_dir': 'docs', }, open(yaml_file, 'w'), ) checkout_path.return_value = tmpdir python_env = Virtualenv( version=self.version, build_env=self.build_env, config=None, ) self.searchbuilder = MkdocsHTML( build_env=self.build_env, python_env=python_env, ) self.searchbuilder.append_conf() run.assert_called_with('cat', 'mkdocs.yml', cwd=mock.ANY) config = yaml_load_safely(open(yaml_file)) self.assertEqual( config['docs_dir'], 'docs', ) self.assertEqual( config['extra_css'], [ 'http://readthedocs.org/static/css/badge_only.css', 'http://readthedocs.org/static/css/readthedocs-doc-embed.css', ], ) self.assertEqual( config['extra_javascript'], [ 'readthedocs-data.js', 'http://readthedocs.org/static/core/js/readthedocs-doc-embed.js', 'http://readthedocs.org/static/javascript/readthedocs-analytics.js', ], ) self.assertIsNone( config['google_analytics'], ) self.assertEqual( config['site_name'], 'mkdocs', )
def test_append_conf_create_yaml(self, checkout_path, run): tmpdir = tempfile.mkdtemp() os.mkdir(os.path.join(tmpdir, 'docs')) checkout_path.return_value = tmpdir python_env = Virtualenv( version=self.version, build_env=self.build_env, config=None, ) self.searchbuilder = MkdocsHTML( build_env=self.build_env, python_env=python_env, ) self.searchbuilder.append_conf() run.assert_called_with('cat', 'mkdocs.yml', cwd=mock.ANY) # There is a mkdocs.yml file created generated_yaml = os.path.join(tmpdir, 'mkdocs.yml') self.assertTrue(os.path.exists(generated_yaml)) config = yaml_load_safely(open(generated_yaml)) self.assertEqual( config['docs_dir'], os.path.join(tmpdir, 'docs'), ) self.assertEqual( config['extra_css'], [ 'http://readthedocs.org/static/css/badge_only.css', 'http://readthedocs.org/static/css/readthedocs-doc-embed.css', ], ) self.assertEqual( config['extra_javascript'], [ 'readthedocs-data.js', 'http://readthedocs.org/static/core/js/readthedocs-doc-embed.js', 'http://readthedocs.org/static/javascript/readthedocs-analytics.js', ], ) self.assertIsNone( config['google_analytics'], ) self.assertEqual( config['site_name'], 'mkdocs', )
def test_yaml_load_safely(): expected = { 'int': 3, 'float': 3.0, 'unknown': None, } content = textwrap.dedent(''' int: 3 float: !!float 3 unknown: !!python/name:unknown_funtion ''') data = yaml_load_safely(content) assert data == expected assert type(data['int']) == int assert type(data['float']) == float
def test_yaml_load_safely(): expected = { 'int': 3, 'float': 3.0, 'function': ProxyPythonName('python_function'), 'other_function': ProxyPythonName('module.other.function'), 'unknown': None, } data = yaml_load_safely(content) assert data == expected assert type(data['int']) is int assert type(data['float']) is float assert type(data['function']) is ProxyPythonName assert type(data['other_function']) is ProxyPythonName assert data['function'].value == 'python_function' assert data['other_function'].value == 'module.other.function'
def test_yaml_dump_safely(): data = yaml_load_safely(content) assert yaml_load_safely(yaml_dump_safely(data)) == data