sassc 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/ext/libsass/.editorconfig +1 -1
  4. data/ext/libsass/.gitignore +1 -0
  5. data/ext/libsass/LICENSE +1 -1
  6. data/ext/libsass/Makefile +20 -14
  7. data/ext/libsass/Makefile.conf +0 -1
  8. data/ext/libsass/Readme.md +3 -1
  9. data/ext/libsass/appveyor.yml +19 -11
  10. data/ext/libsass/docs/api-importer-example.md +2 -1235
  11. data/ext/libsass/docs/build-with-autotools.md +10 -0
  12. data/ext/libsass/docs/build-with-makefiles.md +18 -0
  13. data/ext/libsass/include/sass/base.h +4 -1
  14. data/ext/libsass/include/sass/values.h +2 -1
  15. data/ext/libsass/src/ast.cpp +279 -346
  16. data/ext/libsass/src/ast.hpp +234 -60
  17. data/ext/libsass/src/base64vlq.cpp +1 -0
  18. data/ext/libsass/src/bind.cpp +35 -45
  19. data/ext/libsass/src/bind.hpp +1 -0
  20. data/ext/libsass/src/color_maps.cpp +1 -0
  21. data/ext/libsass/src/constants.cpp +4 -1
  22. data/ext/libsass/src/constants.hpp +2 -1
  23. data/ext/libsass/src/context.cpp +41 -31
  24. data/ext/libsass/src/context.hpp +10 -10
  25. data/ext/libsass/src/cssize.cpp +7 -4
  26. data/ext/libsass/src/cssize.hpp +1 -3
  27. data/ext/libsass/src/debugger.hpp +73 -14
  28. data/ext/libsass/src/emitter.cpp +37 -25
  29. data/ext/libsass/src/emitter.hpp +10 -9
  30. data/ext/libsass/src/environment.cpp +16 -5
  31. data/ext/libsass/src/environment.hpp +5 -3
  32. data/ext/libsass/src/error_handling.cpp +91 -14
  33. data/ext/libsass/src/error_handling.hpp +105 -4
  34. data/ext/libsass/src/eval.cpp +519 -330
  35. data/ext/libsass/src/eval.hpp +12 -13
  36. data/ext/libsass/src/expand.cpp +92 -56
  37. data/ext/libsass/src/expand.hpp +5 -3
  38. data/ext/libsass/src/extend.cpp +60 -51
  39. data/ext/libsass/src/extend.hpp +1 -3
  40. data/ext/libsass/src/file.cpp +37 -27
  41. data/ext/libsass/src/functions.cpp +78 -62
  42. data/ext/libsass/src/functions.hpp +1 -0
  43. data/ext/libsass/src/inspect.cpp +293 -64
  44. data/ext/libsass/src/inspect.hpp +2 -0
  45. data/ext/libsass/src/lexer.cpp +1 -0
  46. data/ext/libsass/src/listize.cpp +14 -15
  47. data/ext/libsass/src/listize.hpp +3 -5
  48. data/ext/libsass/src/memory_manager.cpp +1 -0
  49. data/ext/libsass/src/node.cpp +2 -3
  50. data/ext/libsass/src/operation.hpp +70 -71
  51. data/ext/libsass/src/output.cpp +28 -32
  52. data/ext/libsass/src/output.hpp +1 -2
  53. data/ext/libsass/src/parser.cpp +402 -183
  54. data/ext/libsass/src/parser.hpp +19 -9
  55. data/ext/libsass/src/plugins.cpp +1 -0
  56. data/ext/libsass/src/position.cpp +1 -0
  57. data/ext/libsass/src/prelexer.cpp +134 -56
  58. data/ext/libsass/src/prelexer.hpp +51 -3
  59. data/ext/libsass/src/remove_placeholders.cpp +35 -9
  60. data/ext/libsass/src/remove_placeholders.hpp +4 -3
  61. data/ext/libsass/src/sass.cpp +1 -0
  62. data/ext/libsass/src/sass.hpp +129 -0
  63. data/ext/libsass/src/sass_context.cpp +31 -14
  64. data/ext/libsass/src/sass_context.hpp +2 -31
  65. data/ext/libsass/src/sass_functions.cpp +1 -0
  66. data/ext/libsass/src/sass_interface.cpp +5 -6
  67. data/ext/libsass/src/sass_util.cpp +1 -2
  68. data/ext/libsass/src/sass_util.hpp +5 -5
  69. data/ext/libsass/src/sass_values.cpp +13 -10
  70. data/ext/libsass/src/source_map.cpp +4 -3
  71. data/ext/libsass/src/source_map.hpp +2 -2
  72. data/ext/libsass/src/subset_map.hpp +0 -1
  73. data/ext/libsass/src/to_c.cpp +1 -0
  74. data/ext/libsass/src/to_c.hpp +1 -3
  75. data/ext/libsass/src/to_value.cpp +3 -5
  76. data/ext/libsass/src/to_value.hpp +1 -1
  77. data/ext/libsass/src/units.cpp +96 -59
  78. data/ext/libsass/src/units.hpp +10 -8
  79. data/ext/libsass/src/utf8_string.cpp +5 -0
  80. data/ext/libsass/src/util.cpp +23 -156
  81. data/ext/libsass/src/util.hpp +10 -14
  82. data/ext/libsass/src/values.cpp +1 -0
  83. data/ext/libsass/test/test_node.cpp +2 -6
  84. data/ext/libsass/test/test_selector_difference.cpp +1 -3
  85. data/ext/libsass/test/test_specificity.cpp +0 -2
  86. data/ext/libsass/test/test_superselector.cpp +0 -2
  87. data/ext/libsass/test/test_unification.cpp +1 -3
  88. data/ext/libsass/win/libsass.targets +18 -5
  89. data/ext/libsass/win/libsass.vcxproj +9 -7
  90. data/ext/libsass/win/libsass.vcxproj.filters +148 -106
  91. data/lib/sassc/version.rb +1 -1
  92. data/test/engine_test.rb +12 -0
  93. data/test/native_test.rb +1 -1
  94. metadata +3 -4
  95. data/ext/libsass/src/to_string.cpp +0 -48
  96. data/ext/libsass/src/to_string.hpp +0 -38
