fuelux
Version:
Base Fuel UX styles and controls
42 lines (35 loc) • 1.67 kB
JavaScript
define( function utilitiesTestModule(require) {
var QUnit = require('qunit');
var $ = require('jquery');
require('fuelux/utilities');
QUnit.module( 'Fuel UX Utilities', function utilitiesTests() {
QUnit.test( 'should be defined on jquery object', function utilitiesObjectDefinedTest( assert ) {
assert.equal(typeof $().utilities, 'object', 'utilities object is defined' );
});
QUnit.module( 'cleanInput Method', {
beforeEach: function beforeEachUtilitiesCleanInputTests() {
this.utilities = $().utilities;
this.cleanInput = this.utilities.cleanInput;
}
}, function utilitiesCleanInputTests() {
QUnit.test( 'should be defined on utilities object', function cleanInputMethodDefinedTest( assert ) {
assert.equal(typeof this.utilities.cleanInput, 'function', 'cleanInput function is defined' );
});
QUnit.test( 'should encode strings', function cleanInputMethodEncodeTest( assert ) {
var dirtyString = '<script>';
var cleanString = '<script>';
assert.equal(this.cleanInput(dirtyString), cleanString, 'string should be encoded' );
});
QUnit.test( 'should not double encode strings', function cleanInputMethodEncodeTest( assert ) {
var variants = [
{dirtyString: '<>', cleanString: '<>'},
{dirtyString: '<script>', cleanString: '<script>'},
{dirtyString: '<<>>', cleanString: '<<>>'}
];
variants.forEach(function forEachDoubleEncodeVariant(variant, index) {
assert.equal(this.cleanInput(variant.dirtyString), variant.cleanString, 'variant ' + (index + 1) + ' string should be encoded' );
}, this);
});
});
});
});