Skip to content

Commit

Permalink
fixed bug
Browse files Browse the repository at this point in the history
  • Loading branch information
zackify committed Sep 11, 2015
1 parent 7c137cb commit a9b6c24
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 39 deletions.
36 changes: 10 additions & 26 deletions lib/legit-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,36 +37,20 @@ var Test = (function () {
}, {
key: 'callMiddleware',
value: function callMiddleware() {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
for (var _iterator = this.middleware[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var middleware = _step.value;

middleware.call();
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
for (var i in this.middleware) {
this.middleware[i].call();
}
this.middleware = [];
}
}, {
key: 'end',
value: function end(callback) {
key: 'test',
value: function test(callback) {
this.callMiddleware();
callback.call(this, this.component, this.helpers);
callback.call({
component: this.component,
helpers: this.helpers
});
return this;
}
}]);

Expand Down
21 changes: 21 additions & 0 deletions lib/middleware.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'use strict';

Object.defineProperty(exports, '__esModule', {
value: true
});

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }

var _middlewareFind = require('./middleware/find');

var _middlewareFind2 = _interopRequireDefault(_middlewareFind);

var _middlewareSetState = require('./middleware/setState');

var _middlewareSetState2 = _interopRequireDefault(_middlewareSetState);

exports['default'] = {
Find: _middlewareFind2['default'],
SetState: _middlewareSetState2['default']
};
module.exports = exports['default'];
16 changes: 7 additions & 9 deletions lib/middleware/find.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@ var TestUtils = _react2['default'].addons.TestUtils;

function find(selector) {
var elements = undefined;
if (typeof selector === 'string') {
elements = TestUtils.scryRenderedDOMComponentsWithTag(this.component, selector);
this.helpers[selector] = elements;
} else {
if (selector['class']) {
elements = TestUtils.scryRenderedDOMComponentsWithClass(this.component, selector['class']);
this.helpers[selector['class']] = elements;
}
}
if (selector.match(/\./)) {
selector = selector.replace(/\./, '');
elements = TestUtils.scryRenderedDOMComponentsWithClass(this.component, selector);
} else elements = TestUtils.scryRenderedDOMComponentsWithTag(this.component, selector);

if (elements.length === 1) elements = elements[0];
this.helpers[selector] = elements;
}

module.exports = exports['default'];
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "legit-tests",
"version": "0.1.1",
"version": "0.1.2",
"description": "a chainable testing library for React",
"main": "lib/legit-tests.js",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion src/legit-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Test {
test(callback) {
this.callMiddleware()
callback.call({
middleware: this.middleware,
component: this.component,
helpers: this.helpers
})
return this
Expand Down
4 changes: 2 additions & 2 deletions tests/setState.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ describe('setState middleware', () => {
Test(<TestComponent/>)
.use(SetState, {test: 'test'})
.use(Find, 'div')
.test(function(component, helpers) {
.test(function() {
expect(this.helpers.div.props.children).to.be.equal('test')
})
.use(SetState, {test: 'changed!'})
.test(function() {
expect(this.helpers.div.props.children).to.be.equal('changed!')
expect(this.component.state.test).to.be.equal('changed!')
})
});

Expand Down

0 comments on commit a9b6c24

Please sign in to comment.