Skip to content

Commit

Permalink
Merge pull request #83 from chrishaines/develop
Browse files Browse the repository at this point in the history
Jinja2 templates from string are rendered as pyjade
  • Loading branch information
syrusakbary committed Mar 4, 2013
2 parents 85c64f2 + a66e28d commit 8e69e0e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
3 changes: 2 additions & 1 deletion pyjade/ext/jinja.py
Expand Up @@ -97,6 +97,7 @@ def __init__(self, environment):
environment.globals[ITER_FUNC] = iteration

def preprocess(self, source, name, filename=None):
if name and not os.path.splitext(name)[1] in self.file_extensions:
if (not name or
(name and not os.path.splitext(name)[1] in self.file_extensions)):
return source
return process(source,filename=name,compiler=Compiler,**self.options)
26 changes: 14 additions & 12 deletions pyjade/testsuite/test_cases.py
Expand Up @@ -16,9 +16,9 @@ def teardown_func():
from jinja2 import Environment, FileSystemLoader
from pyjade.ext.jinja import PyJadeExtension
jinja_env = Environment(extensions=[PyJadeExtension],loader=FileSystemLoader('cases/'))
def jinja_process (str):
def jinja_process (src, filename):
global jinja_env
template = jinja_env.from_string(str)
template = jinja_env.get_template(filename)
return template.render()

processors['Jinja2'] = jinja_process
Expand All @@ -31,9 +31,9 @@ def jinja_process (str):
patch_tornado()

loader = tornado.template.Loader('cases/')
def tornado_process (str):
def tornado_process (src, filename):
global loader, tornado
template = tornado.template.Template(str,name='_.jade',loader=loader)
template = tornado.template.Template(src,name='_.jade',loader=loader)
return template.generate().decode("utf-8")

processors['Tornado'] = tornado_process
Expand All @@ -55,8 +55,8 @@ def tornado_process (str):
import django.template.loader
from pyjade.ext.django import Compiler as DjangoCompiler

def django_process(str):
compiled = process(str,filename=None,compiler = DjangoCompiler)
def django_process(src, filename):
compiled = process(src, filename=filename,compiler = DjangoCompiler)
print compiled
t = django.template.Template(compiled)

Expand All @@ -73,8 +73,8 @@ def django_process(str):
from mako.lookup import TemplateLookup
dirlookup = TemplateLookup(directories=['cases/'],preprocessor=pyjade.ext.mako.preprocessor)

def mako_process(str):
t = mako.template.Template(str, lookup=dirlookup,preprocessor=pyjade.ext.mako.preprocessor, default_filters=['decode.utf8'])
def mako_process(src, filename):
t = mako.template.Template(src, lookup=dirlookup,preprocessor=pyjade.ext.mako.preprocessor, default_filters=['decode.utf8'])
return t.render()

processors['Mako'] = mako_process
Expand All @@ -85,13 +85,14 @@ def mako_process(str):
def setup_func():
global jinja_env, processors

def html_process(src, filename):
return pyjade.ext.html.process_jade(src)

processors['Html'] = pyjade.ext.html.process_jade

processors['Html'] = html_process

def run_case(case,process):
global processors
process = processors[process]
processor = processors[process]
jade_file = open('cases/%s.jade'%case)
jade_src = jade_file.read().decode('utf-8')
jade_file.close()
Expand All @@ -100,7 +101,7 @@ def run_case(case,process):
html_src = html_file.read().strip('\n').decode('utf-8')
html_file.close()
try:
processed_jade = process(jade_src).strip('\n')
processed_jade = processor(jade_src, '%s.jade'%case).strip('\n')
print 'PROCESSED\n',processed_jade,len(processed_jade)
print 'EXPECTED\n',html_src,len(html_src)
assert processed_jade==html_src
Expand All @@ -114,6 +115,7 @@ def run_case(case,process):
'Tornado': set(['layout']),
'Jinja2': set(['layout']),
'Django': set(['layout'])}


@with_setup(setup_func, teardown_func)
def test_case_generator():
Expand Down

0 comments on commit 8e69e0e

Please sign in to comment.