require 'spec_helper'
require_dependency 'sass/discourse_sass_compiler'

describe DiscourseSassCompiler do

  let(:test_scss) { "body { p {color: blue;} }\n@import 'common/foundation/variables';\n@import 'plugins';" }

  describe '#compile' do
    it "compiles scss" do
      DiscoursePluginRegistry.stubs(:stylesheets).returns(["#{Rails.root}/spec/fixtures/scss/my_plugin.scss"])
      css = described_class.compile(test_scss, "test")
      expect(css).to include("color")
      expect(css).to include('my-plugin-thing')
    end

    it "raises error for invalid scss" do
      expect {
        described_class.compile("this isn't valid scss", "test")
      }.to raise_error(Sass::SyntaxError)
    end

    it "doesn't load theme or plugins in safe mode" do
      ColorScheme.expects(:enabled).never
      DiscoursePluginRegistry.stubs(:stylesheets).returns(["#{Rails.root}/spec/fixtures/scss/my_plugin.scss"])
      css = described_class.compile(test_scss, "test", safe: true)
      expect(css).not_to include('my-plugin-thing')
    end
  end

end