oreorenasass 3.4.4 → 3.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +50 -70
  4. data/Rakefile +5 -26
  5. data/VERSION +1 -1
  6. data/VERSION_NAME +1 -1
  7. data/bin/sass +1 -1
  8. data/bin/scss +1 -1
  9. data/lib/sass.rb +12 -19
  10. data/lib/sass/cache_stores/base.rb +2 -2
  11. data/lib/sass/cache_stores/chain.rb +1 -2
  12. data/lib/sass/cache_stores/filesystem.rb +5 -1
  13. data/lib/sass/cache_stores/memory.rb +1 -1
  14. data/lib/sass/cache_stores/null.rb +2 -2
  15. data/lib/sass/callbacks.rb +0 -1
  16. data/lib/sass/css.rb +13 -11
  17. data/lib/sass/engine.rb +173 -424
  18. data/lib/sass/environment.rb +58 -148
  19. data/lib/sass/error.rb +14 -11
  20. data/lib/sass/exec.rb +703 -5
  21. data/lib/sass/importers/base.rb +6 -49
  22. data/lib/sass/importers/filesystem.rb +19 -44
  23. data/lib/sass/logger.rb +4 -1
  24. data/lib/sass/logger/base.rb +4 -2
  25. data/lib/sass/logger/log_level.rb +7 -3
  26. data/lib/sass/media.rb +23 -20
  27. data/lib/sass/plugin.rb +7 -7
  28. data/lib/sass/plugin/compiler.rb +145 -304
  29. data/lib/sass/plugin/configuration.rb +23 -18
  30. data/lib/sass/plugin/merb.rb +1 -1
  31. data/lib/sass/plugin/staleness_checker.rb +3 -3
  32. data/lib/sass/repl.rb +3 -3
  33. data/lib/sass/script.rb +8 -35
  34. data/lib/sass/script/{value/arg_list.rb → arg_list.rb} +25 -9
  35. data/lib/sass/script/bool.rb +18 -0
  36. data/lib/sass/script/color.rb +606 -0
  37. data/lib/sass/script/css_lexer.rb +4 -8
  38. data/lib/sass/script/css_parser.rb +2 -5
  39. data/lib/sass/script/funcall.rb +245 -0
  40. data/lib/sass/script/functions.rb +408 -1491
  41. data/lib/sass/script/interpolation.rb +79 -0
  42. data/lib/sass/script/lexer.rb +68 -172
  43. data/lib/sass/script/list.rb +85 -0
  44. data/lib/sass/script/literal.rb +221 -0
  45. data/lib/sass/script/{tree/node.rb → node.rb} +12 -22
  46. data/lib/sass/script/{value/null.rb → null.rb} +7 -14
  47. data/lib/sass/script/{value/number.rb → number.rb} +75 -152
  48. data/lib/sass/script/{tree/operation.rb → operation.rb} +24 -17
  49. data/lib/sass/script/parser.rb +110 -245
  50. data/lib/sass/script/string.rb +51 -0
  51. data/lib/sass/script/{tree/string_interpolation.rb → string_interpolation.rb} +4 -5
  52. data/lib/sass/script/{tree/unary_operation.rb → unary_operation.rb} +6 -6
  53. data/lib/sass/script/variable.rb +58 -0
  54. data/lib/sass/scss/css_parser.rb +3 -9
  55. data/lib/sass/scss/parser.rb +421 -450
  56. data/lib/sass/scss/rx.rb +11 -19
  57. data/lib/sass/scss/static_parser.rb +7 -321
  58. data/lib/sass/selector.rb +194 -68
  59. data/lib/sass/selector/abstract_sequence.rb +14 -29
  60. data/lib/sass/selector/comma_sequence.rb +25 -108
  61. data/lib/sass/selector/sequence.rb +66 -159
  62. data/lib/sass/selector/simple.rb +25 -23
  63. data/lib/sass/selector/simple_sequence.rb +63 -173
  64. data/lib/sass/shared.rb +1 -1
  65. data/lib/sass/supports.rb +15 -13
  66. data/lib/sass/tree/charset_node.rb +1 -1
  67. data/lib/sass/tree/comment_node.rb +3 -3
  68. data/lib/sass/tree/css_import_node.rb +11 -11
  69. data/lib/sass/tree/debug_node.rb +2 -2
  70. data/lib/sass/tree/directive_node.rb +4 -21
  71. data/lib/sass/tree/each_node.rb +8 -8
  72. data/lib/sass/tree/extend_node.rb +7 -14
  73. data/lib/sass/tree/for_node.rb +4 -4
  74. data/lib/sass/tree/function_node.rb +4 -9
  75. data/lib/sass/tree/if_node.rb +1 -1
  76. data/lib/sass/tree/import_node.rb +5 -4
  77. data/lib/sass/tree/media_node.rb +14 -4
  78. data/lib/sass/tree/mixin_def_node.rb +4 -4
  79. data/lib/sass/tree/mixin_node.rb +8 -21
  80. data/lib/sass/tree/node.rb +12 -54
  81. data/lib/sass/tree/prop_node.rb +20 -39
  82. data/lib/sass/tree/return_node.rb +2 -3
  83. data/lib/sass/tree/root_node.rb +3 -19
  84. data/lib/sass/tree/rule_node.rb +22 -35
  85. data/lib/sass/tree/supports_node.rb +13 -0
  86. data/lib/sass/tree/trace_node.rb +1 -2
  87. data/lib/sass/tree/variable_node.rb +3 -9
  88. data/lib/sass/tree/visitors/base.rb +8 -5
  89. data/lib/sass/tree/visitors/check_nesting.rb +19 -49
  90. data/lib/sass/tree/visitors/convert.rb +56 -74
  91. data/lib/sass/tree/visitors/cssize.rb +74 -202
  92. data/lib/sass/tree/visitors/deep_copy.rb +5 -10
  93. data/lib/sass/tree/visitors/extend.rb +7 -7
  94. data/lib/sass/tree/visitors/perform.rb +185 -278
  95. data/lib/sass/tree/visitors/set_options.rb +6 -20
  96. data/lib/sass/tree/visitors/to_css.rb +81 -234
  97. data/lib/sass/tree/warn_node.rb +2 -2
  98. data/lib/sass/tree/while_node.rb +2 -2
  99. data/lib/sass/util.rb +152 -522
  100. data/lib/sass/util/multibyte_string_scanner.rb +0 -2
  101. data/lib/sass/util/subset_map.rb +3 -4
  102. data/lib/sass/util/test.rb +1 -0
  103. data/lib/sass/version.rb +22 -20
  104. data/test/Gemfile +3 -0
  105. data/test/Gemfile.lock +10 -0
  106. data/test/sass/cache_test.rb +20 -62
  107. data/test/sass/callbacks_test.rb +1 -1
  108. data/test/sass/conversion_test.rb +2 -296
  109. data/test/sass/css2sass_test.rb +4 -23
  110. data/test/sass/engine_test.rb +354 -411
  111. data/test/sass/exec_test.rb +2 -2
  112. data/test/sass/extend_test.rb +145 -324
  113. data/test/sass/functions_test.rb +86 -873
  114. data/test/sass/importer_test.rb +21 -241
  115. data/test/sass/logger_test.rb +1 -1
  116. data/test/sass/more_results/more_import.css +1 -1
  117. data/test/sass/plugin_test.rb +26 -16
  118. data/test/sass/results/compact.css +1 -1
  119. data/test/sass/results/complex.css +4 -4
  120. data/test/sass/results/expanded.css +1 -1
  121. data/test/sass/results/import.css +1 -1
  122. data/test/sass/results/import_charset_ibm866.css +2 -2
  123. data/test/sass/results/mixins.css +17 -17
  124. data/test/sass/results/nested.css +1 -1
  125. data/test/sass/results/parent_ref.css +2 -2
  126. data/test/sass/results/script.css +3 -3
  127. data/test/sass/results/scss_import.css +1 -1
  128. data/test/sass/script_conversion_test.rb +7 -36
  129. data/test/sass/script_test.rb +53 -485
  130. data/test/sass/scss/css_test.rb +28 -143
  131. data/test/sass/scss/rx_test.rb +4 -4
  132. data/test/sass/scss/scss_test.rb +325 -2119
  133. data/test/sass/templates/scss_import.scss +1 -2
  134. data/test/sass/test_helper.rb +1 -1
  135. data/test/sass/util/multibyte_string_scanner_test.rb +1 -1
  136. data/test/sass/util/subset_map_test.rb +2 -2
  137. data/test/sass/util_test.rb +1 -86
  138. data/test/test_helper.rb +8 -37
  139. metadata +19 -66
  140. data/lib/sass/exec/base.rb +0 -187
  141. data/lib/sass/exec/sass_convert.rb +0 -264
  142. data/lib/sass/exec/sass_scss.rb +0 -424
  143. data/lib/sass/features.rb +0 -47
  144. data/lib/sass/script/tree.rb +0 -16
  145. data/lib/sass/script/tree/funcall.rb +0 -306
  146. data/lib/sass/script/tree/interpolation.rb +0 -118
  147. data/lib/sass/script/tree/list_literal.rb +0 -77
  148. data/lib/sass/script/tree/literal.rb +0 -45
  149. data/lib/sass/script/tree/map_literal.rb +0 -64
  150. data/lib/sass/script/tree/selector.rb +0 -26
  151. data/lib/sass/script/tree/variable.rb +0 -57
  152. data/lib/sass/script/value.rb +0 -11
  153. data/lib/sass/script/value/base.rb +0 -240
  154. data/lib/sass/script/value/bool.rb +0 -35
  155. data/lib/sass/script/value/color.rb +0 -680
  156. data/lib/sass/script/value/helpers.rb +0 -262
  157. data/lib/sass/script/value/list.rb +0 -113
  158. data/lib/sass/script/value/map.rb +0 -70
  159. data/lib/sass/script/value/string.rb +0 -97
  160. data/lib/sass/selector/pseudo.rb +0 -256
  161. data/lib/sass/source/map.rb +0 -210
  162. data/lib/sass/source/position.rb +0 -39
  163. data/lib/sass/source/range.rb +0 -41
  164. data/lib/sass/stack.rb +0 -120
  165. data/lib/sass/tree/at_root_node.rb +0 -83
  166. data/lib/sass/tree/error_node.rb +0 -18
  167. data/lib/sass/tree/keyframe_rule_node.rb +0 -15
  168. data/lib/sass/util/cross_platform_random.rb +0 -19
  169. data/lib/sass/util/normalized_map.rb +0 -130
  170. data/lib/sass/util/ordered_hash.rb +0 -192
  171. data/test/sass/compiler_test.rb +0 -232
  172. data/test/sass/encoding_test.rb +0 -219
  173. data/test/sass/source_map_test.rb +0 -977
  174. data/test/sass/superselector_test.rb +0 -191
  175. data/test/sass/util/normalized_map_test.rb +0 -51
  176. data/test/sass/value_helpers_test.rb +0 -179
