Skip to content

Commit 96660f2

Browse files
committed
Tests for knownRegions
1 parent 92b4acd commit 96660f2

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

test/knownRegions.js

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
var fullProject = require('./fixtures/full-project')
2+
fullProjectStr = JSON.stringify(fullProject),
3+
pbx = require('../lib/pbxProject'),
4+
project = new pbx('.');
5+
6+
function cleanHash() {
7+
return JSON.parse(fullProjectStr);
8+
}
9+
10+
exports.setUp = function (callback) {
11+
project.hash = cleanHash();
12+
callback();
13+
}
14+
15+
exports.addKnownRegion = {
16+
'should add new region to existing knownRegions': function (test) {
17+
var knownRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'];
18+
test.equal(knownRegions.indexOf('Spanish'), -1);
19+
20+
project.addKnownRegion('Spanish')
21+
knownRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'];
22+
test.notEqual(knownRegions.indexOf('Spanish'), -1);
23+
test.done();
24+
},
25+
26+
'should not add region if it already exists in knownRegions': function (test) {
27+
var numberOfRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'].length;
28+
29+
project.addKnownRegion('German');
30+
var newNumberOfRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'].length;
31+
test.equal(numberOfRegions, newNumberOfRegions);
32+
test.done();
33+
},
34+
35+
'should create knownRegions array if it does not exist': function (test) {
36+
delete project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'];
37+
test.ok(!project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions']);
38+
39+
project.addKnownRegion('German')
40+
test.ok(project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions']);
41+
test.done();
42+
},
43+
}
44+
45+
exports.removeKnownRegion = {
46+
'should remove named region from knownRegions': function (test) {
47+
var knownRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'];
48+
test.notEqual(knownRegions.indexOf('German'), -1);
49+
50+
project.removeKnownRegion('German');
51+
knownRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'];
52+
test.equal(knownRegions.indexOf('German'), -1);
53+
test.done();
54+
},
55+
56+
'should do nothing if named region does not exist in knownRegions': function (test) {
57+
let numberOfRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'].length;
58+
59+
project.removeKnownRegion('Korean');
60+
let newNumberOfRegions = project.pbxProjectSection()[project.getFirstProject()['uuid']]['knownRegions'].length;
61+
test.equal(numberOfRegions, newNumberOfRegions);
62+
test.done();
63+
},
64+
}
65+
66+
exports.hasKnownRegion = {
67+
'should return true if named region exists in knownRegions': function (test) {
68+
test.ok(project.hasKnownRegion('German'));
69+
test.done();
70+
},
71+
72+
'should return false if named region does not exist in knownRegions': function (test) {
73+
test.ok(!project.hasKnownRegion('Ducth'));
74+
test.done();
75+
},
76+
}

0 commit comments

Comments
 (0)