Skip to content

Commit

Permalink
test: organize and rename describe blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
remarkablemark committed Jun 22, 2019
1 parent b8e0e7d commit 8d4c004
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 33 deletions.
2 changes: 0 additions & 2 deletions test/cases.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
'use strict';

const invalid = [
// boolean
{
Expand Down
60 changes: 29 additions & 31 deletions test/index.js
Original file line number Diff line number Diff line change
@@ -1,57 +1,55 @@
'use strict';

const assert = require('assert');
const css = require('css');
const cases = require('./cases');
const parser = require('../');
const parse = require('../');

describe('parser', () => {
cases.default.forEach(({ style, expected }) => {
// error case
describe(`when style=\`${style}\``, () => {
if (expected === Error) {
it('throws error', () => {
assert.throws(() => parser(style), Error);
assert.throws(() => parse(style), Error);
});
return;
}

// normal case
it(`returns ${JSON.stringify(expected)}`, () => {
assert.deepEqual(parser(style), expected);
assert.deepEqual(parse(style), expected);
});
});
});
});

describe('when iterator is passed', () => {
it('returns null', () => {
const style = cases.styles[0];
const iterator = () => {};
assert.equal(parser(style, iterator), null);
});
describe('iterator', () => {
it('returns null', () => {
const style = 'color: #foo;';
const iterator = () => {};
assert.equal(parse(style, iterator), null);
});

it('passes the arguments: name, value, declaration', () => {
const style = 'color: #f00;';
parser(style, (name, value, declaration) => {
assert.equal(name, 'color');
assert.equal(value, '#f00');
assert.deepEqual(
declaration,
css.parse(`p{${style}}`).stylesheet.rules[0].declarations[0]
);
});
it('invokes callback with arguments=[name, value, declaration]', () => {
const style = 'color: #f00;';
parse(style, (name, value, declaration) => {
assert.equal(name, 'color');
assert.equal(value, '#f00');
assert.deepEqual(
declaration,
css.parse(`p{${style}}`).stylesheet.rules[0].declarations[0]
);
});
});

it('parses comment', () => {
const style = '/* color: #f00; */';
parser(style, (name, value, declaration) => {
assert.equal(name, undefined);
assert.equal(value, undefined);
assert.deepEqual(
declaration,
css.parse(`p{${style}}`).stylesheet.rules[0].declarations[0]
);
});
it('parses comment', () => {
const style = '/* color: #f00; */';
parse(style, (name, value, declaration) => {
assert.equal(name, undefined);
assert.equal(value, undefined);
assert.deepEqual(
declaration,
css.parse(`p{${style}}`).stylesheet.rules[0].declarations[0]
);
});
});
});

0 comments on commit 8d4c004

Please sign in to comment.