@@ -1,9 +1,7 @@
1
1
  require 'strscan'
2
2
 
3
3
  if Sass::Util.ruby1_8?
4
- # rubocop:disable ConstantName
5
4
  Sass::Util::MultibyteStringScanner = StringScanner
6
- # rubocop:enable ConstantName
7
5
  else
8
6
  if Sass::Util.rbx?
9
7
  # Rubinius's StringScanner class implements some of its methods in terms of
@@ -59,7 +59,7 @@ module Sass
59
59
  #
60
60
  # In the worst case, this runs in `O(m*max(n, log m))` time,
61
61
  # where `n` is the size of `set`
62
- # and `m` is the number of associations in the map.
62
+ # and `m` is the number of assocations in the map.
63
63
  # However, unless many keys in the map overlap with `set`,
64
64
  # `m` will typically be much smaller.
65
65
  #
@@ -72,8 +72,7 @@ module Sass
72
72
  # @see #[]
73
73
  def get(set)
74
74
  res = set.map do |k|
75
- subsets = @hash[k]
76
- next unless subsets
75
+ next unless subsets = @hash[k]
77
76
  subsets.map do |subenum, subset, index|
78
77
  next unless subset.subset?(set)
79
78
  [index, subenum]
@@ -84,7 +83,7 @@ module Sass
84
83
  res.uniq!
