sass-rails 4.0.3 → 6.0.0

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 (245) hide show
  1. checksums.yaml +5 -5
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +27 -22
  4. data/lib/sass-rails.rb +1 -1
  5. data/lib/sass/rails.rb +1 -11
  6. data/lib/sass/rails/importer.rb +3 -102
  7. data/lib/sass/rails/logger.rb +3 -19
  8. data/lib/sass/rails/railtie.rb +1 -71
  9. data/lib/sass/rails/version.rb +1 -1
  10. metadata +10 -513
  11. data/.gitignore +0 -6
  12. data/.travis.yml +0 -22
  13. data/CHANGELOG.md +0 -48
  14. data/Gemfile +0 -8
  15. data/Rakefile +0 -29
  16. data/lib/rails/generators/sass/assets/assets_generator.rb +0 -13
  17. data/lib/rails/generators/sass/assets/templates/stylesheet.css.sass +0 -3
  18. data/lib/rails/generators/sass/scaffold/scaffold_generator.rb +0 -9
  19. data/lib/rails/generators/sass_scaffold.rb +0 -16
  20. data/lib/rails/generators/scss/assets/assets_generator.rb +0 -13
  21. data/lib/rails/generators/scss/assets/templates/stylesheet.css.scss +0 -3
  22. data/lib/rails/generators/scss/scaffold/scaffold_generator.rb +0 -10
  23. data/lib/sass/rails/helpers.rb +0 -30
  24. data/lib/sass/rails/template.rb +0 -28
  25. data/sass-rails.gemspec +0 -27
  26. data/sass-rails.gemspec.erb +0 -27
  27. data/test/fixtures/alternate_config_project/.gitignore +0 -5
  28. data/test/fixtures/alternate_config_project/Gemfile +0 -7
  29. data/test/fixtures/alternate_config_project/README +0 -261
  30. data/test/fixtures/alternate_config_project/Rakefile +0 -7
  31. data/test/fixtures/alternate_config_project/app/assets/images/1x1.png +0 -0
  32. data/test/fixtures/alternate_config_project/app/assets/images/rails.png +0 -0
  33. data/test/fixtures/alternate_config_project/app/assets/javascripts/application.js +0 -9
  34. data/test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
  35. data/test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss +0 -32
  36. data/test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css +0 -7
  37. data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
  38. data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
  39. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
  40. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
  41. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
  42. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
  43. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
  44. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
  45. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
  46. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css +0 -3
  47. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -1
  48. data/test/fixtures/alternate_config_project/app/controllers/application_controller.rb +0 -3
  49. data/test/fixtures/alternate_config_project/app/helpers/application_helper.rb +0 -2
  50. data/test/fixtures/alternate_config_project/app/mailers/.gitkeep +0 -0
  51. data/test/fixtures/alternate_config_project/app/models/.gitkeep +0 -0
  52. data/test/fixtures/alternate_config_project/app/views/layouts/application.html.erb +0 -14
  53. data/test/fixtures/alternate_config_project/config.ru +0 -4
  54. data/test/fixtures/alternate_config_project/config/application.rb +0 -49
  55. data/test/fixtures/alternate_config_project/config/boot.rb +0 -6
  56. data/test/fixtures/alternate_config_project/config/database.yml +0 -25
  57. data/test/fixtures/alternate_config_project/config/environment.rb +0 -5
  58. data/test/fixtures/alternate_config_project/config/environments/development.rb +0 -27
  59. data/test/fixtures/alternate_config_project/config/environments/production.rb +0 -56
  60. data/test/fixtures/alternate_config_project/config/environments/test.rb +0 -38
  61. data/test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb +0 -7
  62. data/test/fixtures/alternate_config_project/config/initializers/inflections.rb +0 -10
  63. data/test/fixtures/alternate_config_project/config/initializers/mime_types.rb +0 -5
  64. data/test/fixtures/alternate_config_project/config/initializers/secret_token.rb +0 -7
  65. data/test/fixtures/alternate_config_project/config/initializers/session_store.rb +0 -8
  66. data/test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb +0 -12
  67. data/test/fixtures/alternate_config_project/config/locales/en.yml +0 -5
  68. data/test/fixtures/alternate_config_project/config/routes.rb +0 -58
  69. data/test/fixtures/alternate_config_project/db/seeds.rb +0 -7
  70. data/test/fixtures/alternate_config_project/doc/README_FOR_APP +0 -2
  71. data/test/fixtures/alternate_config_project/lib/tasks/.gitkeep +0 -0
  72. data/test/fixtures/alternate_config_project/log/.gitkeep +0 -0
  73. data/test/fixtures/alternate_config_project/public/404.html +0 -26
  74. data/test/fixtures/alternate_config_project/public/422.html +0 -26
  75. data/test/fixtures/alternate_config_project/public/500.html +0 -26
  76. data/test/fixtures/alternate_config_project/public/favicon.ico +0 -0
  77. data/test/fixtures/alternate_config_project/public/index.html +0 -241
  78. data/test/fixtures/alternate_config_project/public/robots.txt +0 -5
  79. data/test/fixtures/alternate_config_project/script/rails +0 -6
  80. data/test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep +0 -0
  81. data/test/fixtures/alternate_config_project/vendor/plugins/.gitkeep +0 -0
  82. data/test/fixtures/engine_project/.gitignore +0 -8
  83. data/test/fixtures/engine_project/Gemfile +0 -14
  84. data/test/fixtures/engine_project/MIT-LICENSE +0 -20
  85. data/test/fixtures/engine_project/README.rdoc +0 -3
  86. data/test/fixtures/engine_project/Rakefile +0 -34
  87. data/test/fixtures/engine_project/app/assets/images/engine_project/.keep +0 -0
  88. data/test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js +0 -16
  89. data/test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css +0 -13
  90. data/test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb +0 -4
  91. data/test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb +0 -4
  92. data/test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb +0 -14
  93. data/test/fixtures/engine_project/config/routes.rb +0 -2
  94. data/test/fixtures/engine_project/engine_project.gemspec +0 -23
  95. data/test/fixtures/engine_project/lib/engine_project.rb +0 -4
  96. data/test/fixtures/engine_project/lib/engine_project/engine.rb +0 -5
  97. data/test/fixtures/engine_project/lib/engine_project/version.rb +0 -3
  98. data/test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake +0 -4
  99. data/test/fixtures/engine_project/script/rails +0 -8
  100. data/test/fixtures/engine_project/test/dummy/README.rdoc +0 -28
  101. data/test/fixtures/engine_project/test/dummy/Rakefile +0 -6
  102. data/test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js +0 -16
  103. data/test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css +0 -13
  104. data/test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb +0 -5
  105. data/test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep +0 -0
  106. data/test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb +0 -2
  107. data/test/fixtures/engine_project/test/dummy/app/mailers/.keep +0 -0
  108. data/test/fixtures/engine_project/test/dummy/app/models/.keep +0 -0
  109. data/test/fixtures/engine_project/test/dummy/app/models/concerns/.keep +0 -0
  110. data/test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb +0 -14
  111. data/test/fixtures/engine_project/test/dummy/bin/bundle +0 -3
  112. data/test/fixtures/engine_project/test/dummy/bin/rails +0 -4
  113. data/test/fixtures/engine_project/test/dummy/bin/rake +0 -4
  114. data/test/fixtures/engine_project/test/dummy/config.ru +0 -4
  115. data/test/fixtures/engine_project/test/dummy/config/application.rb +0 -23
  116. data/test/fixtures/engine_project/test/dummy/config/boot.rb +0 -9
  117. data/test/fixtures/engine_project/test/dummy/config/database.yml +0 -25
  118. data/test/fixtures/engine_project/test/dummy/config/environment.rb +0 -5
  119. data/test/fixtures/engine_project/test/dummy/config/environments/development.rb +0 -27
  120. data/test/fixtures/engine_project/test/dummy/config/environments/production.rb +0 -80
  121. data/test/fixtures/engine_project/test/dummy/config/environments/test.rb +0 -36
  122. data/test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  123. data/test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  124. data/test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb +0 -16
  125. data/test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb +0 -5
  126. data/test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb +0 -12
  127. data/test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb +0 -3
  128. data/test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  129. data/test/fixtures/engine_project/test/dummy/config/locales/en.yml +0 -23
  130. data/test/fixtures/engine_project/test/dummy/config/routes.rb +0 -4
  131. data/test/fixtures/engine_project/test/dummy/lib/assets/.keep +0 -0
  132. data/test/fixtures/engine_project/test/dummy/log/.keep +0 -0
  133. data/test/fixtures/engine_project/test/dummy/public/404.html +0 -27
  134. data/test/fixtures/engine_project/test/dummy/public/422.html +0 -26
  135. data/test/fixtures/engine_project/test/dummy/public/500.html +0 -26
  136. data/test/fixtures/engine_project/test/dummy/public/favicon.ico +0 -0
  137. data/test/fixtures/sass_project/.gitignore +0 -5
  138. data/test/fixtures/sass_project/Gemfile +0 -7
  139. data/test/fixtures/sass_project/README +0 -261
  140. data/test/fixtures/sass_project/Rakefile +0 -7
  141. data/test/fixtures/sass_project/app/assets/images/rails.png +0 -0
  142. data/test/fixtures/sass_project/app/assets/javascripts/application.js +0 -9
  143. data/test/fixtures/sass_project/app/assets/stylesheets/application.css +0 -7
  144. data/test/fixtures/sass_project/app/controllers/application_controller.rb +0 -3
  145. data/test/fixtures/sass_project/app/helpers/application_helper.rb +0 -2
  146. data/test/fixtures/sass_project/app/mailers/.gitkeep +0 -0
  147. data/test/fixtures/sass_project/app/models/.gitkeep +0 -0
  148. data/test/fixtures/sass_project/app/views/layouts/application.html.erb +0 -14
  149. data/test/fixtures/sass_project/config.ru +0 -4
  150. data/test/fixtures/sass_project/config/application.rb +0 -52
  151. data/test/fixtures/sass_project/config/boot.rb +0 -6
  152. data/test/fixtures/sass_project/config/database.yml +0 -25
  153. data/test/fixtures/sass_project/config/environment.rb +0 -5
  154. data/test/fixtures/sass_project/config/environments/development.rb +0 -21
  155. data/test/fixtures/sass_project/config/environments/production.rb +0 -51
  156. data/test/fixtures/sass_project/config/environments/test.rb +0 -36
  157. data/test/fixtures/sass_project/config/initializers/backtrace_silencers.rb +0 -7
  158. data/test/fixtures/sass_project/config/initializers/inflections.rb +0 -10
  159. data/test/fixtures/sass_project/config/initializers/mime_types.rb +0 -5
  160. data/test/fixtures/sass_project/config/initializers/secret_token.rb +0 -7
  161. data/test/fixtures/sass_project/config/initializers/session_store.rb +0 -8
  162. data/test/fixtures/sass_project/config/initializers/wrap_parameters.rb +0 -12
  163. data/test/fixtures/sass_project/config/locales/en.yml +0 -5
  164. data/test/fixtures/sass_project/config/routes.rb +0 -58
  165. data/test/fixtures/sass_project/db/seeds.rb +0 -7
  166. data/test/fixtures/sass_project/doc/README_FOR_APP +0 -2
  167. data/test/fixtures/sass_project/lib/tasks/.gitkeep +0 -0
  168. data/test/fixtures/sass_project/log/.gitkeep +0 -0
  169. data/test/fixtures/sass_project/public/404.html +0 -26
  170. data/test/fixtures/sass_project/public/422.html +0 -26
  171. data/test/fixtures/sass_project/public/500.html +0 -26
  172. data/test/fixtures/sass_project/public/favicon.ico +0 -0
  173. data/test/fixtures/sass_project/public/index.html +0 -241
  174. data/test/fixtures/sass_project/public/robots.txt +0 -5
  175. data/test/fixtures/sass_project/script/rails +0 -6
  176. data/test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep +0 -0
  177. data/test/fixtures/sass_project/vendor/plugins/.gitkeep +0 -0
  178. data/test/fixtures/scss_project/.gitignore +0 -5
  179. data/test/fixtures/scss_project/Gemfile +0 -7
  180. data/test/fixtures/scss_project/README +0 -261
  181. data/test/fixtures/scss_project/Rakefile +0 -7
  182. data/test/fixtures/scss_project/app/assets/images/1x1.png +0 -0
  183. data/test/fixtures/scss_project/app/assets/images/rails.png +0 -0
  184. data/test/fixtures/scss_project/app/assets/javascripts/application.js +0 -9
  185. data/test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
  186. data/test/fixtures/scss_project/app/assets/stylesheets/application.css.scss +0 -37
  187. data/test/fixtures/scss_project/app/assets/stylesheets/css_application.css +0 -7
  188. data/test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb +0 -3
  189. data/test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb +0 -2
  190. data/test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb +0 -3
  191. data/test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
  192. data/test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
  193. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
  194. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
  195. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
  196. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
  197. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
  198. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
  199. data/test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb +0 -2
  200. data/test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb +0 -3
  201. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss +0 -3
  202. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
  203. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css +0 -3
  204. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -2
  205. data/test/fixtures/scss_project/app/controllers/application_controller.rb +0 -3
  206. data/test/fixtures/scss_project/app/helpers/application_helper.rb +0 -2
  207. data/test/fixtures/scss_project/app/mailers/.gitkeep +0 -0
  208. data/test/fixtures/scss_project/app/models/.gitkeep +0 -0
  209. data/test/fixtures/scss_project/app/views/layouts/application.html.erb +0 -14
  210. data/test/fixtures/scss_project/config.ru +0 -4
  211. data/test/fixtures/scss_project/config/application.rb +0 -49
  212. data/test/fixtures/scss_project/config/boot.rb +0 -6
  213. data/test/fixtures/scss_project/config/database.yml +0 -25
  214. data/test/fixtures/scss_project/config/environment.rb +0 -5
  215. data/test/fixtures/scss_project/config/environments/development.rb +0 -23
  216. data/test/fixtures/scss_project/config/environments/production.rb +0 -53
  217. data/test/fixtures/scss_project/config/environments/test.rb +0 -38
  218. data/test/fixtures/scss_project/config/initializers/backtrace_silencers.rb +0 -7
  219. data/test/fixtures/scss_project/config/initializers/inflections.rb +0 -10
  220. data/test/fixtures/scss_project/config/initializers/mime_types.rb +0 -5
  221. data/test/fixtures/scss_project/config/initializers/postprocessor.rb +0 -3
  222. data/test/fixtures/scss_project/config/initializers/secret_token.rb +0 -7
  223. data/test/fixtures/scss_project/config/initializers/session_store.rb +0 -8
  224. data/test/fixtures/scss_project/config/initializers/wrap_parameters.rb +0 -12
  225. data/test/fixtures/scss_project/config/locales/en.yml +0 -5
  226. data/test/fixtures/scss_project/config/routes.rb +0 -58
  227. data/test/fixtures/scss_project/db/seeds.rb +0 -7
  228. data/test/fixtures/scss_project/doc/README_FOR_APP +0 -2
  229. data/test/fixtures/scss_project/lib/tasks/.gitkeep +0 -0
  230. data/test/fixtures/scss_project/log/.gitkeep +0 -0
  231. data/test/fixtures/scss_project/public/404.html +0 -26
  232. data/test/fixtures/scss_project/public/422.html +0 -26
  233. data/test/fixtures/scss_project/public/500.html +0 -26
  234. data/test/fixtures/scss_project/public/favicon.ico +0 -0
  235. data/test/fixtures/scss_project/public/index.html +0 -241
  236. data/test/fixtures/scss_project/public/robots.txt +0 -5
  237. data/test/fixtures/scss_project/script/rails +0 -6
  238. data/test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep +0 -0
  239. data/test/fixtures/scss_project/vendor/plugins/.gitkeep +0 -0
  240. data/test/gemfiles/Gemfile-master +0 -8
  241. data/test/sass_rails_generators_test.rb +0 -62
  242. data/test/sass_rails_logger_test.rb +0 -24
  243. data/test/sass_rails_test.rb +0 -133
  244. data/test/support/sass_rails_test_case.rb +0 -166
  245. data/test/test_helper.rb +0 -25
