Skip to content

Commit 1a28f94

Browse files
committed
Fix failing specs
1 parent b42bd9a commit 1a28f94

File tree

3 files changed

+37
-44
lines changed

3 files changed

+37
-44
lines changed

modules/mixins/ActiveState.js

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,5 @@
11
var ActiveStore = require('../stores/ActiveStore');
22

3-
function routeIsActive(activeRoutes, routeName) {
4-
return activeRoutes.some(function (route) {
5-
return route.props.name === routeName;
6-
});
7-
}
8-
9-
function paramsAreActive(activeParams, params) {
10-
for (var property in params) {
11-
if (activeParams[property] !== String(params[property]))
12-
return false;
13-
}
14-
15-
return true;
16-
}
17-
18-
function queryIsActive(activeQuery, query) {
19-
for (var property in query) {
20-
if (activeQuery[property] !== String(query[property]))
21-
return false;
22-
}
23-
24-
return true;
25-
}
26-
273
/**
284
* A mixin for components that need to know about the routes, params,
295
* and query that are currently active. Components that use it get two
@@ -62,15 +38,7 @@ var ActiveState = {
6238
* Returns true if the route with the given name, URL parameters, and query
6339
* are all currently active.
6440
*/
65-
isActive: function (routeName, params, query) {
66-
var state = ActiveStore.getState();
67-
var isActive = routeIsActive(state.routes, routeName) && paramsAreActive(state.params, params);
68-
69-
if (query)
70-
return isActive && queryIsActive(state.query, query);
71-
72-
return isActive;
73-
}
41+
isActive: ActiveStore.isActive
7442

7543
},
7644

modules/stores/ActiveStore.js

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@ var _activeRoutes = [];
22
var _activeParams = {};
33
var _activeQuery = {};
44

5+
function routeIsActive(routeName) {
6+
return _activeRoutes.some(function (route) {
7+
return route.props.name === routeName;
8+
});
9+
}
10+
11+
function paramsAreActive(params) {
12+
for (var property in params) {
13+
if (_activeParams[property] !== String(params[property]))
14+
return false;
15+
}
16+
17+
return true;
18+
}
19+
20+
function queryIsActive(query) {
21+
for (var property in query) {
22+
if (_activeQuery[property] !== String(query[property]))
23+
return false;
24+
}
25+
26+
return true;
27+
}
28+
529
var EventEmitter = require('event-emitter');
630
var _events = EventEmitter();
731

@@ -45,15 +69,16 @@ var ActiveStore = {
4569
},
4670

4771
/**
48-
* Returns an object with the currently active `routes`, `params`,
49-
* and `query`.
72+
* Returns true if the route with the given name, URL parameters, and query
73+
* are all currently active.
5074
*/
51-
getState: function () {
52-
return {
53-
routes: _activeRoutes,
54-
params: _activeParams,
55-
query: _activeQuery
56-
};
75+
isActive: function (routeName, params, query) {
76+
var isActive = routeIsActive(routeName) && paramsAreActive(params);
77+
78+
if (query)
79+
return isActive && queryIsActive(query);
80+
81+
return isActive;
5782
}
5883

5984
};

specs/ActiveStore.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('when a Route is active', function () {
1717

1818
describe('and it has no params', function () {
1919
beforeEach(function () {
20-
ActiveStore.update({
20+
ActiveStore.updateState({
2121
activeRoutes: [ route ]
2222
});
2323
});
@@ -29,7 +29,7 @@ describe('when a Route is active', function () {
2929

3030
describe('and the right params are given', function () {
3131
beforeEach(function () {
32-
ActiveStore.update({
32+
ActiveStore.updateState({
3333
activeRoutes: [ route ],
3434
activeParams: { id: '123', show: 'true' },
3535
activeQuery: { search: 'abc' }
@@ -57,7 +57,7 @@ describe('when a Route is active', function () {
5757

5858
describe('and the wrong params are given', function () {
5959
beforeEach(function () {
60-
ActiveStore.update({
60+
ActiveStore.updateState({
6161
activeRoutes: [ route ],
6262
activeParams: { id: 123 }
6363
});

0 commit comments

Comments
 (0)