Skip to content
This repository was archived by the owner on Feb 4, 2018. It is now read-only.

Commit ab3a64e

Browse files
committed
tests: use simplified API
1 parent f6a78db commit ab3a64e

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

test/normalize.test.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
const test = require('ava');
2+
3+
const BemEntityName = require('../index');
4+
5+
test('should normalize boolean modifier', t => {
6+
const entity = new BemEntityName({ block: 'block', mod: { name: 'mod' } });
7+
8+
t.true(entity.mod.val);
9+
});
10+
11+
test('should normalize short entry for boolean modifier', t => {
12+
const entity = new BemEntityName({ block: 'block', mod: 'mod' });
13+
14+
t.true(entity.mod.val);
15+
});
16+
17+
test('should support `modName` and `modVal` fields', t => {
18+
const entity = new BemEntityName({ block: 'block', modName: 'mod', modVal: 'val' });
19+
20+
t.deepEqual(entity.mod, { name: 'mod', val: 'val' });
21+
});
22+
23+
test('should support `modName` field only', t => {
24+
const entity = new BemEntityName({ block: 'block', modName: 'mod' });
25+
26+
t.deepEqual(entity.mod, { name: 'mod', val: true });
27+
});
28+
29+
test('should use `mod.name` field instead of `modName`', t => {
30+
const entity = new BemEntityName({ block: 'block', mod: { name: 'mod1' }, modName: 'mod2' });
31+
32+
t.is(entity.mod.name, 'mod1');
33+
});
34+
35+
test('should use `mod.val` field instead of `modVal`', t => {
36+
const entity = new BemEntityName({ block: 'block', mod: { name: 'mod', val: 'val1' }, modVal: 'val2' });
37+
38+
t.is(entity.mod.val, 'val1');
39+
});

test/to-string.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ test('should use `naming.stringify()` for elem', t => {
2626
});
2727

2828
test('should use `naming.stringify()` for block modifier', t => {
29-
const entity = new BemEntityName({ block: 'block', modName: 'mod', modVal: 'val' });
29+
const entity = new BemEntityName({ block: 'block', mod: { name: 'mod', val: 'val' } });
3030

3131
entity.toString();
3232

3333
t.truthy(spy.calledWith({ block: 'block', modName: 'mod', modVal: 'val' }));
3434
});
3535

3636
test('should use naming.stringify() for element modifier', t => {
37-
const entity = new BemEntityName({ block: 'block', elem: 'elem', modName: 'mod', modVal: 'val' });
37+
const entity = new BemEntityName({ block: 'block', elem: 'elem', mod: { name: 'mod', val: 'val' } });
3838

3939
entity.toString();
4040

test/type.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ test('should determine block', t => {
99
});
1010

1111
test('should determine modifier of block', t => {
12-
const entityName = new BemEntityName({ block: 'block', mod: 'mod' });
12+
const entityName = new BemEntityName({ block: 'block', mod: { name: 'mod' } });
1313

1414
t.is(entityName.type, 'blockMod');
1515
});
@@ -21,7 +21,7 @@ test('should determine elem', t => {
2121
});
2222

2323
test('should determine modifier of element', t => {
24-
const entityName = new BemEntityName({ block: 'block', elem: 'elem', mod: 'mod' });
24+
const entityName = new BemEntityName({ block: 'block', elem: 'elem', mod: { name: 'mod' } });
2525

2626
t.is(entityName.type, 'elemMod');
2727
});

0 commit comments

Comments
 (0)