summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-13 15:39:18 -0700
committerEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-13 15:39:27 -0700
commit75720cfe4cd7ca9c9bc9d8faeb7dd34045eefa6f (patch)
treeb83f7d249dfca06102ec46e1b0b8e4f3f750c6dd
parent56b7dbb0f2e20364d702691f918c733204e397eb (diff)
downloadpyscss-75720cfe4cd7ca9c9bc9d8faeb7dd34045eefa6f.tar.gz
Unbreak parsing of argument-less functions.
-rw-r--r--scss/__init__.py15
-rw-r--r--scss/tests/files/regressions/015-function-no-arguments.css3
-rw-r--r--scss/tests/files/regressions/015-function-no-arguments.scss7
3 files changed, 18 insertions, 7 deletions
diff --git a/scss/__init__.py b/scss/__init__.py
index cb9061c..a665d1c 100644
--- a/scss/__init__.py
+++ b/scss/__init__.py
@@ -616,13 +616,14 @@ class Scss(object):
raise SyntaxError("Expected ')', found end of line: %r" % (block.argument,))
argstr = argstr[:-1]
- calculator = Calculator(rule.namespace)
- argspec_node = calculator.parse_expression(argstr, target='argspec')
-
- for var_name, default in argspec_node.iter_def_argspec():
- new_params.append(var_name)
- if default is not None:
- defaults[var_name] = default
+ if argstr:
+ calculator = Calculator(rule.namespace)
+ argspec_node = calculator.parse_expression(argstr, target='argspec')
+
+ for var_name, default in argspec_node.iter_def_argspec():
+ new_params.append(var_name)
+ if default is not None:
+ defaults[var_name] = default
mixin = [list(new_params), defaults, block.unparsed_contents]
if block.directive == '@function':
diff --git a/scss/tests/files/regressions/015-function-no-arguments.css b/scss/tests/files/regressions/015-function-no-arguments.css
new file mode 100644
index 0000000..3bdc1c8
--- /dev/null
+++ b/scss/tests/files/regressions/015-function-no-arguments.css
@@ -0,0 +1,3 @@
+h1 {
+ line-height: 5;
+}
diff --git a/scss/tests/files/regressions/015-function-no-arguments.scss b/scss/tests/files/regressions/015-function-no-arguments.scss
new file mode 100644
index 0000000..273b9a5
--- /dev/null
+++ b/scss/tests/files/regressions/015-function-no-arguments.scss
@@ -0,0 +1,7 @@
+@function get-a-number() {
+ @return 5;
+}
+
+h1 {
+ line-height: get-a-number();
+}