      # Three-level inheritance with {{ block.super }} from parent and grandparent
      'inheritance23': ("{% extends 'inheritance20' %}{% block first %}{{ block.super }}b{% endblock %}", {}, '1_ab3_'),
  
      ### I18N ##################################################################
  
      # {% spaceless %} tag
      'spaceless01': ("{% spaceless %} <b>    <i> text </i>    </b> {% endspaceless %}", {}, "<b> <i> text </i> </b>"),
      'spaceless02': ("{% spaceless %} <b> \n <i> text </i> \n </b> {% endspaceless %}", {}, "<b> <i> text </i> </b>"),
      'spaceless03': ("{% spaceless %}<b><i>text</i></b>{% endspaceless %}", {}, "<b><i>text</i></b>"),
 
</s> remove This tag may be used in two ways: ``{% extends "base.html" %}`` (with quotes)
uses the literal value "base.html" as the name of the parent template to
extend, or ``{% extends variable %}`` uses the value of ``variable`` as the
name of the parent template to extend.
 </s> add This tag may be used in two ways: 

   * ``{% extends "base.html" %}`` (with quotes) uses the literal value
     "base.html" as the name of the parent template to extend

   * ``{% extends variable %}`` uses the value of ``variable`` as either the
     name of the parent template to extend (if it evaluates to a string,) or
     as the parent tempate itelf (if it evaluates to a Template object). </s> remove     or ``{% extends variable %}`` uses the value of ``variable`` as the name
    of the parent template to extend.
 </s> add     or ``{% extends variable %}`` uses the value of ``variable`` as either the
    name of the parent template to extend (if it evaluates to a string,) or as
    the parent tempate itelf (if it evaluates to a Template object).
    # Inheritance from local context without use of template loader
    'inheritance24': ("{% extends context_template %}{% block first %}2{% endblock %}{% block second %}4{% endblock %}", {'context_template': template.Template("1{% block first %}_{% endblock %}3{% block second %}_{% endblock %}")}, '1234'),

    # Inheritance from local context with variable parent template
    'inheritance25': ("{% extends context_template.1 %}{% block first %}2{% endblock %}{% block second %}4{% endblock %}", {'context_template': [template.Template("Wrong"), template.Template("1{% block first %}_{% endblock %}3{% block second %}_{% endblock %}")]}, '1234'),

      # Three-level inheritance with {{ block.super }} from parent and grandparent
      'inheritance23': ("{% extends 'inheritance20' %}{% block first %}{{ block.super }}b{% endblock %}", {}, '1_ab3_'),
  
    # Inheritance from local context without use of template loader
    'inheritance24': ("{% extends context_template %}{% block first %}2{% endblock %}{% block second %}4{% endblock %}", {'context_template': template.Template("1{% block first %}_{% endblock %}3{% block second %}_{% endblock %}")}, '1234'),

    # Inheritance from local context with variable parent template
    'inheritance25': ("{% extends context_template.1 %}{% block first %}2{% endblock %}{% block second %}4{% endblock %}", {'context_template': [template.Template("Wrong"), template.Template("1{% block first %}_{% endblock %}3{% block second %}_{% endblock %}")]}, '1234'),

      ### I18N ##################################################################
  
      # {% spaceless %} tag
      'spaceless01': ("{% spaceless %} <b>    <i> text </i>    </b> {% endspaceless %}", {}, "<b> <i> text </i> </b>"),
      'spaceless02': ("{% spaceless %} <b> \n <i> text </i> \n </b> {% endspaceless %}", {}, "<b> <i> text </i> </b>"),
      'spaceless03': ("{% spaceless %}<b><i>text</i></b>{% endspaceless %}", {}, "<b><i>text</i></b>"),
keep keep add keep keep keep keep keep keep
 Fixed #1650: the {% extends %} tag now can extend a Template object passed into the context.  Thanks, clelland@gmail.com.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3465 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
tests/othertests/templates.py