UNPKG

3.89 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 createGenerateClassName: function createGenerateClassName() {
25 return function (rule) {
26 return rule.key + '-id';
27 };
28 }
29};
30
31var isIE9 = _detectBrowser2['default'].name === 'ie' && _detectBrowser2['default'].version === '9.0.0';
32
33describe('jss-vendor-prefixer', function () {
34 var jss = void 0;
35
36 beforeEach(function () {
37 jss = (0, _jss.create)(settings).use((0, _index2['default'])());
38 });
39
40 describe('prefixed property', function () {
41 if (isIE9) {
42 return;
43 }
44
45 var sheet = void 0;
46
47 beforeEach(function () {
48 sheet = jss.createStyleSheet({
49 a: { animation: 'yyy' }
50 });
51 });
52
53 it('should generate correct CSS', function () {
54 var prefixedProp = _cssVendor2['default'].supportedProperty('animation');
55 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n ' + prefixedProp + ': yyy;\n}');
56 });
57 });
58
59 describe('@keyframes', function () {
60 var sheet = void 0;
61
62 beforeEach(function () {
63 sheet = jss.createStyleSheet({
64 '@keyframes a': {}
65 });
66 });
67
68 it('should generate correct CSS', function () {
69 var prefixedKeyframes = '@' + _cssVendor2['default'].prefix.css + 'keyframes';
70 (0, _expect2['default'])(sheet.toString()).to.be(prefixedKeyframes + ' a {\n}');
71 });
72 });
73
74 describe('unknown property', function () {
75 var sheet = void 0;
76
77 beforeEach(function () {
78 sheet = jss.createStyleSheet({
79 a: { xxx: 'block' }
80 });
81 });
82
83 it('should generate correct CSS', function () {
84 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n xxx: block;\n}');
85 });
86 });
87
88 describe('unknown value', function () {
89 var sheet = void 0;
90
91 beforeEach(function () {
92 sheet = jss.createStyleSheet({
93 a: { display: 'yyy' }
94 });
95 });
96
97 it('should generate correct CSS', function () {
98 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: yyy;\n}');
99 });
100 });
101
102 describe('unknown property and value', function () {
103 var sheet = void 0;
104
105 beforeEach(function () {
106 sheet = jss.createStyleSheet({
107 a: { xxx: 'yyy' }
108 });
109 });
110
111 it('should generate correct CSS', function () {
112 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n xxx: yyy;\n}');
113 });
114 });
115
116 describe('prefixed value', function () {
117 if (isIE9) {
118 return;
119 }
120
121 var sheet = void 0;
122
123 beforeEach(function () {
124 sheet = jss.createStyleSheet({
125 a: { display: 'flex' }
126 });
127 });
128
129 it('should generate correct CSS', function () {
130 var supportedValue = _cssVendor2['default'].supportedValue('display', 'flex');
131 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: ' + supportedValue + ';\n}');
132 });
133 });
134
135 describe('prefix function values', function () {
136 if (isIE9) {
137 return;
138 }
139
140 var sheet = void 0;
141
142 beforeEach(function () {
143 sheet = jss.createStyleSheet({
144 a: { display: function display() {
145 return 'flex';
146 } }
147 });
148 sheet.update();
149 });
150
151 it('should generate correct CSS', function () {
152 var supportedValue = _cssVendor2['default'].supportedValue('display', 'flex');
153 (0, _expect2['default'])(sheet.toString()).to.be('.a-id {\n display: ' + supportedValue + ';\n}');
154 });
155 });
156});
\No newline at end of file