Simon Egersand
2017-02-06 42cbbda208c97a6ba886b48e4861c809e9c835db
Clean up test files
1 files added
1 files modified
67 ■■■■ changed files
tests/datetime-spec.js 55 ●●●●● patch | view | raw | blame | history
tests/testDOM.js 12 ●●●●● patch | view | raw | blame | history
tests/datetime-spec.js
@@ -1,5 +1,9 @@
/*
 * Setup
 */
// Create the dom before requiring react
var DOM = require( './testdom');
var DOM = require('./testDOM');
DOM();
// Needs to be global to work in Travis CI
@@ -11,6 +15,10 @@
    moment = require('moment'),
    TestUtils = require('react-addons-test-utils')
;
/*
 * Utility Functions
 */
var createDatetime = function( props ) {
    document.body.innerHTML = '<div id="root"></div>';
@@ -93,6 +101,10 @@
    strDateUTC = mDateUTC.format('L') + ' ' + mDateUTC.format('LT'),
    currentYear = new Date().getFullYear()
;
/*
 * Tests
 */
describe( 'Datetime', function() {
    it( 'Create Datetime', function() {
@@ -355,16 +367,16 @@
    });
    it( 'Time pickers depends on the time format', function() {
        createDatetime({ viewMode: 'time', timeFormat: "HH:mm:ss:SSS"});
        createDatetime({ viewMode: 'time', timeFormat: 'HH:mm:ss:SSS'});
        assert.equal( document.querySelectorAll('.rdtCounter').length, 4 );
        createDatetime({ viewMode: 'time', timeFormat: "HH:mm:ss"});
        createDatetime({ viewMode: 'time', timeFormat: 'HH:mm:ss'});
        assert.equal( document.querySelectorAll('.rdtCounter').length, 3 );
        createDatetime({ viewMode: 'time', timeFormat: "HH:mm"});
        createDatetime({ viewMode: 'time', timeFormat: 'HH:mm'});
        assert.equal( document.querySelectorAll('.rdtCounter').length, 2 );
        createDatetime({ viewMode: 'time', timeFormat: "HH"});
        createDatetime({ viewMode: 'time', timeFormat: 'HH'});
        assert.equal( document.querySelectorAll('.rdtCounter').length, 1 );
    });
@@ -425,7 +437,7 @@
        ev.click( dt.month(1) );
        assert.equal( dt.view().className, 'rdtDays' );
        assert.equal( dt.switcher().getAttribute('data-value'), "1" );
        assert.equal( dt.switcher().getAttribute('data-value'), '1' );
    });
    it( 'increase year', function() {
@@ -475,7 +487,7 @@
        assert.equal( dt.isOpen(), true );
    });
    it( 'onSelect', function( done ) {
    it( 'onChange', function( done ) {
        createDatetime({ defaultValue: date, onChange: function( selected ) {
            assert.equal( selected.date(), 2 );
            assert.equal( selected.month(), mDate.month() );
@@ -486,7 +498,7 @@
        ev.click( dt.day( 2 ) );
    });
    it( 'multiple onSelect', function( done ) {
    it( 'multiple onChange', function( done ) {
        var i = 0;
        createDatetime({ defaultValue: date, onChange: function( selected ) {
            i++;
@@ -514,7 +526,11 @@
    });
    it( 'onBlur', function() {
        let onBlurCalled = false;
        createDatetime({ value: date, onBlur: function( selected ) {
            // TODO: This is never called
            onBlurCalled = true;
            assert.equal( true, false ); // Just to prove that this code is not being run
            assert.equal( dt.dt().className.indexOf( 'rdtOpen' ), -1 );
            assert.equal( selected.date(), mDate.date() );
            assert.equal( selected.month(), mDate.month() );
@@ -524,8 +540,9 @@
        assert.equal( dt.isOpen(), false );
        ev.focus( dt.input() );
        assert.equal(dt.isOpen(), true );
        assert.equal( dt.isOpen(), true );
        trigger( 'click', document.body );
        // assert.equal( onBlurCalled, true );
    });
    it( 'closeOnTab:true', function() {
@@ -534,9 +551,9 @@
        assert.equal( dt.isOpen(), false );
        ev.focus( dt.input() );
        assert.equal(dt.isOpen(), true );
        TestUtils.Simulate.keyDown(dt.input(), {key: "Tab", keyCode: 9, which: 9});
        TestUtils.Simulate.keyDown(dt.input(), {key: 'Tab', keyCode: 9, which: 9});
        assert.equal( dt.isOpen(), false );
        trigger( 'click', document.body );
        // trigger( 'click', document.body ); // Does nothing ??
    });
    it( 'closeOnTab:false', function() {
@@ -545,14 +562,14 @@
        assert.equal( dt.isOpen(), false );
        ev.focus( dt.input() );
        assert.equal(dt.isOpen(), true );
        TestUtils.Simulate.keyDown(dt.input(), {key: "Tab", keyCode: 9, which: 9});
        TestUtils.Simulate.keyDown(dt.input(), {key: 'Tab', keyCode: 9, which: 9});
        assert.equal(dt.isOpen(), true );
        trigger( 'click', document.body );
        // trigger( 'click', document.body ); // Does nothing ??
    });
    it( 'increase time', function( done ) {
        var i = 0;
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date, onChange: function( selected ) {
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date, onChange: function( selected ) {
            i++;
            if( i > 2 ) {
                assert.equal( selected.hour(), 3 );
@@ -575,7 +592,7 @@
    it( 'decrease time', function( done ) {
        var i = 0;
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date, onChange: function( selected ) {
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date, onChange: function( selected ) {
            i++;
            if( i > 2 ) {
                assert.equal( selected.hour(), 1 );
@@ -597,7 +614,7 @@
    });
    it( 'long increase time', function( done ) {
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date});
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date});
        trigger( 'mousedown', dt.timeUp( 0 ) );
        setTimeout( function() {
@@ -609,7 +626,7 @@
    });
    it( 'long decrease time', function( done ) {
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date});
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date});
        trigger( 'mousedown', dt.timeDown( 0 ) );
        setTimeout( function() {
@@ -622,7 +639,7 @@
    it( 'increase time with timeConstraints', function( done ) {
        var i = 0;
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date, onChange: function( selected ) {
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date, onChange: function( selected ) {
            i++;
            if( i > 2 ) {
                assert.equal( selected.minute(), 17 );
@@ -643,7 +660,7 @@
    });
    it( 'decrease time with timeConstraints', function( done ) {
        createDatetime({ timeFormat: "HH:mm:ss:SSS", viewMode: 'time', defaultValue: date, onChange: function( selected ) {
        createDatetime({ timeFormat: 'HH:mm:ss:SSS', viewMode: 'time', defaultValue: date, onChange: function( selected ) {
            assert.equal( selected.minute(), 47 );
            done();
        }, timeConstraints: { minutes: { step: 15 }}});
tests/testDOM.js
New file
@@ -0,0 +1,12 @@
module.exports = function( markup ) {
    if (typeof document !== 'undefined') return;
    var jsdom               = require('jsdom').jsdom;
    global.document         = jsdom(markup || '<!doctype html><html><body></body></html>');
    global.window             = document.defaultView;
    global.navigator        = global.window.navigator = {};
    navigator.userAgent     = 'NodeJs JsDom';
    navigator.appVersion    = '';
    return document;
};