Esempio n. 1
0
    def setUp(self):
        self.log = StringIO()

        # Reset template dirs, because it enables us to force compress to
        # consider only a specific directory (helps us make true,
        # independent unit tests).
        # Specify both Jinja2 and Django template locations. When the wrong
        # engine is used to parse a template, the TemplateSyntaxError will
        # cause the template to be skipped over.
        # We've hardcoded TEMPLATES[0] to be Django templates backend and
        # TEMPLATES[1] to be Jinja2 templates backend in test_settings.
        TEMPLATES = copy.deepcopy(settings.TEMPLATES)

        django_template_dir = os.path.join(TEMPLATES[0]["DIRS"][0],
                                           self.templates_dir)
        jinja2_template_dir = os.path.join(TEMPLATES[1]["DIRS"][0],
                                           self.templates_dir)

        TEMPLATES[0]["DIRS"] = [django_template_dir]
        TEMPLATES[1]["DIRS"] = [jinja2_template_dir]

        override_settings = {
            "TEMPLATES": TEMPLATES,
            "COMPRESS_ENABLED": True,
            "COMPRESS_OFFLINE": True,
        }

        if "jinja2" in self.engines:
            override_settings[
                "COMPRESS_JINJA2_GET_ENVIRONMENT"] = lambda: self._get_jinja2_env(
                )

        if self.additional_test_settings is not None:
            override_settings.update(self.additional_test_settings)

        self.override_settings = self.settings(**override_settings)
        self.override_settings.__enter__()

        if "django" in self.engines:
            self.template_path = os.path.join(django_template_dir,
                                              self.template_name)

            with io.open(self.template_path,
                         encoding=settings.FILE_CHARSET) as file_:
                self.template = Template(file_.read())

        if "jinja2" in self.engines:
            self.template_path_jinja2 = os.path.join(jinja2_template_dir,
                                                     self.template_name)
            jinja2_env = override_settings["COMPRESS_JINJA2_GET_ENVIRONMENT"]()

            with io.open(self.template_path_jinja2,
                         encoding=settings.FILE_CHARSET) as file_:
                self.template_jinja2 = jinja2_env.from_string(file_.read())
    def setUp(self):
        self.log = StringIO()

        # Reset template dirs, because it enables us to force compress to
        # consider only a specific directory (helps us make true,
        # independent unit tests).
        # Specify both Jinja2 and Django template locations. When the wrong
        # engine is used to parse a template, the TemplateSyntaxError will
        # cause the template to be skipped over.
        # We've hardcoded TEMPLATES[0] to be Django templates backend and
        # TEMPLATES[1] to be Jinja2 templates backend in test_settings.
        TEMPLATES = copy.deepcopy(settings.TEMPLATES)

        django_template_dir = os.path.join(
            TEMPLATES[0]['DIRS'][0], self.templates_dir)
        jinja2_template_dir = os.path.join(
            TEMPLATES[1]['DIRS'][0], self.templates_dir)

        TEMPLATES[0]['DIRS'] = [django_template_dir]
        TEMPLATES[1]['DIRS'] = [jinja2_template_dir]

        override_settings = {
            'TEMPLATES': TEMPLATES,
            'COMPRESS_ENABLED': True,
            'COMPRESS_OFFLINE': True
        }

        if 'jinja2' in self.engines:
            override_settings['COMPRESS_JINJA2_GET_ENVIRONMENT'] = (
                lambda: self._get_jinja2_env())

        if self.additional_test_settings is not None:
            override_settings.update(self.additional_test_settings)

        self.override_settings = self.settings(**override_settings)
        self.override_settings.__enter__()

        if 'django' in self.engines:
            self.template_path = os.path.join(
                django_template_dir, self.template_name)

            with io.open(self.template_path,
                         encoding=settings.FILE_CHARSET) as file_:
                self.template = Template(file_.read())

        if 'jinja2' in self.engines:
            self.template_path_jinja2 = os.path.join(
                jinja2_template_dir, self.template_name)
            jinja2_env = override_settings['COMPRESS_JINJA2_GET_ENVIRONMENT']()

            with io.open(self.template_path_jinja2,
                         encoding=settings.FILE_CHARSET) as file_:
                self.template_jinja2 = jinja2_env.from_string(file_.read())
Esempio n. 3
0
    def setUp(self):
        # Reset template dirs, because it enables us to force compress to
        # consider only a specific directory (helps us make true,
        # independent unit tests).
        # Specify both Jinja2 and Django template locations. When the wrong
        # engine is used to parse a template, the TemplateSyntaxError will
        # cause the template to be skipped over.
        # We've hardcoded TEMPLATES[0] to be Django templates backend and
        # TEMPLATES[1] to be Jinja2 templates backend in test_settings.
        TEMPLATES = copy.deepcopy(settings.TEMPLATES)

        django_template_dir = os.path.join(TEMPLATES[0]['DIRS'][0],
                                           self.templates_dir)
        jinja2_template_dir = os.path.join(TEMPLATES[1]['DIRS'][0],
                                           self.templates_dir)

        TEMPLATES[0]['DIRS'] = [django_template_dir]
        TEMPLATES[1]['DIRS'] = [jinja2_template_dir]

        override_settings = {
            'TEMPLATES': TEMPLATES,
            'COMPRESS_ENABLED': True,
            'COMPRESS_OFFLINE': True
        }

        if 'jinja2' in self.engines:
            override_settings['COMPRESS_JINJA2_GET_ENVIRONMENT'] = (
                lambda: self._get_jinja2_env())

        if self.additional_test_settings is not None:
            override_settings.update(self.additional_test_settings)

        self.override_settings = self.settings(**override_settings)
        self.override_settings.__enter__()

        if 'django' in self.engines:
            self.template_path = os.path.join(django_template_dir,
                                              self.template_name)

            origin = Origin(
                name=self.template_path,  # Absolute path
                template_name=self.template_name)  # Loader-relative path
            with io.open(self.template_path, encoding=self.CHARSET) as file_:
                self.template = Template(file_.read(), origin=origin)

        if 'jinja2' in self.engines:
            self.template_path_jinja2 = os.path.join(jinja2_template_dir,
                                                     self.template_name)
            jinja2_env = override_settings['COMPRESS_JINJA2_GET_ENVIRONMENT']()

            with io.open(self.template_path_jinja2,
                         encoding=self.CHARSET) as file_:
                self.template_jinja2 = jinja2_env.from_string(file_.read())