@@ -1,5 +0,0 @@
1
- # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
- #
3
- # To ban all spiders from the entire site uncomment the next two lines:
4
- # User-Agent: *
5
- # Disallow: /
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- APP_PATH = File.expand_path('../../config/application', __FILE__)
5
- require File.expand_path('../../config/boot', __FILE__)
6
- require 'rails/commands'
File without changes
@@ -1,8 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # Specify your gem's dependencies in sass-rails.gemspec
4
- gemspec path: '../..'
5
-
6
- gem "rails", github: 'rails/rails', branch: 'master'
7
-
8
- gem "sqlite3"
@@ -1,62 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ScaffoldGeneratorTest < Sass::Rails::TestCase
4
- test "scss files are generated during scaffold generation of scss projects" do
5
- within_rails_app "scss_project" do
6
- generate_scaffold
7
- assert_file_exists "app/assets/stylesheets/foos.css.scss"
8
- assert_file_exists "app/assets/stylesheets/scaffolds.css.scss"
9
- assert_not_output /conflict/
10
- end
11
- end
12
-
13
- test "sass files are generated during scaffold generation of sass projects" do
14
- within_rails_app "sass_project" do
15
- generate_scaffold
16
- assert_file_exists "app/assets/stylesheets/foos.css.sass"
17
- assert_file_exists "app/assets/stylesheets/scaffolds.css.sass"
18
- assert_not_output /conflict/
19
- end
20
- end
21
-
22
- test "scss files are generated during scaffold generation of a engine project, if is called with --stylesheet-engine=scss" do
23
- within_rails_app "engine_project" do
24
- generate_scaffold "--stylesheet-engine=scss"
25
- assert_file_exists "app/assets/stylesheets/engine_project/foos.css.scss"
26
- assert_file_exists "app/assets/stylesheets/scaffolds.css.scss"
27
- assert_not_output /conflict/
28
- end
29
- end
30
-
31
- test "sass files are generated during scaffold generation of a engine project, if is called with --stylesheet-engine=sass" do
32
- within_rails_app "engine_project" do
33
- generate_scaffold "--stylesheet-engine=sass"
34
- assert_file_exists "app/assets/stylesheets/engine_project/foos.css.sass"
35
- assert_file_exists "app/assets/stylesheets/scaffolds.css.sass"
36
- assert_not_output /conflict/
37
- end
38
- end
39
-
40
- # DISABLED because we've removed the feature for now.
41
- # test "scss template has correct dasherized css class for namespaced controllers" do
42
- # within_rails_app "scss_project" do
43
- # runcmd "rails generate controller foo/bar"
44
- # assert_file_exists "app/assets/stylesheets/foo/bar.css.scss"
45
- # assert_match /\.foo-bar/, File.read("app/assets/stylesheets/foo/bar.css.scss")
46
- # end
47
- # end
48
- #
49
- # test "sass template has correct dasherized css class for namespaced controllers" do
50
- # within_rails_app "sass_project" do
51
- # runcmd "rails generate controller foo/bar"
52
- # assert_file_exists "app/assets/stylesheets/foo/bar.css.sass"
53
- # assert_match /\.foo-bar/, File.read("app/assets/stylesheets/foo/bar.css.sass")
54
- # end
55
- # end
56
-
57
- private
58
-
59
- def generate_scaffold(args = nil)
60
- runcmd "bundle exec rails generate scaffold foo #{args}"
61
- end
62
- end
@@ -1,24 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SassRailsLoggerTest < Sass::Rails::TestCase
4
- test "setting a sass-rails logger as the sass default logger" do
5
- within_rails_app "scss_project" do
6
- logger_class_name = runcmd 'ruby script/rails runner "print Sass::logger.class.name"'
7
- assert logger_class_name =~ /#{Regexp.escape(Sass::Rails::Logger.name)}/
8
- end
9
- end
10
-
11
- test "sending a log messages to the sass logger writes to the environment log file" do
12
- within_rails_app "scss_project" do |app_root|
13
- [:debug, :warn, :info, :error, :trace].each do |level|
14
- message = "[#{level}]: sass message"
15
- runcmd %{ruby script/rails runner "Sass::logger.log_level = :#{level}; Sass::logger.log(:#{level}, %Q|#{message}|)"}, Dir.pwd, true, 'Gemfile', { 'RAILS_ENV' => 'development' }
16
-
17
- assert File.exists?("#{app_root}/log/development.log"), "log file was not created"
18
-
19
- log_output = File.open("#{app_root}/log/development.log").read
20
- assert log_output.include?(message), "the #{level} log message was not found in the log file"
21
- end
22
- end
23
- end
24
- end
@@ -1,133 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SassRailsTest < Sass::Rails::TestCase
4
- test 'classes are loaded' do
5
- assert_kind_of Module, Sass::Rails
6
- assert_kind_of Class, Sass::Rails::Railtie
7
- end
8
-
9
- test 'style config item is honored in development mode' do
10
- within_rails_app 'alternate_config_project' do
11
- runcmd "ruby script/rails runner 'puts Rails.application.config.sass.style'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'development'}
12
- assert_output /compact/
13
- end
14
- end
15
-
16
- test 'style config item is not honored if environment is not development' do
17
- within_rails_app 'alternate_config_project' do
18
- runcmd "ruby script/rails runner 'p Rails.application.config.sass.style'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'production'}
19
- assert_equal 'nil', $last_ouput.chomp
20
- end
21
- end
22
-
23
- test 'css_compressor config item is not honored in development mode' do
24
- within_rails_app 'alternate_config_project' do
25
- runcmd "ruby script/rails runner 'p Rails.application.config.assets.css_compressor'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'development'}
26
- assert_equal 'nil', $last_ouput.chomp
27
- end
28
- end
29
-
30
- test 'css_compressor config item is honored if environment is not development' do
31
- within_rails_app 'alternate_config_project' do
32
- runcmd "ruby script/rails runner 'puts Rails.application.config.assets.css_compressor'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'production'}
33
- assert_output /yui/
34
- end
35
- end
36
-
37
- test 'sass uses expanded style by default in development mode' do
38
- within_rails_app 'scss_project' do
39
- runcmd "ruby script/rails runner 'puts Rails.application.config.sass.style'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'development'}
40
- assert_output /expanded/
41
- end
42
- end
43
-
44
- test 'sass not defines compressor in development mode' do
45
- within_rails_app 'scss_project' do
46
- runcmd "ruby script/rails runner 'p Rails.application.config.assets.css_compressor'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'development'}
47
- assert_equal 'nil', $last_ouput.chomp
48
- end
49
- end
50
-
51
- test 'sass defines compressor by default in test mode' do
52
- within_rails_app 'scss_project' do
53
- runcmd "ruby script/rails runner 'puts Rails.application.config.assets.css_compressor'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'test'}
54
- assert_equal 'sass', $last_ouput.chomp
55
- end
56
- end
57
-
58
- test 'sass defines compressor by default in production mode' do
59
- within_rails_app 'scss_project' do
60
- runcmd "ruby script/rails runner 'puts Rails.application.config.assets.css_compressor'", Dir.pwd, true, 'Gemfile', {'RAILS_ENV' => 'production'}
61
- assert_equal 'sass', $last_ouput.chomp
62
- end
63
- end
64
-
65
- test 'sprockets require works correctly' do
66
- css_output = sprockets_render('scss_project', 'css_application.css')
67
- assert_match /globbed/, css_output
68
- end
69
-
70
- test 'sass imports work correctly' do
71
- css_output = sprockets_render('scss_project', 'application.css.scss')
72
- assert_match /main/, css_output
73
- assert_match /top-level/, css_output
74
- assert_match /partial-sass/, css_output
75
- assert_match /partial-scss/, css_output
76
- assert_match /sub-folder-relative-sass/, css_output
77
- assert_match /sub-folder-relative-scss/, css_output
78
- assert_match /not-a-partial/, css_output
79
- assert_match /globbed/, css_output
80
- assert_match /nested-glob/, css_output
81
- assert_match /plain-old-css/, css_output
82
- assert_match /another-plain-old-css/, css_output
83
- assert_match /without-css-ext/, css_output
84
- assert_match /css-erb-handler/, css_output
85
- assert_match /scss-erb-handler/, css_output
86
- assert_match /sass-erb-handler/, css_output
87
- assert_match /css-sass-erb-handler/, css_output
88
- assert_match /css-scss-erb-handler/, css_output
89
- assert_match /default-old-css/, css_output
90
- end
91
-
92
- test 'globbed imports work when new file is added' do
93
- project = 'scss_project'
94
- filename = 'application.css.scss'
95
-
96
- within_rails_app(project) do |tmpdir|
97
- asset_output(filename)
98
-
99
- new_file = File.join(tmpdir, 'app', 'assets', 'stylesheets', 'globbed', 'new.scss')
100
- File.open(new_file, 'w') do |file|
101
- file.puts '.new-file-test { color: #000; }'
102
- end
103
-
104
- css_output = asset_output(filename)
105
- assert_match /new-file-test/, css_output
106
- end
107
- end
108
-
109
- test 'sass asset paths work' do
110
- css_output = sprockets_render('scss_project', 'application.css.scss')
111
- assert_match %r{asset-path:\s*"/assets/rails.png"}, css_output, 'asset-path:\s*"/assets/rails.png"'
112
- assert_match %r{asset-url:\s*url\(/assets/rails.png\)}, css_output, 'asset-url:\s*url\(/assets/rails.png\)'
113
- assert_match %r{image-path:\s*"/assets/rails.png"}, css_output, 'image-path:\s*"/assets/rails.png"'
114
- assert_match %r{image-url:\s*url\(/assets/rails.png\)}, css_output, 'image-url:\s*url\(/assets/rails.png\)'
115
- assert_match %r{video-path:\s*"/videos/rails.mp4"}, css_output, 'video-path:\s*"/videos/rails.mp4"'
116
- assert_match %r{video-url:\s*url\(/videos/rails.mp4\)}, css_output, 'video-url:\s*url\(/videos/rails.mp4\)'
117
- assert_match %r{audio-path:\s*"/audios/rails.mp3"}, css_output, 'audio-path:\s*"/audios/rails.mp3"'
118
- assert_match %r{audio-url:\s*url\(/audios/rails.mp3\)}, css_output, 'audio-url:\s*url\(/audios/rails.mp3\)'
119
- assert_match %r{font-path:\s*"/fonts/rails.ttf"}, css_output, 'font-path:\s*"/fonts/rails.ttf"'
120
- assert_match %r{font-url:\s*url\(/fonts/rails.ttf\)}, css_output, 'font-url:\s*url\(/fonts/rails.ttf\)'
121
- assert_match %r{font-url-with-query-hash:\s*url\(/fonts/rails.ttf\?#iefix\)}, css_output, 'font-url:\s*url\(/fonts/rails.ttf?#iefix\)'
122
- assert_match %r{javascript-path:\s*"/javascripts/rails.js"}, css_output, 'javascript-path:\s*"/javascripts/rails.js"'
123
- assert_match %r{javascript-url:\s*url\(/javascripts/rails.js\)}, css_output, 'javascript-url:\s*url\(/javascripts/rails.js\)'
124
- assert_match %r{stylesheet-path:\s*"/stylesheets/rails.css"}, css_output, 'stylesheet-path:\s*"/stylesheets/rails.css"'
125
- assert_match %r{stylesheet-url:\s*url\(/stylesheets/rails.css\)}, css_output, 'stylesheet-url:\s*url\(/stylesheets/rails.css\)'
126
-
127
- asset_data_url_regexp = %r{asset-data-url:\s*url\((.*?)\)}
128
- assert_match asset_data_url_regexp, css_output, 'asset-data-url:\s*url\((.*?)\)'
129
- asset_data_url_match = css_output.match(asset_data_url_regexp)[1]
130
- asset_data_url_expected = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCNzY5NDE1QkQ2NkMxMUUwOUUzM0E5Q0E2RTgyQUExQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCNzY5NDE1Q0Q2NkMxMUUwOUUzM0E5Q0E2RTgyQUExQiI%2BIDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MzcyNTQ2RDY2QjExRTA5RTMzQTlDQTZFODJBQTFCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI3Njk0MTVBRDY2QzExRTA5RTMzQTlDQTZFODJBQTFCIi8%2BIDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY%2BIDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8%2B0HhJ9AAAABBJREFUeNpi%2BP%2F%2FPwNAgAEACPwC%2FtuiTRYAAAAASUVORK5CYII%3D'
131
- assert_equal asset_data_url_expected, asset_data_url_match
132
- end
133
- end
@@ -1,166 +0,0 @@
1
- unless defined?(Bundler)
2
- $stderr.puts "You didn't run bundle exec did you? Try again: bundle exec rake test"
3
- exit 1
4
- end
5
- require 'fileutils'
6
- require 'tmpdir'
7
-
8
- class Sass::Rails::TestCase < ActiveSupport::TestCase
9
-
10
- class ExecutionError < StandardError
11
- attr_accessor :output
12
- def initialize(message, output = nil)
13
- super(message)
14
- self.output = output
15
- end
16
- def message
17
- "#{super}\nOutput was:\n#{output}"
18
- end
19
- end
20
-
21
- module SilentError
22
- attr_accessor :output
23
- def message
24
- "#{super}\nOutput was:\n#{output}"
25
- end
26
- end
27
-
28
- protected
29
-
30
- def fixture_path(path)
31
- File.expand_path("../../fixtures/#{path}", __FILE__)
32
- end
33
-
34
- module TestAssetPaths
35
- attr_accessor :assets
36
- end
37
-
38
- def sprockets_render(project, filename)
39
- within_rails_app(project) do
40
- asset_output(filename)
41
- end
42
- end
43
-
44
- def asset_output(filename)
45
- runcmd "ruby script/rails runner 'puts Rails.application.assets[#{filename.inspect}]'"
46
- end
47
-
48
- def assert_file_exists(filename)
49
- assert File.exists?(filename), "could not find #{filename}. PWD=#{Dir.pwd}\nDid find: #{Dir.glob(File.dirname(filename)+"/*").join(", ")}"
50
- end
51
-
52
- def assert_not_output(match)
53
- assert_no_match match, $last_ouput
54
- end
55
-
56
- def assert_output(match)
57
- assert $last_ouput.to_s =~ match, "#{match} was not found in #{$last_ouput.inspect}"
58
- end
59
-
60
- def assert_line_count(count)
61
- last_count = $last_ouput.lines.count
62
- assert last_count == count, "Wrong line count, expected: #{count} but got: #{last_count}"
63
- end
64
- # Copies a rails app fixture to a temp directory
65
- # and changes to that directory during the yield.
66
- #
67
- # Automatically changes back to the working directory
68
- # and removes the temp directory when done.
69
- def within_rails_app(name, without_gems = [], gem_options = $gem_options)
70
- sourcedir = File.expand_path("../../fixtures/#{name}", __FILE__)
71
- Dir.mktmpdir do |tmpdir|
72
- FileUtils.cp_r "#{sourcedir}/.", tmpdir
73
- Dir.chdir(tmpdir) do
74
- gem_options.each { |gem_name, options| modify_gem_entry gem_name, options }
75
- without_gems.each { |gem_name| remove_gem name }
76
- FileUtils.rm("Gemfile.lock") if File.exist?("Gemfile.lock")
77
- runcmd "bundle install --verbose"
78
- runcmd "bundle exec rake db:create --trace"
79
- yield tmpdir
80
- end
81
- end
82
- end
83
-
84
- def process_gemfile(gemfile = "Gemfile", &blk)
85
- gem_contents = File.readlines(gemfile)
86
- gem_contents.map!(&blk)
87
- gem_contents.compact!
88
- File.open(gemfile, "w") do |f|
89
- f.print(gem_contents.join(""))
90
- end
91
- end
92
-
93
- def modify_gem_entry(gemname, options, gemfile = "Gemfile")
94
- found = false
95
- process_gemfile(gemfile) do |line|
96
- if line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
97
- found = true
98
- gem_entry(gemname, options) + "\n"
99
- else
100
- line
101
- end
102
- end
103
- unless found
104
- File.open(gemfile, "a") do |f|
105
- f.print("\n#{gem_entry(gemname, options)}\n")
106
- end
107
- end
108
- end
109
-
110
- def gem_entry(gemname, options)
111
- entry = %Q{gem "#{gemname}", "~> #{options[:version]}"}
112
- entry += ", :path => #{options[:path].inspect}" if options[:path]
113
- entry
114
- end
115
-
116
- def remove_gem(gemname)
117
- process_gemfile(gemfile) do |line|
118
- line unless line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
119
- end
120
- end
121
-
122
- def silently
123
- output = StringIO.new
124
- $stderr, old_stderr = output, $stderr
125
- $stdout, old_stdout = output, $stdout
126
- begin
127
- yield
128
- rescue ExecutionError => e
129
- raise
130
- rescue => e
131
- e.extend(SilentError)
132
- e.output = output.string
133
- raise
134
- end
135
- ensure
136
- $stderr = old_stderr
137
- $stdout = old_stdout
138
- end
139
-
140
- # executes a system command
141
- # raises an error if it does not complete successfully
142
- # returns the output as a string if it does complete successfully
143
- def runcmd(cmd, working_directory = Dir.pwd, clean_env = true, gemfile = "Gemfile", env = {})
144
- # There's a bug in bundler where with_clean_env doesn't clear out the BUNDLE_GEMFILE environment setting
145
- # https://github.com/carlhuda/bundler/issues/1133
146
- env["BUNDLE_GEMFILE"] = "#{working_directory}/#{gemfile}" if clean_env
147
- todo = Proc.new do
148
- r, w = IO.pipe
149
- Kernel.spawn(env, cmd, :out => w , :err => w, :chdir => working_directory)
150
- w.close
151
- Process.wait
152
- output = r.read
153
- r.close
154
- unless $?.exitstatus == 0
155
- raise ExecutionError, "Command failed with exit status #{$?.exitstatus}: #{cmd}", output
156
- end
157
- $last_ouput = output
158
- end
159
- if clean_env
160
- Bundler.with_clean_env(&todo)
161
- else
162
- todo.call
163
- end
164
- end
165
-
166
- end
data/test/test_helper.rb DELETED
@@ -1,25 +0,0 @@
1
- # Configure Rails Envinronment
2
- ENV["RAILS_ENV"] = "test"
3
-
4
- require 'bundler/setup'
5
- require 'rails'
6
- require 'rails/test_help'
7
- require 'sass/rails'
8
-
9
- Rails.backtrace_cleaner.remove_silencers!
10
-
11
- # If developing against local dependencies, this code will ensure they get picked up
12
- # in the project fixtures that have their own bundle environment
13
- $gem_options = {}
14
- possible_dev_dependencies = %w(sass-rails sass rails actionpack railties sprockets journey sprockets-rails activerecord-deprecated_finders)
15
- Bundler.load.specs.each do |s|
16
- if possible_dev_dependencies.include?(s.name)
17
- gem_path = s.full_gem_path
18
- gem_options = { version: s.version}
19
- gem_options[:path] = gem_path if File.exists?("#{gem_path}/#{s.name}.gemspec")
20
- $gem_options[s.name] = gem_options
21
- end
22
- end
23
-
24
- # Load support files
25
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }