text: # -*- coding: utf-8 -*-
  """
  Use nose
  `$ pip install nose`
  `$ nosetests`
  """
  from hyde.generator import Generator
  from hyde.site import Site
  
  
  from fswrap import File
  from nose.tools import nottest
  from pyquery import PyQuery
  
  TEST_SITE = File(__file__).parent.parent.child_folder('_test')
  
  
  class TestAutoExtend(object):
  
      def setUp(self):
          TEST_SITE.make()
          TEST_SITE.parent.child_folder(
              'sites/test_jinja').copy_contents_to(TEST_SITE)
  
      def tearDown(self):
          TEST_SITE.delete()
  
      @nottest
      def assert_extended(self, s, txt, templ):
          content = (templ.strip() % txt).strip()
          bd = File(TEST_SITE.child('content/auto_extend.html'))
          bd.write(content)
          gen = Generator(s)
          gen.generate_resource_at_path(bd.path)
          res = s.content.resource_from_path(bd.path)
          target = File(
              s.config.deploy_root_path.child(res.relative_deploy_path))
          assert target.exists
          text = target.read_all()
          q = PyQuery(text)
          assert q('title').text().strip() == txt.strip()
  
      def test_can_auto_extend(self):
          s = Site(TEST_SITE)
          s.config.plugins = ['hyde.ext.plugins.meta.MetaPlugin',
                              'hyde.ext.plugins.meta.AutoExtendPlugin',
                              'hyde.ext.plugins.text.BlockdownPlugin']
          txt = ("This template tests to make sure blocks can be replaced with"
                 "markdownish syntax.")
          templ = """
  ---
  extends: base.html
  ---
  =====title========
  %s
  ====/title========"""
          self.assert_extended(s, txt, templ)
  
      def test_can_auto_extend_with_default_blocks(self):
          s = Site(TEST_SITE)
          s.config.plugins = ['hyde.ext.plugins.meta.MetaPlugin',
                              'hyde.ext.plugins.meta.AutoExtendPlugin',
                              'hyde.ext.plugins.text.BlockdownPlugin']
          txt = ("This template tests to make sure blocks can be replaced with"
                 "markdownish syntax.")
          templ = """
  ---
  extends: base.html
  default_block: title
  ---
  %s
  """
          self.assert_extended(s, txt, templ)
  