Skip to content

Commit b76dd64

Browse files
mightyalekseyAlexey Litvinov
authored andcommitted
simple css test cases
1 parent ded4430 commit b76dd64

File tree

12 files changed

+79
-7
lines changed

12 files changed

+79
-7
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,3 @@ node_modules/*
2828

2929
# added automatically by precommit-hook as defaults
3030
.jshint*
31-
32-
dist/
33-
!node_modules/awesome-theme

test/demo.css

Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"foo": "_test_tokens_cases_compose_node_module_source__foo _node_modules_awesome_theme_common__paragraph _node_modules_awesome_theme_oceanic__color"
3+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.foo
2+
{
3+
composes: paragraph from 'awesome-theme/common.css';
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.text
2+
{
3+
color: #333;
4+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"article": "_test_tokens_cases_multiple_dependencies_source__article _test_tokens_cases_multiple_dependencies_colors__text _test_tokens_cases_multiple_dependencies_fonts__medium _test_tokens_cases_multiple_dependencies_margins__mediumBottom _test_tokens_cases_multiple_dependencies_margins__mediumTop"
3+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.medium
2+
{
3+
font-family: helvetica;
4+
font-size: 13px;
5+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.mediumBottom
2+
{
3+
margin-bottom: 20px;
4+
}
5+
6+
.mediumTop
7+
{
8+
margin-top: 20px;
9+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.article
2+
{
3+
composes: text from './colors.css';
4+
composes: medium from './fonts.css';
5+
composes: mediumBottom mediumTop from './margins.css';
6+
}

test/tokens/index.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
const basename = require('path').basename;
2+
const readdirSync = require('fs').readdirSync;
3+
const readFileSync = require('fs').readFileSync;
4+
const resolve = require('path').resolve;
5+
6+
/**
7+
* @param {string} testCase
8+
*/
9+
function describeTest(testCase) {
10+
const source = readfile(testCase, 'source.css');
11+
if (source === null) {
12+
return;
13+
}
14+
15+
test(basename(testCase), () => {
16+
const expected = JSON.parse(readfile(testCase, 'expected.json'));
17+
assert.deepEqual(require(resolve(testCase, 'source.css')), expected);
18+
});
19+
}
20+
21+
/**
22+
* @param {string} dir
23+
* @return {string[]}
24+
*/
25+
function readdir(dir) {
26+
return readdirSync(resolve(__dirname, dir))
27+
.map(nesteddir => resolve(__dirname, dir, nesteddir));
28+
}
29+
30+
/**
31+
* @param {...string} file
32+
* @return {string|null}
33+
*/
34+
function readfile(file) {
35+
try {
36+
return readFileSync(resolve.apply(null, arguments), 'utf8');
37+
} catch(e) {
38+
return null;
39+
}
40+
}
41+
42+
suite('tokens', () => {
43+
setup(() => hook({}));
44+
readdir('./cases').forEach(describeTest);
45+
});

0 commit comments

Comments
 (0)