hawx / guard-sass

Guard::Sass automatically rebuilds sass files when modified (like sass --watch)
MIT License
88 stars 35 forks source link

Specs failing #62

Open AlexWayfer opened 6 years ago

AlexWayfer commented 6 years ago

How to run specs?

There is no Travis CI config file, or instructions in README…

$ bundle exec rake
/home/alex/.rbenv/versions/2.4.2/bin/ruby -I/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.0/lib:/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-support-3.7.0/lib /home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
F19:42:23 - INFO - Sass Success message
..F19:42:23 - ERROR - [Sass] Error message
..19:42:23 - WARN - ********************
> [#] DEPRECATION WARNING!
> [#] ********************            You have a string in your Guardfile watch patterns that seem to
> [#]             represent a Regexp.
> [#] 
> [#]             Guard matches String with == and Regexp with Regexp#match.
> [#] 
> [#]             You should either use plain String (without Regexp special
> [#]             characters) or real Regexp.
> [#] 
> [#] Deprecation backtrace: /home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/guard-2.14.1/lib/guard/ui.rb:107:in `deprecation'
> [#]    >/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/guard-2.14.1/lib/guard/watcher/pattern/deprecated_regexp.rb:35:in `show_deprecation'
> [#]    >/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/guard-2.14.1/lib/guard/watcher/pattern.rb:14:in `create'
> [#]    >/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/guard-2.14.1/lib/guard/watcher.rb:26:in `initialize'
> [#]    >/home/alex/Projects/ruby/guard-sass/spec/guard/sass/runner_spec.rb:7:in `new'
19:42:23 - INFO - "^(.*)\.s[ac]ss$" will be converted to /^(.*)\.s[ac]ss$/
["a.sass"]
FF19:42:23 - INFO - "^(.*)\.s[ac]ss$" will be converted to /^(.*)\.s[ac]ss$/
["a.sass"]
F19:42:23 - INFO - "^(.*)\.s[ac]ss$" will be converted to /^(.*)\.s[ac]ss$/
["a.sass"]
F19:42:23 - INFO - "^(.*)\.s[ac]ss$" will be converted to /^(.*)\.s[ac]ss$/
["a.sass"]
F19:42:23 - INFO - "^(.*)\.s[ac]ss$" will be converted to /^(.*)\.s[ac]ss$/
["a.sass"]
FFFFFFFFF19:42:23 - INFO - "(.*)\.s[ac]ss" will be converted to /(.*)\.s[ac]ss/
F19:42:23 - INFO - "(.*)\.s[ac]ss" will be converted to /(.*)\.s[ac]ss/
F19:42:23 - INFO - "(.*)\.s[ac]ss" will be converted to /(.*)\.s[ac]ss/
F19:42:23 - INFO - "(.*)\.s[ac]ss" will be converted to /(.*)\.s[ac]ss/
19:42:23 - INFO - "(.*)\.s[ac]ss" will be converted to /(.*)\.s[ac]ss/
F

Failures:

  1) Guard::Sass::Formatter#success if success is to be shown shows a success message
     Failure/Error: ::Guard::Notifier.notify(msg, ({:title => "Guard::Sass"}).merge(opts))

     TypeError:
       no implicit conversion of nil into String
     # ./lib/guard/sass/formatter.rb:43:in `notify'
     # ./lib/guard/sass/formatter.rb:25:in `success'
     # ./spec/guard/sass/formatter_spec.rb:14:in `block (4 levels) in <top (required)>'

  2) Guard::Sass::Formatter#error shows an error message
     Failure/Error: ::Guard::Notifier.notify(msg, ({:title => "Guard::Sass"}).merge(opts))

     TypeError:
       no implicit conversion of nil into String
     # ./lib/guard/sass/formatter.rb:43:in `notify'
     # ./lib/guard/sass/formatter.rb:35:in `error'
     # ./spec/guard/sass/formatter_spec.rb:35:in `block (3 levels) in <top (required)>'

  3) Guard::Sass::Runner#run returns a list of changed files
     Failure/Error: ::Sass::Engine.for_file(file, sass_options).render

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./lib/guard/sass/runner.rb:85:in `compile'
     # ./lib/guard/sass/runner.rb:54:in `block (2 levels) in compile_files'
     # ./lib/guard/sass/runner.rb:53:in `block in compile_files'
     # ./lib/guard/sass/runner.rb:50:in `each'
     # ./lib/guard/sass/runner.rb:50:in `compile_files'
     # ./lib/guard/sass/runner.rb:25:in `run'
     # ./spec/guard/sass/runner_spec.rb:21:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # NoMethodError:
     #   undefined method `binmode' for nil:NilClass
     #   ./lib/guard/sass/runner.rb:85:in `compile'

  4) Guard::Sass::Runner#run compiles the files
     Failure/Error: mock_engine = mock(::Sass::Engine)

     NoMethodError:
       undefined method `mock' for #<RSpec::ExampleGroups::GuardSassRunner::Run:0x0000558d1355d390>
     # ./spec/guard/sass/runner_spec.rb:62:in `block (3 levels) in <top (required)>'

  5) Guard::Sass::Runner#run if errors when compiling shows a warning message
     Failure/Error: ::Sass::Engine.for_file(file, sass_options).render

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./lib/guard/sass/runner.rb:85:in `compile'
     # ./lib/guard/sass/runner.rb:54:in `block (2 levels) in compile_files'
     # ./lib/guard/sass/runner.rb:53:in `block in compile_files'
     # ./lib/guard/sass/runner.rb:50:in `each'
     # ./lib/guard/sass/runner.rb:50:in `compile_files'
     # ./lib/guard/sass/runner.rb:25:in `run'
     # ./spec/guard/sass/runner_spec.rb:37:in `block (4 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # NoMethodError:
     #   undefined method `binmode' for nil:NilClass
     #   ./lib/guard/sass/runner.rb:85:in `compile'

  6) Guard::Sass::Runner#run if errors when compiling returns false
     Failure/Error: ::Sass::Engine.for_file(file, sass_options).render

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./lib/guard/sass/runner.rb:85:in `compile'
     # ./lib/guard/sass/runner.rb:54:in `block (2 levels) in compile_files'
     # ./lib/guard/sass/runner.rb:53:in `block in compile_files'
     # ./lib/guard/sass/runner.rb:50:in `each'
     # ./lib/guard/sass/runner.rb:50:in `compile_files'
     # ./lib/guard/sass/runner.rb:25:in `run'
     # ./spec/guard/sass/runner_spec.rb:41:in `block (4 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # NoMethodError:
     #   undefined method `binmode' for nil:NilClass
     #   ./lib/guard/sass/runner.rb:85:in `compile'

  7) Guard::Sass::Runner#run if no errors when compiling shows a success message
     Failure/Error: ::Sass::Engine.for_file(file, sass_options).render

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./lib/guard/sass/runner.rb:85:in `compile'
     # ./lib/guard/sass/runner.rb:54:in `block (2 levels) in compile_files'
     # ./lib/guard/sass/runner.rb:53:in `block in compile_files'
     # ./lib/guard/sass/runner.rb:50:in `each'
     # ./lib/guard/sass/runner.rb:50:in `compile_files'
     # ./lib/guard/sass/runner.rb:25:in `run'
     # ./spec/guard/sass/runner_spec.rb:51:in `block (4 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # NoMethodError:
     #   undefined method `binmode' for nil:NilClass
     #   ./lib/guard/sass/runner.rb:85:in `compile'

  8) Guard::Sass::Runner#run if no errors when compiling returns true
     Failure/Error: ::Sass::Engine.for_file(file, sass_options).render

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./lib/guard/sass/runner.rb:85:in `compile'
     # ./lib/guard/sass/runner.rb:54:in `block (2 levels) in compile_files'
     # ./lib/guard/sass/runner.rb:53:in `block in compile_files'
     # ./lib/guard/sass/runner.rb:50:in `each'
     # ./lib/guard/sass/runner.rb:50:in `compile_files'
     # ./lib/guard/sass/runner.rb:25:in `run'
     # ./spec/guard/sass/runner_spec.rb:55:in `block (4 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # NoMethodError:
     #   undefined method `binmode' for nil:NilClass
     #   ./lib/guard/sass/runner.rb:85:in `compile'

  9) Guard::Sass#initialize when no options given uses defaults
     Failure/Error: super(options)

     NoMethodError:
       undefined method `session' for nil:NilClass
     # ./lib/guard/sass.rb:79:in `initialize'
     # ./spec/guard/sass_spec.rb:5:in `new'
     # ./spec/guard/sass_spec.rb:5:in `block (2 levels) in <top (required)>'
     # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  10) Guard::Sass#initialize when options given merges them with defaults
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:35:in `new'
      # ./spec/guard/sass_spec.rb:35:in `block (4 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  11) Guard::Sass#initialize with an :input option creates a watcher
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:55:in `new'
      # ./spec/guard/sass_spec.rb:55:in `block (4 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  12) Guard::Sass#initialize with an :input option watches all *.s[ac]ss files
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:55:in `new'
      # ./spec/guard/sass_spec.rb:55:in `block (4 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  13) Guard::Sass#initialize with an :input option without an output option sets the output directory to the input directory
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:55:in `new'
      # ./spec/guard/sass_spec.rb:55:in `block (4 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  14) Guard::Sass#initialize with an :input option with an output option uses the output directory
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:72:in `new'
      # ./spec/guard/sass_spec.rb:72:in `block (5 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  15) Guard::Sass#start does not call #run_all
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:5:in `new'
      # ./spec/guard/sass_spec.rb:5:in `block (2 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  16) Guard::Sass#start :all_on_start option is true calls #run_all
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:89:in `new'
      # ./spec/guard/sass_spec.rb:89:in `block (4 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  17) Guard::Sass#run_all calls #run_on_changes with all watched files
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:99:in `new'
      # ./spec/guard/sass_spec.rb:99:in `block (3 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  18) Guard::Sass#run_on_changes starts the Runner
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:112:in `new'
      # ./spec/guard/sass_spec.rb:112:in `block (3 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  19) Guard::Sass#run_on_changes if paths given contain partials calls #run_all
      Failure/Error: super(options)

      NoMethodError:
        undefined method `session' for nil:NilClass
      # ./lib/guard/sass.rb:79:in `initialize'
      # ./spec/guard/sass_spec.rb:112:in `new'
      # ./spec/guard/sass_spec.rb:112:in `block (3 levels) in <top (required)>'
      # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

  20) Guard::Sass#run_on_changes if paths given contain partials and :smart_partials is given calls #resolve_partials_to_owners
      Got 0 failures and 2 other errors:

      20.1) Failure/Error: super(options)

            NoMethodError:
              undefined method `session' for nil:NilClass
            # ./lib/guard/sass.rb:79:in `initialize'
            # ./spec/guard/sass_spec.rb:112:in `new'
            # ./spec/guard/sass_spec.rb:112:in `block (3 levels) in <top (required)>'
            # ./spec/guard/sass_spec.rb:11:in `block (2 levels) in <top (required)>'

      20.2) Failure/Error: super(options)

            NoMethodError:
              undefined method `session' for nil:NilClass
            # ./lib/guard/sass.rb:79:in `initialize'
            # ./spec/guard/sass_spec.rb:112:in `new'
            # ./spec/guard/sass_spec.rb:112:in `block (3 levels) in <top (required)>'
            # ./spec/guard/sass_spec.rb:122:in `block (5 levels) in <top (required)>'

Deprecation Warnings:

Using `should_receive` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /home/alex/Projects/ruby/guard-sass/spec/guard/sass/formatter_spec.rb:13:in `block (4 levels) in <top (required)>'.

If you need more of the backtrace for any of these deprecations to
identify where to make the necessary changes, you can configure
`config.raise_errors_for_deprecations!`, and it will turn the
deprecation warnings into errors, giving you the full backtrace.

1 deprecation warning total

Finished in 0.01667 seconds (files took 0.21225 seconds to load)
24 examples, 20 failures

Failed examples:

rspec ./spec/guard/sass/formatter_spec.rb:12 # Guard::Sass::Formatter#success if success is to be shown shows a success message
rspec ./spec/guard/sass/formatter_spec.rb:33 # Guard::Sass::Formatter#error shows an error message
rspec ./spec/guard/sass/runner_spec.rb:20 # Guard::Sass::Runner#run returns a list of changed files
rspec ./spec/guard/sass/runner_spec.rb:59 # Guard::Sass::Runner#run compiles the files
rspec ./spec/guard/sass/runner_spec.rb:34 # Guard::Sass::Runner#run if errors when compiling shows a warning message
rspec ./spec/guard/sass/runner_spec.rb:40 # Guard::Sass::Runner#run if errors when compiling returns false
rspec ./spec/guard/sass/runner_spec.rb:49 # Guard::Sass::Runner#run if no errors when compiling shows a success message
rspec ./spec/guard/sass/runner_spec.rb:54 # Guard::Sass::Runner#run if no errors when compiling returns true
rspec ./spec/guard/sass_spec.rb:19 # Guard::Sass#initialize when no options given uses defaults
rspec ./spec/guard/sass_spec.rb:38 # Guard::Sass#initialize when options given merges them with defaults
rspec ./spec/guard/sass_spec.rb:57 # Guard::Sass#initialize with an :input option creates a watcher
rspec ./spec/guard/sass_spec.rb:61 # Guard::Sass#initialize with an :input option watches all *.s[ac]ss files
rspec ./spec/guard/sass_spec.rb:66 # Guard::Sass#initialize with an :input option without an output option sets the output directory to the input directory
rspec ./spec/guard/sass_spec.rb:74 # Guard::Sass#initialize with an :input option with an output option uses the output directory
rspec ./spec/guard/sass_spec.rb:83 # Guard::Sass#start does not call #run_all
rspec ./spec/guard/sass_spec.rb:91 # Guard::Sass#start :all_on_start option is true calls #run_all
rspec ./spec/guard/sass_spec.rb:105 # Guard::Sass#run_all calls #run_on_changes with all watched files
rspec ./spec/guard/sass_spec.rb:130 # Guard::Sass#run_on_changes starts the Runner
rspec ./spec/guard/sass_spec.rb:115 # Guard::Sass#run_on_changes if paths given contain partials calls #run_all
rspec ./spec/guard/sass_spec.rb:123 # Guard::Sass#run_on_changes if paths given contain partials and :smart_partials is given calls #resolve_partials_to_owners

/home/alex/.rbenv/versions/2.4.2/bin/ruby -I/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.0/lib:/home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-support-3.7.0/lib /home/alex/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
AlexWayfer commented 6 years ago

I've started to fix this.