1. from django.contrib.flatpages.models import FlatPage
    
  2. from django.test import SimpleTestCase, override_settings
    
  3. from django.test.utils import override_script_prefix
    
  4. 
    
  5. 
    
  6. class FlatpageModelTests(SimpleTestCase):
    
  7.     def setUp(self):
    
  8.         self.page = FlatPage(title="Café!", url="/café/")
    
  9. 
    
  10.     def test_get_absolute_url_urlencodes(self):
    
  11.         self.assertEqual(self.page.get_absolute_url(), "/caf%C3%A9/")
    
  12. 
    
  13.     @override_script_prefix("/prefix/")
    
  14.     def test_get_absolute_url_honors_script_prefix(self):
    
  15.         self.assertEqual(self.page.get_absolute_url(), "/prefix/caf%C3%A9/")
    
  16. 
    
  17.     def test_str(self):
    
  18.         self.assertEqual(str(self.page), "/café/ -- Café!")
    
  19. 
    
  20.     @override_settings(ROOT_URLCONF="flatpages_tests.urls")
    
  21.     def test_get_absolute_url_include(self):
    
  22.         self.assertEqual(self.page.get_absolute_url(), "/flatpage_root/caf%C3%A9/")
    
  23. 
    
  24.     @override_settings(ROOT_URLCONF="flatpages_tests.no_slash_urls")
    
  25.     def test_get_absolute_url_include_no_slash(self):
    
  26.         self.assertEqual(self.page.get_absolute_url(), "/flatpagecaf%C3%A9/")
    
  27. 
    
  28.     @override_settings(ROOT_URLCONF="flatpages_tests.absolute_urls")
    
  29.     def test_get_absolute_url_with_hardcoded_url(self):
    
  30.         fp = FlatPage(title="Test", url="/hardcoded/")
    
  31.         self.assertEqual(fp.get_absolute_url(), "/flatpage/")