summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRocky Meza <rocky@fusionbox.com>2014-02-08 09:16:48 -0700
committerRocky Meza <rocky@fusionbox.com>2014-02-08 09:16:48 -0700
commit2c194759c43c7bc9ba2580954dfb64e740a03e1e (patch)
tree1919f07574c9cee828b2309fada1d459a6022802
parentdc0e8a8a59520b6002eb7cbd4ab1868cfc7dd8ea (diff)
downloaddjango-pyscss-2c194759c43c7bc9ba2580954dfb64e740a03e1e.tar.gz
Added support for underscore imports.
-rw-r--r--django_pyscss/scss.py10
-rw-r--r--testproject/testproject/static/css/_baz.scss3
-rw-r--r--tests/test_scss.py7
3 files changed, 17 insertions, 3 deletions
diff --git a/django_pyscss/scss.py b/django_pyscss/scss.py
index d8ad9e9..7429eba 100644
--- a/django_pyscss/scss.py
+++ b/django_pyscss/scss.py
@@ -1,6 +1,7 @@
from __future__ import absolute_import, unicode_literals
import os
+from itertools import product
from django.contrib.staticfiles.storage import staticfiles_storage
from django.conf import settings
@@ -70,9 +71,12 @@ class DjangoScss(Scss):
dirname, filename = os.path.split(path)
name, ext = os.path.splitext(filename)
- if not ext:
- for extension in self.supported_extensions:
- paths.append(os.path.join(dirname, name + extension))
+ if ext:
+ search_exts = [ext]
+ else:
+ search_exts = self.supported_extensions
+ for prefix, suffix in product(('_', ''), search_exts):
+ paths.append(os.path.join(dirname, prefix + name + suffix))
return paths
def _find_source_file(self, filename, relative_to=None):
diff --git a/testproject/testproject/static/css/_baz.scss b/testproject/testproject/static/css/_baz.scss
new file mode 100644
index 0000000..552bcaf
--- /dev/null
+++ b/testproject/testproject/static/css/_baz.scss
@@ -0,0 +1,3 @@
+.baz {
+ color: #123456;
+}
diff --git a/tests/test_scss.py b/tests/test_scss.py
index e7f6fbd..bc9c6ef 100644
--- a/tests/test_scss.py
+++ b/tests/test_scss.py
@@ -26,6 +26,9 @@ SASS_CONTENTS = """
with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', 'css_file.css')) as f:
CSS_CONTENTS = f.read()
+with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', '_baz.scss')) as f:
+ BAZ_CONTENTS = f.read()
+
class CompilerTestMixin(object):
def setUp(self):
@@ -77,6 +80,10 @@ class ImportTestMixin(CompilerTestMixin):
actual = self.compiler.compile(scss_string='@import "/css/css_file";')
self.assertEqual(clean_css(actual), clean_css(CSS_CONTENTS))
+ def test_import_underscore_file(self):
+ actual = self.compiler.compile(scss_string='@import "/css/baz";')
+ self.assertEqual(clean_css(actual), clean_css(BAZ_CONTENTS))
+
@override_settings(DEBUG=True)
class FindersImportTest(ImportTestMixin, TestCase):