UNPKG

3.85 kBJavaScriptView Raw
1'use strict';
2
3var _expect = require('expect.js');
4
5var _expect2 = _interopRequireDefault(_expect);
6
7var _jss = require('jss');
8
9var _cssVendor = require('css-vendor');
10
11var _cssVendor2 = _interopRequireDefault(_cssVendor);
12
13var _detectBrowser = require('detect-browser');
14
15var _detectBrowser2 = _interopRequireDefault(_detectBrowser);
16
17var _index = require('./index');
18
19var _index2 = _interopRequireDefault(_index);
20
21function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
22
23var settings = {
24 generateClassName: function generateClassName(rule) {
25 return rule.name + '-id';
26 }
27};
28
29var isIE9 = _detectBrowser2['default'].name === 'ie' && _detectBrowser2['default'].version === '9.0.0';
30
31describe('jss-vendor-prefixer', function () {
32 var jss = void 0;
33
34 beforeEach(function () {
35 jss = (0, _jss.create)(settings).use((0, _index2['default'])());
36 });
37
38 describe('prefixed property', function () {
39 if (isIE9) {
40 return;
41 }
42
43 var sheet = void 0;
44
45 beforeEach(function () {
46 sheet = jss.createStyleSheet({
47 a: { animation: 'yyy' }
48 });
49 });
50
51 it('should generate correct CSS', function () {
52 var prefixedProp = _cssVendor2['default'].supportedProperty('animation');
53 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n ' + prefixedProp + ': yyy;\n}');
54 });
55 });
56
57 describe('@keyframes', function () {
58 var sheet = void 0;
59
60 beforeEach(function () {
61 sheet = jss.createStyleSheet({
62 '@keyframes a': {}
63 });
64 });
65
66 it('should generate correct CSS', function () {
67 var prefixedKeyframes = '@' + _cssVendor2['default'].prefix.css + 'keyframes';
68 (0, _expect2['default'])(sheet.toString()).to.be(prefixedKeyframes + ' a {\n}');
69 });
70 });
71
72 describe('unknown property', function () {
73 var sheet = void 0;
74
75 beforeEach(function () {
76 sheet = jss.createStyleSheet({
77 a: { xxx: 'block' }
78 });
79 });
80
81 it('should generate correct CSS', function () {
82 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n xxx: block;\n}');
83 });
84 });
85
86 describe('unknown value', function () {
87 var sheet = void 0;
88
89 beforeEach(function () {
90 sheet = jss.createStyleSheet({
91 a: { display: 'yyy' }
92 });
93 });
94
95 it('should generate correct CSS', function () {
96 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: yyy;\n}');
97 });
98 });
99
100 describe('unknown property and value', function () {
101 var sheet = void 0;
102
103 beforeEach(function () {
104 sheet = jss.createStyleSheet({
105 a: { xxx: 'yyy' }
106 });
107 });
108
109 it('should generate correct CSS', function () {
110 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n xxx: yyy;\n}');
111 });
112 });
113
114 describe('prefixed value', function () {
115 if (isIE9) {
116 return;
117 }
118
119 var sheet = void 0;
120
121 beforeEach(function () {
122 sheet = jss.createStyleSheet({
123 a: { display: 'flex' }
124 });
125 });
126
127 it('should generate correct CSS', function () {
128 var supportedValue = _cssVendor2['default'].supportedValue('display', 'flex');
129 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: ' + supportedValue + ';\n}');
130 });
131 });
132
133 describe('prefix function values', function () {
134 if (isIE9) {
135 return;
136 }
137
138 var sheet = void 0;
139
140 beforeEach(function () {
141 sheet = jss.createStyleSheet({
142 a: { display: function display() {
143 return 'flex';
144 } }
145 });
146 sheet.update();
147 });
148
149 it('should generate correct CSS', function () {
150 var supportedValue = _cssVendor2['default'].supportedValue('display', 'flex');
151 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: ' + supportedValue + ';\n}');
152 });
153 });
154});
\No newline at end of file