summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Jones <r1chardj0n3s@gmail.com>2015-04-29 12:56:20 +1000
committerRichard Jones <r1chardj0n3s@gmail.com>2015-04-29 13:19:43 +1000
commitbd8b2ae8bf21b9c4f671d9364cdc41fbced9b214 (patch)
tree34df2ae74cdadb730b5df42cc557a87dbd383cbe
parent7e0b4021e0d14e451509ca80fe9d1f0c4f8ff9e0 (diff)
downloaddjango-pyscss-bd8b2ae8bf21b9c4f671d9364cdc41fbced9b214.tar.gz
Retain the imported file path
Fixes #34
-rw-r--r--django_pyscss/extension/django.py2
-rw-r--r--testproject/testproject/static/css/_baz.scss2
-rw-r--r--testproject/testproject/static/css/sub/_spam.scss3
-rw-r--r--tests/test_scss.py5
4 files changed, 12 insertions, 0 deletions
diff --git a/django_pyscss/extension/django.py b/django_pyscss/extension/django.py
index c127270..c388940 100644
--- a/django_pyscss/extension/django.py
+++ b/django_pyscss/extension/django.py
@@ -29,6 +29,8 @@ class DjangoExtension(CoreExtension):
search_path = original_path.relative_to('/').parent
elif rule.source_file.origin:
search_path = rule.source_file.origin
+ if original_path.parent:
+ search_path = search_path / original_path.parent
else:
search_path = original_path.parent
diff --git a/testproject/testproject/static/css/_baz.scss b/testproject/testproject/static/css/_baz.scss
index 552bcaf..9dfa46c 100644
--- a/testproject/testproject/static/css/_baz.scss
+++ b/testproject/testproject/static/css/_baz.scss
@@ -1,3 +1,5 @@
.baz {
color: #123456;
}
+
+@import "sub/spam";
diff --git a/testproject/testproject/static/css/sub/_spam.scss b/testproject/testproject/static/css/sub/_spam.scss
new file mode 100644
index 0000000..a391ffe
--- /dev/null
+++ b/testproject/testproject/static/css/sub/_spam.scss
@@ -0,0 +1,3 @@
+small {
+ font-size: 11px;
+}
diff --git a/tests/test_scss.py b/tests/test_scss.py
index 260c8d7..f76b3e7 100644
--- a/tests/test_scss.py
+++ b/tests/test_scss.py
@@ -32,6 +32,11 @@ with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', 'css_f
with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', '_baz.scss')) as f:
BAZ_CONTENTS = f.read()
+with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', 'sub', '_spam.scss')) as f:
+ SPAM_CONTENTS = f.read()
+
+BAZ_CONTENTS = BAZ_CONTENTS.replace('@import "sub/spam";', SPAM_CONTENTS)
+
with open(os.path.join(settings.BASE_DIR, 'testproject', 'static', 'css', 'path_conflict.scss')) as f:
PATH_CONFLICT_CONTENTS = f.read()