@@ -1,3 +1,3 @@
1
1
  module SassC
2
- VERSION = "1.8.3"
2
+ VERSION = "1.8.4"
3
3
  end
@@ -194,5 +194,17 @@ CSS
194
194
  output = Engine.new('').render
195
195
  assert_equal '', output
196
196
  end
197
+
198
+ def test_empty_template_returns_a_new_object
199
+ input = ''
200
+ output = Engine.new(input).render
201
+ assert input.object_id != output.object_id, 'empty template must return a new object'
202
+ end
203
+
204
+ def test_empty_template_encoding_matches_input
205
+ input = ''.force_encoding("ISO-8859-1")
206
+ output = Engine.new(input).render
207
+ assert_equal input.encoding, output.encoding
208
+ end
197
209
  end
198
210
  end
@@ -9,7 +9,7 @@ module SassC
9
9
 
10
10
  class General < MiniTest::Test
11
11
  def test_it_reports_the_libsass_version
12
- assert_equal "3.3.2", Native.version
12
+ assert_equal "3.3.3", Native.version
13
13
  end
14
14
  end
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sassc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Boland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-11 00:00:00.000000000 Z
11
+ date: 2016-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -279,6 +279,7 @@ files:
279
279
  - ext/libsass/src/remove_placeholders.cpp
280
280
  - ext/libsass/src/remove_placeholders.hpp
281
281
  - ext/libsass/src/sass.cpp
282
+ - ext/libsass/src/sass.hpp
282
283
  - ext/libsass/src/sass2scss.cpp
283
284
  - ext/libsass/src/sass_context.cpp
284
285
  - ext/libsass/src/sass_context.hpp
@@ -295,8 +296,6 @@ files:
295
296
  - ext/libsass/src/support/libsass.pc.in
296
297
  - ext/libsass/src/to_c.cpp
297
298
  - ext/libsass/src/to_c.hpp
298
- - ext/libsass/src/to_string.cpp
299
- - ext/libsass/src/to_string.hpp
300
299
  - ext/libsass/src/to_value.cpp
301
300
  - ext/libsass/src/to_value.hpp
302
301
  - ext/libsass/src/units.cpp
@@ -1,48 +0,0 @@
1
- #include <cmath>
2
- #include <sstream>
3
- #include <iomanip>
4
- #include <iostream>
5
-
6
- #include "ast.hpp"
7
- #include "inspect.hpp"
8
- #include "context.hpp"
9
- #include "to_string.hpp"
10
-
11
- namespace Sass {
12
-
13
- To_String::To_String(Context* ctx, bool in_declaration, bool in_debug)
14
- : ctx(ctx), in_declaration(in_declaration), in_debug(in_debug) { }
15
- To_String::~To_String() { }
16
-
17
- inline std::string To_String::fallback_impl(AST_Node* n)
18
- {
19
- Emitter emitter(ctx);
20
- Inspect i(emitter);
21
- i.in_declaration = in_declaration;
22
- i.in_debug = in_debug;
23
- if (n) n->perform(&i);
24
- return i.get_buffer();
25
- }
26
-
27
- inline std::string To_String::operator()(String_Schema* s)
28
- {
29
- std::string acc("");
30
- for (size_t i = 0, L = s->length(); i < L; ++i) {
31
- acc += s->elements()[i]->perform(this);
32
- }
33
- return acc;
34
- }
35
-
36
- inline std::string To_String::operator()(String_Quoted* s)
37
- {
38
- return s->value();
39
- }
40
-
41
- inline std::string To_String::operator()(String_Constant* s)
42
- {
43
- return s->value();
44
- }
45
-
46
- inline std::string To_String::operator()(Null* n)
47
- { return in_debug ? "null" : ""; }
48
- }
@@ -1,38 +0,0 @@
1
- #ifndef SASS_TO_STRING_H
2
- #define SASS_TO_STRING_H
3
-
4
- #include <string>
5
-
6
- #include "operation.hpp"
7
-
8
- namespace Sass {
9
-
10
- class Context;
11
- class Null;
12
-
13
- class To_String : public Operation_CRTP<std::string, To_String> {
14
- // import all the class-specific methods and override as desired
15
- using Operation<std::string>::operator();
16
- // override this to define a catch-all
17
- std::string fallback_impl(AST_Node* n);
18
-
19
- Context* ctx;
20
- bool in_declaration;
21
- bool in_debug;
22
-
23
- public:
24
-
25
- To_String(Context* ctx = 0, bool in_declaration = true, bool in_debug = false);
26
- virtual ~To_String();
27
-
28
- std::string operator()(Null* n);
29
- std::string operator()(String_Schema*);
30
- std::string operator()(String_Quoted*);
31
- std::string operator()(String_Constant*);
32
-
33
- template <typename U>
34
- std::string fallback(U n) { return fallback_impl(n); }
35
- };
36
- }
37
-
38
- #endif