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.
- checksums.yaml +5 -5
- data/MIT-LICENSE +1 -1
- data/README.md +27 -22
- data/lib/sass-rails.rb +1 -1
- data/lib/sass/rails.rb +1 -11
- data/lib/sass/rails/importer.rb +3 -102
- data/lib/sass/rails/logger.rb +3 -19
- data/lib/sass/rails/railtie.rb +1 -71
- data/lib/sass/rails/version.rb +1 -1
- metadata +10 -513
- data/.gitignore +0 -6
- data/.travis.yml +0 -22
- data/CHANGELOG.md +0 -48
- data/Gemfile +0 -8
- data/Rakefile +0 -29
- data/lib/rails/generators/sass/assets/assets_generator.rb +0 -13
- data/lib/rails/generators/sass/assets/templates/stylesheet.css.sass +0 -3
- data/lib/rails/generators/sass/scaffold/scaffold_generator.rb +0 -9
- data/lib/rails/generators/sass_scaffold.rb +0 -16
- data/lib/rails/generators/scss/assets/assets_generator.rb +0 -13
- data/lib/rails/generators/scss/assets/templates/stylesheet.css.scss +0 -3
- data/lib/rails/generators/scss/scaffold/scaffold_generator.rb +0 -10
- data/lib/sass/rails/helpers.rb +0 -30
- data/lib/sass/rails/template.rb +0 -28
- data/sass-rails.gemspec +0 -27
- data/sass-rails.gemspec.erb +0 -27
- data/test/fixtures/alternate_config_project/.gitignore +0 -5
- data/test/fixtures/alternate_config_project/Gemfile +0 -7
- data/test/fixtures/alternate_config_project/README +0 -261
- data/test/fixtures/alternate_config_project/Rakefile +0 -7
- data/test/fixtures/alternate_config_project/app/assets/images/1x1.png +0 -0
- data/test/fixtures/alternate_config_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/alternate_config_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss +0 -32
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css +0 -7
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -1
- data/test/fixtures/alternate_config_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/alternate_config_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/alternate_config_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/app/models/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/alternate_config_project/config.ru +0 -4
- data/test/fixtures/alternate_config_project/config/application.rb +0 -49
- data/test/fixtures/alternate_config_project/config/boot.rb +0 -6
- data/test/fixtures/alternate_config_project/config/database.yml +0 -25
- data/test/fixtures/alternate_config_project/config/environment.rb +0 -5
- data/test/fixtures/alternate_config_project/config/environments/development.rb +0 -27
- data/test/fixtures/alternate_config_project/config/environments/production.rb +0 -56
- data/test/fixtures/alternate_config_project/config/environments/test.rb +0 -38
- data/test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/alternate_config_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/alternate_config_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/alternate_config_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/alternate_config_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/alternate_config_project/config/locales/en.yml +0 -5
- data/test/fixtures/alternate_config_project/config/routes.rb +0 -58
- data/test/fixtures/alternate_config_project/db/seeds.rb +0 -7
- data/test/fixtures/alternate_config_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/alternate_config_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/log/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/public/404.html +0 -26
- data/test/fixtures/alternate_config_project/public/422.html +0 -26
- data/test/fixtures/alternate_config_project/public/500.html +0 -26
- data/test/fixtures/alternate_config_project/public/favicon.ico +0 -0
- data/test/fixtures/alternate_config_project/public/index.html +0 -241
- data/test/fixtures/alternate_config_project/public/robots.txt +0 -5
- data/test/fixtures/alternate_config_project/script/rails +0 -6
- data/test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/vendor/plugins/.gitkeep +0 -0
- data/test/fixtures/engine_project/.gitignore +0 -8
- data/test/fixtures/engine_project/Gemfile +0 -14
- data/test/fixtures/engine_project/MIT-LICENSE +0 -20
- data/test/fixtures/engine_project/README.rdoc +0 -3
- data/test/fixtures/engine_project/Rakefile +0 -34
- data/test/fixtures/engine_project/app/assets/images/engine_project/.keep +0 -0
- data/test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js +0 -16
- data/test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css +0 -13
- data/test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb +0 -4
- data/test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb +0 -4
- data/test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb +0 -14
- data/test/fixtures/engine_project/config/routes.rb +0 -2
- data/test/fixtures/engine_project/engine_project.gemspec +0 -23
- data/test/fixtures/engine_project/lib/engine_project.rb +0 -4
- data/test/fixtures/engine_project/lib/engine_project/engine.rb +0 -5
- data/test/fixtures/engine_project/lib/engine_project/version.rb +0 -3
- data/test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake +0 -4
- data/test/fixtures/engine_project/script/rails +0 -8
- data/test/fixtures/engine_project/test/dummy/README.rdoc +0 -28
- data/test/fixtures/engine_project/test/dummy/Rakefile +0 -6
- data/test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js +0 -16
- data/test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/engine_project/test/dummy/app/mailers/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/models/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/models/concerns/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/engine_project/test/dummy/bin/bundle +0 -3
- data/test/fixtures/engine_project/test/dummy/bin/rails +0 -4
- data/test/fixtures/engine_project/test/dummy/bin/rake +0 -4
- data/test/fixtures/engine_project/test/dummy/config.ru +0 -4
- data/test/fixtures/engine_project/test/dummy/config/application.rb +0 -23
- data/test/fixtures/engine_project/test/dummy/config/boot.rb +0 -9
- data/test/fixtures/engine_project/test/dummy/config/database.yml +0 -25
- data/test/fixtures/engine_project/test/dummy/config/environment.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/config/environments/development.rb +0 -27
- data/test/fixtures/engine_project/test/dummy/config/environments/production.rb +0 -80
- data/test/fixtures/engine_project/test/dummy/config/environments/test.rb +0 -36
- data/test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb +0 -12
- data/test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/fixtures/engine_project/test/dummy/config/locales/en.yml +0 -23
- data/test/fixtures/engine_project/test/dummy/config/routes.rb +0 -4
- data/test/fixtures/engine_project/test/dummy/lib/assets/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/log/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/public/404.html +0 -27
- data/test/fixtures/engine_project/test/dummy/public/422.html +0 -26
- data/test/fixtures/engine_project/test/dummy/public/500.html +0 -26
- data/test/fixtures/engine_project/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/sass_project/.gitignore +0 -5
- data/test/fixtures/sass_project/Gemfile +0 -7
- data/test/fixtures/sass_project/README +0 -261
- data/test/fixtures/sass_project/Rakefile +0 -7
- data/test/fixtures/sass_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/sass_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/sass_project/app/assets/stylesheets/application.css +0 -7
- data/test/fixtures/sass_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/sass_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/sass_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/sass_project/app/models/.gitkeep +0 -0
- data/test/fixtures/sass_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/sass_project/config.ru +0 -4
- data/test/fixtures/sass_project/config/application.rb +0 -52
- data/test/fixtures/sass_project/config/boot.rb +0 -6
- data/test/fixtures/sass_project/config/database.yml +0 -25
- data/test/fixtures/sass_project/config/environment.rb +0 -5
- data/test/fixtures/sass_project/config/environments/development.rb +0 -21
- data/test/fixtures/sass_project/config/environments/production.rb +0 -51
- data/test/fixtures/sass_project/config/environments/test.rb +0 -36
- data/test/fixtures/sass_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/sass_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/sass_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/sass_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/sass_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/sass_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/sass_project/config/locales/en.yml +0 -5
- data/test/fixtures/sass_project/config/routes.rb +0 -58
- data/test/fixtures/sass_project/db/seeds.rb +0 -7
- data/test/fixtures/sass_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/sass_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/sass_project/log/.gitkeep +0 -0
- data/test/fixtures/sass_project/public/404.html +0 -26
- data/test/fixtures/sass_project/public/422.html +0 -26
- data/test/fixtures/sass_project/public/500.html +0 -26
- data/test/fixtures/sass_project/public/favicon.ico +0 -0
- data/test/fixtures/sass_project/public/index.html +0 -241
- data/test/fixtures/sass_project/public/robots.txt +0 -5
- data/test/fixtures/sass_project/script/rails +0 -6
- data/test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/sass_project/vendor/plugins/.gitkeep +0 -0
- data/test/fixtures/scss_project/.gitignore +0 -5
- data/test/fixtures/scss_project/Gemfile +0 -7
- data/test/fixtures/scss_project/README +0 -261
- data/test/fixtures/scss_project/Rakefile +0 -7
- data/test/fixtures/scss_project/app/assets/images/1x1.png +0 -0
- data/test/fixtures/scss_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/scss_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/application.css.scss +0 -37
- data/test/fixtures/scss_project/app/assets/stylesheets/css_application.css +0 -7
- data/test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -2
- data/test/fixtures/scss_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/scss_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/scss_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/scss_project/app/models/.gitkeep +0 -0
- data/test/fixtures/scss_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/scss_project/config.ru +0 -4
- data/test/fixtures/scss_project/config/application.rb +0 -49
- data/test/fixtures/scss_project/config/boot.rb +0 -6
- data/test/fixtures/scss_project/config/database.yml +0 -25
- data/test/fixtures/scss_project/config/environment.rb +0 -5
- data/test/fixtures/scss_project/config/environments/development.rb +0 -23
- data/test/fixtures/scss_project/config/environments/production.rb +0 -53
- data/test/fixtures/scss_project/config/environments/test.rb +0 -38
- data/test/fixtures/scss_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/scss_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/scss_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/scss_project/config/initializers/postprocessor.rb +0 -3
- data/test/fixtures/scss_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/scss_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/scss_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/scss_project/config/locales/en.yml +0 -5
- data/test/fixtures/scss_project/config/routes.rb +0 -58
- data/test/fixtures/scss_project/db/seeds.rb +0 -7
- data/test/fixtures/scss_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/scss_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/scss_project/log/.gitkeep +0 -0
- data/test/fixtures/scss_project/public/404.html +0 -26
- data/test/fixtures/scss_project/public/422.html +0 -26
- data/test/fixtures/scss_project/public/500.html +0 -26
- data/test/fixtures/scss_project/public/favicon.ico +0 -0
- data/test/fixtures/scss_project/public/index.html +0 -241
- data/test/fixtures/scss_project/public/robots.txt +0 -5
- data/test/fixtures/scss_project/script/rails +0 -6
- data/test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/scss_project/vendor/plugins/.gitkeep +0 -0
- data/test/gemfiles/Gemfile-master +0 -8
- data/test/sass_rails_generators_test.rb +0 -62
- data/test/sass_rails_logger_test.rb +0 -24
- data/test/sass_rails_test.rb +0 -133
- data/test/support/sass_rails_test_case.rb +0 -166
- data/test/test_helper.rb +0 -25
@@ -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
|
File without changes
|
@@ -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
|
data/test/sass_rails_test.rb
DELETED
@@ -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 }
|