sass-rails 4.0.3 → 5.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -16
- data/lib/rails/generators/sass/assets/assets_generator.rb +1 -1
- data/lib/rails/generators/sass/assets/templates/{stylesheet.css.sass → stylesheet.sass} +0 -0
- data/lib/rails/generators/sass_scaffold.rb +1 -2
- data/lib/rails/generators/scss/assets/assets_generator.rb +1 -1
- data/lib/rails/generators/scss/assets/templates/{stylesheet.css.scss → stylesheet.scss} +0 -0
- data/lib/sass/rails/cache_store.rb +31 -0
- data/lib/sass/rails/helpers.rb +4 -21
- data/lib/sass/rails/importer.rb +124 -81
- data/lib/sass/rails/logger.rb +1 -0
- data/lib/sass/rails/railtie.rb +34 -11
- data/lib/sass/rails/template.rb +67 -23
- data/lib/sass/rails/version.rb +1 -1
- metadata +69 -473
- data/.gitignore +0 -6
- data/.travis.yml +0 -22
- data/CHANGELOG.md +0 -48
- data/Gemfile +0 -8
- data/Rakefile +0 -29
- 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 }
|