85
84
  res.sort!
86
85
  res.map! {|i, s| [@vals[i], s]}
87
- res
86
+ return res
88
87
  end
89
88
 
90
89
  # Same as \{#get}, but doesn't return the subsets of the argument
@@ -3,6 +3,7 @@ module Sass
3
3
  module Test
4
4
  def skip(msg = nil, bt = caller)
5
5
  super if defined?(super)
6
+ return
6
7
  end
7
8
  end
8
9
  end
data/lib/sass/version.rb CHANGED
@@ -1,4 +1,8 @@
1
1
  require 'date'
2
+
3
+ # This is necessary for loading Sass when Haml is required in Rails 3.
4
+ # Once the split is complete, we can remove it.
5
+ require File.dirname(__FILE__) + '/../sass'
2
6
  require 'sass/util'
3
7
 
4
8
  module Sass
@@ -7,13 +11,14 @@ module Sass
7
11
  # but its Git revision hash as well,
8
12
  # if it was installed from Git.
9
13
  module Version
14
+ include Sass::Util
15
+
10
16
  # Returns a hash representing the version of Sass.
11
17
  # The `:major`, `:minor`, and `:teeny` keys have their respective numbers as Fixnums.
12
18
  # The `:name` key has the name of the version.
13
19
  # The `:string` key contains a human-readable string representation of the version.
