sass-embedded 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "test_helper"
4
+
5
+ module Sass
6
+ class OutputStyleTest < MiniTest::Test
7
+
8
+ def setup
9
+ @compiler = Embedded::Compiler.new
10
+ end
11
+
12
+ def teardown
13
+ end
14
+
15
+ def input_scss
16
+ input_scss = <<-CSS
17
+ $color: #fff;
18
+
19
+ #main {
20
+ color: $color;
21
+ background-color: #000;
22
+ p {
23
+ width: 10em;
24
+ }
25
+ }
26
+
27
+ .huge {
28
+ font-size: 10em;
29
+ font-weight: bold;
30
+ text-decoration: underline;
31
+ }
32
+ CSS
33
+ end
34
+
35
+ def expected_expanded_output
36
+ <<-CSS.chomp
37
+ #main {
38
+ color: #fff;
39
+ background-color: #000;
40
+ }
41
+ #main p {
42
+ width: 10em;
43
+ }
44
+
45
+ .huge {
46
+ font-size: 10em;
47
+ font-weight: bold;
48
+ text-decoration: underline;
49
+ }
50
+ CSS
51
+ end
52
+
53
+ def test_expanded_output_is_default
54
+ output = @compiler.render({ data: input_scss })[:css]
55
+ assert_equal expected_expanded_output, output
56
+ end
57
+
58
+ def test_output_style_accepts_strings
59
+ output = @compiler.render({ data: input_scss, output_style: :expanded })[:css]
60
+ assert_equal expected_expanded_output, output
61
+ end
62
+
63
+ def test_invalid_output_style
64
+ assert_raises(InvalidStyleError) {
65
+ @compiler.render({ data: input_scss, output_style: :totally_wrong })[:css]
66
+ }
67
+ end
68
+
69
+ def test_unsupported_output_style
70
+ assert_raises(UnsupportedValue) {
71
+ @compiler.render({ data: input_scss, output_style: :nested })[:css]
72
+ }
73
+
74
+ assert_raises(UnsupportedValue) {
75
+ @compiler.render({ data: input_scss, output_style: :compact })[:css]
76
+ }
77
+ end
78
+
79
+ def test_compressed_output
80
+ output = @compiler.render({ data: input_scss, output_style: :compressed })[:css]
81
+ assert_equal <<-CSS.chomp, output
82
+ #main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
83
+ CSS
84
+ end
85
+
86
+ def test_string_output_style_names
87
+ output = @compiler.render({ data: input_scss, output_style: 'compressed' })[:css]
88
+ assert_equal <<-CSS.chomp, output
89
+ #main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
90
+ CSS
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'fileutils'
4
+ require "minitest/autorun"
5
+ require "minitest/pride"
6
+ require "minitest/around/unit"
7
+
8
+ require_relative "../lib/sass"
9
+
10
+ module TempFileTest
11
+ def around
12
+ pwd = Dir.pwd
13
+ tmpdir = Dir.mktmpdir
14
+ Dir.chdir tmpdir
15
+ yield
16
+ Dir.chdir pwd
17
+ FileUtils.rm_rf(tmpdir)
18
+ end
19
+
20
+ def temp_file(filename, contents)
21
+ File.open(filename, "w",) do |file|
22
+ file.write(contents)
23
+ end
24
+ end
25
+
26
+ def temp_dir(directory)
27
+ Dir.mkdir(directory)
28
+ end
29
+ end
metadata ADDED
@@ -0,0 +1,158 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sass-embedded
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - なつき
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-05-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-protobuf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.17.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.17.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.14.4
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.14.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-around
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake-compiler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Use dart-sass with Ruby!
98
+ email:
99
+ - i@ntk.me
100
+ executables: []
101
+ extensions:
102
+ - ext/sass_embedded/extconf.rb
103
+ extra_rdoc_files: []
104
+ files:
105
+ - ".github/workflows/build.yml"
106
+ - ".gitignore"
107
+ - Gemfile
108
+ - LICENSE
109
+ - README.md
110
+ - Rakefile
111
+ - ext/sass_embedded/.gitignore
112
+ - ext/sass_embedded/Makefile
113
+ - ext/sass_embedded/embedded_sass_pb.rb
114
+ - ext/sass_embedded/extconf.rb
115
+ - lib/sass.rb
116
+ - lib/sass/embedded/compiler.rb
117
+ - lib/sass/embedded/transport.rb
118
+ - lib/sass/error.rb
119
+ - lib/sass/platform.rb
120
+ - lib/sass/util.rb
121
+ - lib/sass/version.rb
122
+ - sass-embedded.gemspec
123
+ - test/compiler_test.rb
124
+ - test/custom_importer_test.rb
125
+ - test/error_test.rb
126
+ - test/functions_test.rb
127
+ - test/output_style_test.rb
128
+ - test/test_helper.rb
129
+ homepage: https://github.com/ntkme/embedded-host-ruby
130
+ licenses:
131
+ - MIT
132
+ metadata: {}
133
+ post_install_message:
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: 2.0.0
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ requirements: []
148
+ rubygems_version: 3.2.15
149
+ signing_key:
150
+ specification_version: 4
151
+ summary: Use dart-sass with Ruby!
152
+ test_files:
153
+ - test/compiler_test.rb
154
+ - test/custom_importer_test.rb
155
+ - test/error_test.rb
156
+ - test/functions_test.rb
157
+ - test/output_style_test.rb
158
+ - test/test_helper.rb