Sha256: dfbc3beceb47cb6a5ed9e92731a6d5227c65b4e6bf538a8112b9afa2fba8ce07

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require 'test_helper'
require 'sass/engine'

module ScssTestHelper
  def assert_parses(scss)
    assert_equal scss.rstrip, render(scss).rstrip
  end

  def assert_not_parses(expected, scss)
    raise "Template must include <err> where an error is expected" unless scss.include?("<err>")

    after, was = scss.split("<err>")
    line = after.count("\n") + 1

    after.gsub!(/\s*\n\s*$/, '')
    after.gsub!(/.*\n/, '')
    after = "..." + after[-15..-1] if after.size > 18

    was.gsub!(/^\s*\n\s*/, '')
    was.gsub!(/\n.*/, '')
    was = was[0...15] + "..." if was.size > 18

    to_render = scss.sub("<err>", "")
    render(to_render)
    assert(false, "Expected syntax error for:\n#{to_render}\n")
  rescue Sass::SyntaxError => err
    assert_equal("Invalid CSS after \"#{after}\": expected #{expected}, was \"#{was}\"",
      err.message)
    assert_equal line, err.sass_line
  end

  def render(scss, options = {})
    options[:syntax] ||= :scss
    munge_filename options
    Sass::Engine.new(scss, options).render
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sass-3.2.0.alpha.244 test/sass/scss/test_helper.rb