14
20
  # The `:number` key is the major, minor, and teeny keys separated by periods.
15
- # The `:date` key, which is not guaranteed to be defined, is the `DateTime`
16
- # at which this release was cut.
21
+ # The `:date` key, which is not guaranteed to be defined, is the [DateTime] at which this release was cut.
17
22
  # If Sass is checked out from Git, the `:rev` key will have the revision hash.
18
23
  # For example:
19
24
  #
@@ -42,14 +47,12 @@ module Sass
42
47
  # }
43
48
  #
44
49
  # @return [{Symbol => String/Fixnum}] The version hash
45
- # @comment
46
- # rubocop:disable ClassVars
47
50
  def version
48
51
  return @@version if defined?(@@version)
49
52
 
50
- numbers = File.read(Sass::Util.scope('VERSION')).strip.split('.').
53
+ numbers = File.read(scope('VERSION')).strip.split('.').
51
54
  map {|n| n =~ /^[0-9]+$/ ? n.to_i : n}
52
- name = File.read(Sass::Util.scope('VERSION_NAME')).strip
55
+ name = File.read(scope('VERSION_NAME')).strip
53
56
  @@version = {
54
57
  :major => numbers[0],
55
58
  :minor => numbers[1],
@@ -57,7 +60,7 @@ module Sass
57
60
  :name => name
58
61
  }
59
62
 
60
- if (date = version_date)
63
+ if date = version_date
61
64
  @@version[:date] = date
62
65
  end
63
66
 
@@ -70,7 +73,7 @@ module Sass
70
73
  @@version[:number] = numbers.join('.')
71
74
  @@version[:string] = @@version[:number].dup
72
75
 
73
- if (rev = revision_number)
76
+ if rev = revision_number
74
77
  @@version[:rev] = rev
