@@ -23,7 +23,7 @@ def load_missing_config():
2323
2424 def test_missing_site_name (self ):
2525 c = config .Config (schema = defaults .get_schema ())
26- c .load_dict ({})
26+ c .load_dict ({'site_url' : 'https://example.com' })
2727 errors , warnings = c .validate ()
2828 self .assertEqual (len (errors ), 1 )
2929 self .assertEqual (errors [0 ][0 ], 'site_name' )
@@ -290,3 +290,123 @@ def testConfigInstancesUnique(self):
290290 conf .load_dict ({'site_name' : 'foo' })
291291 conf .validate ()
292292 self .assertIsNone (conf ['mdx_configs' ].get ('toc' ))
293+
294+ def test_site_url_and_use_directory_urls_undefined (self ):
295+ conf = config .Config (schema = defaults .get_schema ())
296+ conf .load_dict ({
297+ 'site_name' : 'Example' ,
298+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
299+ })
300+ errors , warnings = conf .validate ()
301+ self .assertEqual (conf ['site_url' ], '' )
302+ self .assertFalse (conf ['use_directory_urls' ])
303+ self .assertEqual (len (warnings ), 2 )
304+ self .assertEqual (len (errors ), 0 )
305+
306+ def test_site_url_undefined_and_use_directory_urls_false (self ):
307+ conf = config .Config (schema = defaults .get_schema ())
308+ conf .load_dict ({
309+ 'site_name' : 'Example' ,
310+ 'use_directory_urls' : False ,
311+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
312+ })
313+ errors , warnings = conf .validate ()
314+ self .assertEqual (conf ['site_url' ], '' )
315+ self .assertFalse (conf ['use_directory_urls' ])
316+ self .assertEqual (len (warnings ), 1 )
317+ self .assertEqual (len (errors ), 0 )
318+
319+ def test_site_url_undefined_and_use_directory_urls_true (self ):
320+ conf = config .Config (schema = defaults .get_schema ())
321+ conf .load_dict ({
322+ 'site_name' : 'Example' ,
323+ 'use_directory_urls' : True ,
324+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
325+ })
326+ errors , warnings = conf .validate ()
327+ self .assertEqual (conf ['site_url' ], '' )
328+ self .assertFalse (conf ['use_directory_urls' ])
329+ self .assertEqual (len (warnings ), 2 )
330+ self .assertEqual (len (errors ), 0 )
331+
332+ def test_site_url_empty_and_use_directory_urls_undefined (self ):
333+ conf = config .Config (schema = defaults .get_schema ())
334+ conf .load_dict ({
335+ 'site_name' : 'Example' ,
336+ 'site_url' : '' ,
337+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
338+ })
339+ errors , warnings = conf .validate ()
340+ self .assertEqual (conf ['site_url' ], '' )
341+ self .assertFalse (conf ['use_directory_urls' ])
342+ self .assertEqual (len (warnings ), 1 )
343+ self .assertEqual (len (errors ), 0 )
344+
345+ def test_site_url_empty_and_use_directory_urls_false (self ):
346+ conf = config .Config (schema = defaults .get_schema ())
347+ conf .load_dict ({
348+ 'site_name' : 'Example' ,
349+ 'site_url' : '' ,
350+ 'use_directory_urls' : False ,
351+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
352+ })
353+ errors , warnings = conf .validate ()
354+ self .assertEqual (conf ['site_url' ], '' )
355+ self .assertFalse (conf ['use_directory_urls' ])
356+ self .assertEqual (len (warnings ), 0 )
357+ self .assertEqual (len (errors ), 0 )
358+
359+ def test_site_url_empty_and_use_directory_urls_true (self ):
360+ conf = config .Config (schema = defaults .get_schema ())
361+ conf .load_dict ({
362+ 'site_name' : 'Example' ,
363+ 'site_url' : '' ,
364+ 'use_directory_urls' : True ,
365+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
366+ })
367+ errors , warnings = conf .validate ()
368+ self .assertEqual (conf ['site_url' ], '' )
369+ self .assertFalse (conf ['use_directory_urls' ])
370+ self .assertEqual (len (warnings ), 1 )
371+ self .assertEqual (len (errors ), 0 )
372+
373+ def test_site_url_defined_and_use_directory_urls_undefined (self ):
374+ conf = config .Config (schema = defaults .get_schema ())
375+ conf .load_dict ({
376+ 'site_name' : 'Example' ,
377+ 'site_url' : 'http://example.com/' ,
378+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
379+ })
380+ errors , warnings = conf .validate ()
381+ self .assertEqual (conf ['site_url' ], 'http://example.com/' )
382+ self .assertTrue (conf ['use_directory_urls' ])
383+ self .assertEqual (len (warnings ), 0 )
384+ self .assertEqual (len (errors ), 0 )
385+
386+ def test_site_url_defined_and_use_directory_urls_false (self ):
387+ conf = config .Config (schema = defaults .get_schema ())
388+ conf .load_dict ({
389+ 'site_name' : 'Example' ,
390+ 'site_url' : 'http://example.com/' ,
391+ 'use_directory_urls' : False ,
392+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
393+ })
394+ errors , warnings = conf .validate ()
395+ self .assertEqual (conf ['site_url' ], 'http://example.com/' )
396+ self .assertFalse (conf ['use_directory_urls' ])
397+ self .assertEqual (len (warnings ), 0 )
398+ self .assertEqual (len (errors ), 0 )
399+
400+ def test_site_url_defined_and_use_directory_urls_true (self ):
401+ conf = config .Config (schema = defaults .get_schema ())
402+ conf .load_dict ({
403+ 'site_name' : 'Example' ,
404+ 'site_url' : 'http://example.com/' ,
405+ 'use_directory_urls' : True ,
406+ 'config_file_path' : os .path .join (os .path .abspath ('.' ), 'mkdocs.yml' )
407+ })
408+ errors , warnings = conf .validate ()
409+ self .assertEqual (conf ['site_url' ], 'http://example.com/' )
410+ self .assertTrue (conf ['use_directory_urls' ])
411+ self .assertEqual (len (warnings ), 0 )
412+ self .assertEqual (len (errors ), 0 )
0 commit comments