react-router
Version:
A complete routing library for React.js
86 lines (70 loc) • 2.33 kB
JavaScript
var expect = require('expect');
var React = require('react/addons');
var ReactTestUtils = React.addons.TestUtils;
var ImitateBrowserBehavior = require('../../behaviors/ImitateBrowserBehavior');
var ScrollToTopBehavior = require('../../behaviors/ScrollToTopBehavior');
var ScrollContext = require('../ScrollContext');
describe('ScrollContext', function () {
var App = React.createClass({
mixins: [ ScrollContext ],
render: function () {
return React.DOM.div();
}
});
describe('when scrollBehavior="none"', function () {
var component;
beforeEach(function () {
component = ReactTestUtils.renderIntoDocument(
App({ scrollBehavior: 'none' })
);
});
afterEach(function () {
React.unmountComponentAtNode(component.getDOMNode());
});
it('has a null scroll behavior', function () {
expect(component.getScrollBehavior()).toBe(null);
});
});
describe('when using scrollBehavior="browser"', function () {
var component;
beforeEach(function () {
component = ReactTestUtils.renderIntoDocument(
App({ scrollBehavior: 'browser' })
);
});
afterEach(function () {
React.unmountComponentAtNode(component.getDOMNode());
});
it('uses ImitateBrowserBehavior', function () {
expect(component.getScrollBehavior()).toBe(ImitateBrowserBehavior);
});
});
describe('when using scrollBehavior="imitateBrowser"', function () {
var component;
beforeEach(function () {
component = ReactTestUtils.renderIntoDocument(
App({ scrollBehavior: 'imitateBrowser' })
);
});
afterEach(function () {
React.unmountComponentAtNode(component.getDOMNode());
});
it('uses ImitateBrowserBehavior', function () {
expect(component.getScrollBehavior()).toBe(ImitateBrowserBehavior);
});
});
describe('when scrollBehavior="scrollToTop"', function () {
var component;
beforeEach(function () {
component = ReactTestUtils.renderIntoDocument(
App({ scrollBehavior: 'scrollToTop' })
);
});
afterEach(function () {
React.unmountComponentAtNode(component.getDOMNode());
});
it('uses ScrollToTopBehavior', function () {
expect(component.getScrollBehavior()).toBe(ScrollToTopBehavior);
});
});
});