75
78
  unless rev[0] == ?(
76
79
  @@version[:string] << "." << rev[0...7]
@@ -80,25 +83,24 @@ module Sass
80
83
  @@version[:string] << " (#{name})"
81
84
  @@version
82
85
  end
83
- # rubocop:enable ClassVars
84
86
 
85
87
  private
86
88
 
87
89
  def revision_number
88
- if File.exist?(Sass::Util.scope('REVISION'))
89
- rev = File.read(Sass::Util.scope('REVISION')).strip
90
+ if File.exists?(scope('REVISION'))
91
+ rev = File.read(scope('REVISION')).strip
90
92
  return rev unless rev =~ /^([a-f0-9]+|\(.*\))$/ || rev == '(unknown)'
91
93
  end
92
94
 
93
- return unless File.exist?(Sass::Util.scope('.git/HEAD'))
94
- rev = File.read(Sass::Util.scope('.git/HEAD')).strip
95
+ return unless File.exists?(scope('.git/HEAD'))
96
+ rev = File.read(scope('.git/HEAD')).strip
95
97
  return rev unless rev =~ /^ref: (.*)$/
96
98
 
97
99
  ref_name = $1
98
- ref_file = Sass::Util.scope(".git/#{ref_name}")
99
- info_file = Sass::Util.scope(".git/info/refs")
100
- return File.read(ref_file).strip if File.exist?(ref_file)
101
- return unless File.exist?(info_file)
100
+ ref_file = scope(".git/#{ref_name}")
101
+ info_file = scope(".git/info/refs")
102
+ return File.read(ref_file).strip if File.exists?(ref_file)
103
+ return unless File.exists?(info_file)
102
104
  File.open(info_file) do |f|
103
105
  f.each do |l|
104
106
  sha, ref = l.strip.split("\t", 2)
@@ -106,12 +108,12 @@ module Sass
106
108
  return sha
107
109
  end
108
110
  end
109
- nil
111
+ return nil
110
112
  end
111
113
 
112
114
  def version_date
113
- return unless File.exist?(Sass::Util.scope('VERSION_DATE'))
114
- DateTime.parse(File.read(Sass::Util.scope('VERSION_DATE')).strip)
115
+ return unless File.exists?(scope('VERSION_DATE'))
116
+ return DateTime.parse(File.read(scope('VERSION_DATE')).strip)
115
117
  end
116
118
  end
117
119
 
data/test/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :gemcutter
2
+
3
+ gem 'rake'
data/test/Gemfile.lock ADDED
@@ -0,0 +1,10 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ rake (0.9.2)
5
+
6
+ PLATFORMS
7
+ ruby
8
+
9
+ DEPENDENCIES
10
+ rake
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../test_helper'
3
3
  require File.dirname(__FILE__) + '/test_helper'
4
4
  require 'sass/engine'
5
5
 
6
- class CacheTest < MiniTest::Test
6
+ class CacheTest < Test::Unit::TestCase
7
7
  @@cache_dir = "tmp/file_cache"
8
8
 
9
9
  def setup
@@ -18,42 +18,42 @@ class CacheTest < MiniTest::Test
18
18
  def test_file_cache_writes_a_file
19
19
  file_store = Sass::CacheStores::Filesystem.new(@@cache_dir)
20
20
  file_store.store("asdf/foo.scssc", "fakesha1", root_node)
21
- assert File.exist?("#{@@cache_dir}/asdf/foo.scssc")
21
+ assert File.exists?("#{@@cache_dir}/asdf/foo.scssc")
22
22
  end
23
23
 
24
24
  def test_file_cache_reads_a_file
25
25
  file_store = Sass::CacheStores::Filesystem.new(@@cache_dir)
26
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
26
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
27
27
  file_store.store("asdf/foo.scssc", "fakesha1", root_node)
28
- assert File.exist?("#{@@cache_dir}/asdf/foo.scssc")
28
+ assert File.exists?("#{@@cache_dir}/asdf/foo.scssc")
29
29
  assert_kind_of Sass::Tree::RootNode, file_store.retrieve("asdf/foo.scssc", "fakesha1")
30
30
  end
31
31
 
32
32
  def test_file_cache_miss_returns_nil
33
33
  file_store = Sass::CacheStores::Filesystem.new(@@cache_dir)
34
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
34
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
35
35
  assert_nil file_store.retrieve("asdf/foo.scssc", "fakesha1")
36
36
  end
37
37
 
38
38
  def test_sha_change_invalidates_cache_and_cleans_up
39
39
  file_store = Sass::CacheStores::Filesystem.new(@@cache_dir)
40
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
40
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
41
41
  file_store.store("asdf/foo.scssc", "fakesha1", root_node)
42
- assert File.exist?("#{@@cache_dir}/asdf/foo.scssc")
42
+ assert File.exists?("#{@@cache_dir}/asdf/foo.scssc")
43
43
  assert_nil file_store.retrieve("asdf/foo.scssc", "differentsha1")
44
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
44
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
45
45
  end
46
46
 
47
47
  def test_version_change_invalidates_cache_and_cleans_up
48
48
  file_store = Sass::CacheStores::Filesystem.new(@@cache_dir)
49
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
49
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
50
50
  file_store.store("asdf/foo.scssc", "fakesha1", root_node)
51
- assert File.exist?("#{@@cache_dir}/asdf/foo.scssc")
51
+ assert File.exists?("#{@@cache_dir}/asdf/foo.scssc")
52
52
  real_version = Sass::VERSION
53
53
  begin
54
54
  Sass::VERSION.replace("a different version")
55
55
  assert_nil file_store.retrieve("asdf/foo.scssc", "fakesha1")
56
- assert !File.exist?("#{@@cache_dir}/asdf/foo.scssc")
56
+ assert !File.exists?("#{@@cache_dir}/asdf/foo.scssc")
57
57
  ensure
58
58
  Sass::VERSION.replace(real_version)
59
59
  end
@@ -66,52 +66,17 @@ class CacheTest < MiniTest::Test
66
66
  assert_equal an_object, cache.retrieve("an_object", "")
67
67
  end
68
68
 
69
- def test_cache_node_with_unmarshalable_option
70
- engine_with_unmarshalable_options("foo {a: b + c}").to_tree
71
- end
72
-
73
- # Regression tests
74
-
75
- def test_cache_mixin_def_splat_sass_node_with_unmarshalable_option
76
- engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
77
- =color($args...)
78
- color: red
79
- SASS
80
- end
81
-
82
- def test_cache_mixin_def_splat_scss_node_with_unmarshalable_option
83
- engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
84
- @mixin color($args...) {
85
- color: red;
86
- }
87
- SCSS
88
- end
89
-
90
- def test_cache_function_splat_sass_node_with_unmarshalable_option
91
- engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
92
- @function color($args...)
93
- @return red
94
- SASS
95
- end
96
-
97
- def test_cache_function_splat_scss_node_with_unmarshalable_option
98
- engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
99
- @function color($args...) {
100
- @return red;
101
- }
102
- SCSS
103
- end
104
-
105
- def test_cache_include_splat_sass_node_with_unmarshalable_option
106
- engine_with_unmarshalable_options(<<SASS, :syntax => :sass).to_tree
107
- @include color($args..., $kwargs...)
108
- SASS
69
+ class Unmarshalable
70
+ def _dump(_)
71
+ raise 'Unmarshalable'
72
+ end
109
73
  end
110
74
 
111
- def test_cache_include_splat_scss_node_with_unmarshalable_option
112
- engine_with_unmarshalable_options(<<SCSS, :syntax => :scss).to_tree
113
- @include color($args..., $kwargs...);
114
- SCSS
75
+ def test_cache_node_with_unmarshalable_option
76
+ engine = Sass::Engine.new("foo {a: b + c}",
77
+ :syntax => :scss, :object => Unmarshalable.new, :filename => 'file.scss',
78
+ :importer => Sass::Importers::Filesystem.new(absolutize('templates')))
79
+ engine.to_tree
115
80
  end
116
81
 
117
82
  private
@@ -121,11 +86,4 @@ SCSS
121
86
  div { @include color(red); }
122
87
  SCSS
123
88
  end
124
-
125
- def engine_with_unmarshalable_options(src, options={})
126
- Sass::Engine.new(src, {
127
- :syntax => :scss, :object => Class.new.new, :filename => 'file.scss',
128
- :importer => Sass::Importers::Filesystem.new(absolutize('templates'))
129
- }.merge(options))
130
- end
131
89
  end
@@ -26,7 +26,7 @@ module ClassLevelCallerBack
26
26
  end
27
27
  end
28
28
 
29
- class SassCallbacksTest < MiniTest::Test
29
+ class SassCallbacksTest < Test::Unit::TestCase
30
30
  def test_simple_callback
31
31
  cb = CallerBack.new
32
32
  there = false
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  require File.dirname(__FILE__) + '/../test_helper'
3
3
 
4
- class ConversionTest < MiniTest::Test
4
+ class ConversionTest < Test::Unit::TestCase
5
5
  def test_basic
6
6
  assert_renders <<SASS, <<SCSS
7
7
  foo bar
@@ -499,29 +499,6 @@ foo
499
499
  SASS
500
500
  end
501
501
 
502
- def test_loud_comment_containing_silent_comment
503
- assert_scss_to_sass <<SASS, <<SCSS
504
- /*
505
- *// foo bar
506
- SASS
507
- /*
508
- // foo bar
509
- */
510
- SCSS
511
- end
512
-
513
- def test_silent_comment_containing_loud_comment
514
- assert_scss_to_sass <<SASS, <<SCSS
515
- // /*
516
- // * foo bar
517
- // */
518
- SASS
519
- // /*
520
- // * foo bar
521
- // */
522
- SCSS
523
- end
524
-
525
502
  def test_immediately_preceding_comments
526
503
  assert_renders <<SASS, <<SCSS
527
504
  /* Foo
@@ -554,28 +531,6 @@ SASS
554
531
  SCSS
555
532
  end
556
533
 
557
- def test_immediately_following_comments
558
- assert_sass_to_scss <<SCSS, <<SASS
559
- .foobar {
560
- // trailing comment
561
- a: 1px;
562
- }
563
- SCSS
564
- .foobar // trailing comment
565
- a: 1px
566
- SASS
567
-
568
- assert_sass_to_scss <<SCSS, <<SASS
569
- .foobar {
570
- // trailing comment
571
- a: 1px;
572
- }
573
- SCSS
574
- .foobar /* trailing comment */
575
- a: 1px
576
- SASS
577
- end
578
-
579
534
  def test_debug
580
535
  assert_renders <<SASS, <<SCSS
581
536
  foo
@@ -589,19 +544,6 @@ foo {
589
544
  SCSS
590
545
  end
591
546
 
592
- def test_error
593
- assert_renders <<SASS, <<SCSS
594
- foo
595
- @error "oh no!"
596
- bar: baz
597
- SASS
598
- foo {
599
- @error "oh no!";
600
- bar: baz;
601
- }
602
- SCSS
603
- end
604
-
605
547
  def test_directive_without_children
606
548
  assert_renders <<SASS, <<SCSS
607
549
  foo
@@ -783,10 +725,6 @@ a
783
725
  c
784
726
  @each $str in foo, bar, baz, bang
785
727
  d: $str
786
-
787
- c
788
- @each $key, $value in (foo: 1, bar: 2, baz: 3)
789
- \#{$key}: $value
790
728
  SASS
791
729
  a {
792
730
  @each $number in 1px 2px 3px 4px {
@@ -799,12 +737,6 @@ c {
799
737
  d: $str;
800
738
  }
801
739
  }
802
-
803
- c {
804
- @each $key, $value in (foo: 1, bar: 2, baz: 3) {
805
- \#{$key}: $value;
806
- }
807
- }
808
740
  SCSS
809
741
  end
810
742
 
@@ -1045,19 +977,6 @@ foo {
1045
977
  SCSS
1046
978
  end
1047
979
 
1048
- def test_mixin_include_with_hyphen_conversion_keyword_arg
1049
- assert_renders <<SASS, <<SCSS
1050
- foo
1051
- +foo-bar($a-b_c: val)
1052
- a: blip
1053
- SASS
1054
- foo {
1055
- @include foo-bar($a-b_c: val);
1056
- a: blip;
1057
- }
1058
- SCSS
1059
- end
1060
-
1061
980
  def test_argless_function_definition
1062
981
  assert_renders <<SASS, <<SCSS
1063
982
  @function foo()
@@ -1280,17 +1199,6 @@ $val: 20;
1280
1199
  SCSS
1281
1200
  end
1282
1201
 
1283
- def test_media_with_feature
1284
- assert_sass_to_scss <<SCSS, <<SASS
1285
- @media screen and (-webkit-transform-3d) {
1286
- a: b;
1287
- }
1288
- SCSS
1289
- @media screen and (-webkit-transform-3d)
1290
- a: b
1291
- SASS
1292
- end
1293
-
1294
1202
  def test_supports_with_expressions
1295
1203
  assert_renders <<SASS, <<SCSS
1296
1204
  $query: "(feature1: val)"
@@ -1439,7 +1347,7 @@ div
1439
1347
  SASS
1440
1348
  end
1441
1349
 
1442
- def test_loud_comment_conversion
1350
+ def test_loud_comment_conversion
1443
1351
  assert_renders(<<SASS, <<SCSS)
1444
1352
  /*! \#{"interpolated"}
1445
1353
  SASS
@@ -1681,28 +1589,6 @@ SASS
1681
1589
  SCSS
1682
1590
  end
1683
1591
 
1684
- def test_mixin_var_kwargs
1685
- assert_scss_to_sass <<SASS, <<SCSS
1686
- =foo($a: b, $c: d)
1687
- a: $a
1688
- c: $c
1689
-
1690
- .foo
1691
- +foo($list..., $map...)
1692
- +foo(pos, $list..., $kwd: val, $map...)
1693
- SASS
1694
- @mixin foo($a: b, $c: d) {
1695
- a: $a;
1696
- c: $c;
1697
- }
1698
-
1699
- .foo {
1700
- @include foo($list..., $map...);
1701
- @include foo(pos, $list..., $kwd: val, $map...);
1702
- }
1703
- SCSS
1704
- end
1705
-
1706
1592
  def test_function_var_args
1707
1593
  assert_scss_to_sass <<SASS, <<SCSS
1708
1594
  @function foo($args...)
@@ -1730,141 +1616,6 @@ SASS
1730
1616
  SCSS
1731
1617
  end
1732
1618
 
1733
- def test_function_var_kwargs
1734
- assert_scss_to_sass <<SASS, <<SCSS
1735
- @function foo($a: b, $c: d)
1736
- @return foo
1737
-
1738
- .foo
1739
- a: foo($list..., $map...)
1740
- b: foo(pos, $list..., $kwd: val, $map...)
1741
- SASS
1742
- @function foo($a: b, $c: d) {
1743
- @return foo;
1744
- }
1745
-
1746
- .foo {
1747
- a: foo($list..., $map...);
1748
- b: foo(pos, $list..., $kwd: val, $map...);
1749
- }
1750
- SCSS
1751
- end
1752
-
1753
- def test_at_root
1754
- assert_scss_to_sass <<SASS, <<SCSS
1755
- .foo
1756
- @at-root
1757
- .bar
1758
- a: b
1759
- .baz
1760
- c: d
1761
- SASS
1762
- .foo {
1763
- @at-root {
1764
- .bar {
1765
- a: b;
1766
- }
1767
- .baz {
1768
- c: d;
1769
- }
1770
- }
1771
- }
1772
- SCSS
1773
- end
1774
-
1775
- def test_at_root_with_selector
1776
- assert_scss_to_sass <<SASS, <<SCSS
1777
- .foo
1778
- @at-root .bar
1779
- a: b
1780
- SASS
1781
- .foo {
1782
- @at-root .bar {
1783
- a: b;
1784
- }
1785
- }
1786
- SCSS
1787
- end
1788
-
1789
- def test_at_root_without
1790
- assert_scss_to_sass <<SASS, <<SCSS
1791
- .foo
1792
- @at-root (without: media rule)
1793
- a: b
1794
- SASS
1795
- .foo {
1796
- @at-root (without: media rule) {
1797
- a: b;
1798
- }
1799
- }
1800
- SCSS
1801
- end
1802
-
1803
- def test_at_root_with
1804
- assert_scss_to_sass <<SASS, <<SCSS
1805
- .foo
1806
- @at-root (with: media rule)
1807
- a: b
1808
- SASS
1809
- .foo {
1810
- @at-root (with: media rule) {
1811
- a: b;
1812
- }
1813
- }
1814
- SCSS
1815
- end
1816
-
1817
- def test_function_var_kwargs_with_list
1818
- assert_scss_to_sass <<SASS, <<SCSS
1819
- @function foo($a: b, $c: d)
1820
- @return $a, $c
1821
-
1822
- .foo
1823
- a: foo($list..., $map...)
1824
- SASS
1825
- @function foo($a: b, $c: d) {
1826
- @return $a, $c;
1827
- }
1828
-
1829
- .foo {
1830
- a: foo($list..., $map...);
1831
- }
1832
- SCSS
1833
- end
1834
-
1835
- def test_keyframes
1836
- assert_renders(<<SASS, <<SCSS)
1837
- @keyframes identifier
1838
- 0%
1839
- top: 0
1840
- left: 0
1841
- 30%
1842
- top: 50px
1843
- 68%, 72%
1844
- left: 50px
1845
- 100%
1846
- top: 100px
1847
- left: 100%
1848
- SASS
1849
- @keyframes identifier {
1850
- 0% {
1851
- top: 0;
1852
- left: 0;
1853
- }
1854
- 30% {
1855
- top: 50px;
1856
- }
1857
- 68%, 72% {
1858
- left: 50px;
1859
- }
1860
- 100% {
1861
- top: 100px;
1862
- left: 100%;
1863
- }
1864
- }
1865
- SCSS
1866
- end
1867
-
1868
1619
  ## Regression Tests
1869
1620
 
1870
1621
  def test_list_in_args
@@ -1941,34 +1692,6 @@ foo {
1941
1692
  SCSS
1942
1693
  end
1943
1694
 
1944
- def test_keyword_arguments
1945
- assert_renders(<<SASS, <<SCSS, :dasherize => true)
1946
- $foo: foo($dash-ed: 2px)
1947
- SASS
1948
- $foo: foo($dash-ed: 2px);
1949
- SCSS
1950
- assert_scss_to_sass(<<SASS, <<SCSS, :dasherize => true)
1951
- $foo: foo($dash-ed: 2px)
1952
- SASS
1953
- $foo: foo($dash_ed: 2px);
1954
- SCSS
1955
- assert_sass_to_scss(<<SCSS, <<SASS, :dasherize => true)
1956
- $foo: foo($dash-ed: 2px);
1957
- SCSS
1958
- $foo: foo($dash_ed: 2px)
1959
- SASS
1960
- assert_renders(<<SASS, <<SCSS)
1961
- $foo: foo($under_scored: 1px)
1962
- SASS
1963
- $foo: foo($under_scored: 1px);
1964
- SCSS
1965
- assert_renders(<<SASS, <<SCSS)
1966
- $foo: foo($dash-ed: 2px, $under_scored: 1px)
1967
- SASS
1968
- $foo: foo($dash-ed: 2px, $under_scored: 1px);
1969
- SCSS
1970
- end
1971
-
1972
1695
  def test_ambiguous_negation
1973
1696
  assert_renders(<<SASS, <<SCSS, :indent => ' ')
1974
1697
  foo
@@ -1986,23 +1709,6 @@ foo {
1986
1709
  SCSS
1987
1710
  end
1988
1711
 
1989
- def test_variable_with_global
1990
- assert_renders(<<SASS, <<SCSS)
1991
- $var: 1
1992
-
1993
- foo
1994
- $var: 2 !global
1995
- $var: 3 !global !default
1996
- SASS
1997
- $var: 1;
1998
-
1999
- foo {
2000
- $var: 2 !global;
2001
- $var: 3 !global !default;
2002
- }
2003
- SCSS
2004
- end
2005
-
2006
1712
  private
2007
1713
 
2008
1714
  def assert_sass_to_sass(sass, options = {})