sass 3.3.0.alpha.181 → 3.3.0.alpha.184
Sign up to get free protection for your applications and to get access to all the features.
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/script/functions.rb +8 -10
- data/test/sass/functions_test.rb +3 -5
- metadata +4 -4
data/REVISION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
9c8ae2980333f2715678c6737448ef738e0bb0cb
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.0.alpha.
|
1
|
+
3.3.0.alpha.184
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
11 June 2013 21:31:46 GMT
|
@@ -1481,30 +1481,28 @@ module Sass::Script
|
|
1481
1481
|
# Gets the nth item in a list.
|
1482
1482
|
#
|
1483
1483
|
# Note that unlike some languages, the first item in a Sass list is number 1,
|
1484
|
-
# the second number 2, and so forth.
|
1485
|
-
# count from the end of the list. So -1 is the last item, -2 is the
|
1486
|
-
# second-to-last item, etc.
|
1484
|
+
# the second number 2, and so forth.
|
1487
1485
|
#
|
1488
1486
|
# @example
|
1489
1487
|
# nth(10px 20px 30px, 1) => 10px
|
1490
1488
|
# nth((Helvetica, Arial, sans-serif), 3) => sans-serif
|
1491
|
-
# nth((red, green, blue), -2) => green
|
1492
1489
|
# @param list [Value] The list
|
1493
1490
|
# @param n [Sass::Script::Value::Number] The index into the list
|
1494
1491
|
# @return [Sass::Script::Value::Base] The nth item in the list
|
1495
|
-
# @raise [ArgumentError] If `n` isn't an integer
|
1492
|
+
# @raise [ArgumentError] If `n` isn't an integer between 1 and the list's length.
|
1496
1493
|
def nth(list, n)
|
1497
1494
|
assert_type n, :Number
|
1498
|
-
if !n.int?
|
1499
|
-
raise ArgumentError.new("List index #{n} must be
|
1495
|
+
if !n.int?
|
1496
|
+
raise ArgumentError.new("List index #{n} must be an integer")
|
1497
|
+
elsif n.to_i < 1
|
1498
|
+
raise ArgumentError.new("List index #{n} must be greater than or equal to 1")
|
1500
1499
|
elsif list.to_a.size == 0
|
1501
1500
|
raise ArgumentError.new("List index is #{n} but list has no items")
|
1502
|
-
elsif n.to_i
|
1501
|
+
elsif n.to_i > (size = list.to_a.size)
|
1503
1502
|
raise ArgumentError.new("List index is #{n} but list is only #{size} item#{'s' if size != 1} long")
|
1504
1503
|
end
|
1505
1504
|
|
1506
|
-
|
1507
|
-
list.to_a[index]
|
1505
|
+
list.to_a[n.to_i - 1]
|
1508
1506
|
end
|
1509
1507
|
declare :nth, [:list, :n]
|
1510
1508
|
|
data/test/sass/functions_test.rb
CHANGED
@@ -1017,14 +1017,12 @@ MSG
|
|
1017
1017
|
def test_nth
|
1018
1018
|
assert_equal("1", evaluate("nth(1 2 3, 1)"))
|
1019
1019
|
assert_equal("2", evaluate("nth(1 2 3, 2)"))
|
1020
|
-
assert_equal("3", evaluate("nth(1 2 3, -1)"))
|
1021
|
-
assert_equal("1", evaluate("nth(1 2 3, -3)"))
|
1022
1020
|
assert_equal("3", evaluate("nth((1, 2, 3), 3)"))
|
1023
1021
|
assert_equal("foo", evaluate("nth(foo, 1)"))
|
1024
1022
|
assert_equal("bar baz", evaluate("nth(foo (bar baz) bang, 2)"))
|
1025
|
-
assert_error_message("List index 0 must be
|
1026
|
-
assert_error_message("List index
|
1027
|
-
assert_error_message("List index 1.5 must be
|
1023
|
+
assert_error_message("List index 0 must be greater than or equal to 1 for `nth'", "nth(foo, 0)")
|
1024
|
+
assert_error_message("List index -10 must be greater than or equal to 1 for `nth'", "nth(foo, -10)")
|
1025
|
+
assert_error_message("List index 1.5 must be an integer for `nth'", "nth(foo, 1.5)")
|
1028
1026
|
assert_error_message("List index is 5 but list is only 4 items long for `nth'", "nth(1 2 3 4, 5)")
|
1029
1027
|
assert_error_message("List index is 2 but list is only 1 item long for `nth'", "nth(foo, 2)")
|
1030
1028
|
assert_error_message("List index is 1 but list has no items for `nth'", "nth((), 1)")
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 592302717
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 3
|
9
9
|
- 0
|
10
10
|
- alpha
|
11
|
-
-
|
12
|
-
version: 3.3.0.alpha.
|
11
|
+
- 184
|
12
|
+
version: 3.3.0.alpha.184
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Nathan Weizenbaum
|
@@ -19,7 +19,7 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2013-06-
|
22
|
+
date: 2013-06-11 00:00:00 -04:00
|
23
23
|
default_executable:
|
24
24
|
dependencies:
|
25
25
|
- !ruby/object:Gem::Dependency
|