code: def test_nav_page_subclass(self):
      class PageSubclass(Page):
          pass
  
      nav_cfg = [
          {"Home": "index.md"},
          {"About": "about.md"},
      ]
      expected = dedent(
          """
              PageSubclass(title=[blank], url='/')
              PageSubclass(title=[blank], url='/about/')
              """
      )
      cfg = load_config(nav=nav_cfg, site_url="http://example.com/")
      fs = [
          File(
              list(item.values())[0],
              cfg.docs_dir,
              cfg.site_dir,
              cfg.use_directory_urls,
          )
          for item in nav_cfg
      ]
      files = Files(fs)
      for file in files:
          PageSubclass(None, file, cfg)
      site_navigation = get_navigation(files, cfg)
      self.assertEqual(str(site_navigation).strip(), expected)
      self.assertEqual(len(site_navigation.items), 2)
      self.assertEqual(len(site_navigation.pages), 2)
      self.assertEqual(
          repr(site_navigation.homepage),
          "PageSubclass(title=[blank], url='/')",
      )
  
imports: import sys
  import unittest
  from mkdocs.structure.files import File, Files, set_exclusions
  from mkdocs.structure.nav import Section, _get_by_type, get_navigation
  from mkdocs.structure.pages import Page
  from mkdocs.tests.base import dedent, load_config
label_desc: Use image node_id 15 for calling the SiteNavigationTests obj's underlying member method code with example usage: obj.test_nav_page_subclass() without return types