/* eslint-disable no-undef-init */
|
/* eslint-disable no-undefined */
|
/* eslint-disable no-new-wrappers */
|
/* eslint-disable no-new-func */
|
/* eslint-disable no-new-object */
|
|
'use strict';
|
|
var type = require('../src/js/type');
|
var tui = {
|
util: type
|
};
|
|
describe('type', function() {
|
it('isExisty() 값이 존재하는지 확인', function() {
|
// null과 undefined이 아닐경우 값이 존재한다고 판단한다.
|
var o1 = null,
|
o2 = 3,
|
o3 = 0,
|
o4 = {},
|
o5 = false,
|
o6 = isNaN,
|
o7,
|
o8 = '';
|
|
expect(tui.util.isExisty(o1)).toBe(false);
|
expect(tui.util.isExisty(o2)).toBe(true);
|
expect(tui.util.isExisty(o3)).toBe(true);
|
expect(tui.util.isExisty(o4.test)).toBe(false);
|
expect(tui.util.isExisty(o5)).toBe(true);
|
expect(tui.util.isExisty(o6)).toBe(true);
|
expect(tui.util.isExisty(o7)).toBe(false);
|
expect(tui.util.isExisty(o8)).toBe(true);
|
});
|
|
it('isUndefined() 값이 undefined인지 확인', function() {
|
var o1 = 0,
|
o2 = false,
|
o3 = '',
|
o4 = null,
|
o5;
|
expect(tui.util.isUndefined(o1)).toBe(false);
|
expect(tui.util.isUndefined(o2)).toBe(false);
|
expect(tui.util.isUndefined(o3)).toBe(false);
|
expect(tui.util.isUndefined(o4)).toBe(false);
|
expect(tui.util.isUndefined(o5)).toBe(true);
|
});
|
|
it('isNull() 값이 null인지 확인', function() {
|
var o1 = 0,
|
o2 = false,
|
o3 = '',
|
o4 = null,
|
o5;
|
expect(tui.util.isNull(o1)).toBe(false);
|
expect(tui.util.isNull(o2)).toBe(false);
|
expect(tui.util.isNull(o3)).toBe(false);
|
expect(tui.util.isNull(o4)).toBe(true);
|
expect(tui.util.isNull(o5)).toBe(false);
|
});
|
|
it('isTruthy() undefined, null, false가 아닌 값인지 확인', function() {
|
var o1 = 0,
|
o2 = false,
|
o3 = '',
|
o4 = null,
|
o5;
|
|
expect(tui.util.isTruthy(o1)).toBe(true);
|
expect(tui.util.isTruthy(o2)).toBe(false);
|
expect(tui.util.isTruthy(o3)).toBe(true);
|
expect(tui.util.isTruthy(o4)).toBe(false);
|
expect(tui.util.isTruthy(o5)).toBe(false);
|
});
|
|
it('isFalsy() isTruthy에 해당하지 않는 값인지 확인', function() {
|
var o1 = 0,
|
o2 = false,
|
o3 = '',
|
o4 = null,
|
o5;
|
|
expect(tui.util.isFalsy(o1)).toBe(false);
|
expect(tui.util.isFalsy(o2)).toBe(true);
|
expect(tui.util.isFalsy(o3)).toBe(false);
|
expect(tui.util.isFalsy(o4)).toBe(true);
|
expect(tui.util.isFalsy(o5)).toBe(true);
|
});
|
|
it('isArguments()', function() {
|
var o1,
|
o2 = [];
|
|
(function() {
|
o1 = arguments;
|
})();
|
|
expect(tui.util.isArguments(o1)).toBe(true);
|
expect(tui.util.isArguments(o2)).toBe(false);
|
});
|
|
it('isArray()', function() {
|
var o1 = new Array(3),
|
o2 = [],
|
o3 = 'array',
|
o4 = 3,
|
o5 = function() {},
|
o6 = new Object(),
|
o7 = {};
|
|
expect(tui.util.isArray(o1)).toBe(true);
|
expect(tui.util.isArray(o2)).toBe(true);
|
expect(tui.util.isArray(o3)).toBe(false);
|
expect(tui.util.isArray(o4)).toBe(false);
|
expect(tui.util.isArray(o5)).toBe(false);
|
expect(tui.util.isArray(o6)).toBe(false);
|
expect(tui.util.isArray(o7)).toBe(false);
|
});
|
|
it('isObject()', function() {
|
var o1 = new Object(),
|
o2 = {},
|
o3 = {test: {}},
|
o4 = 'a',
|
O5 = function() {},
|
o6 = new O5(),
|
o7 = /xyz/g,
|
o8 = new Date(),
|
o9 = new Function('x', 'y', 'return x + y');
|
|
expect(tui.util.isObject(o1)).toBe(true);
|
expect(tui.util.isObject(o2)).toBe(true);
|
expect(tui.util.isObject(o3.test)).toBe(true);
|
expect(tui.util.isObject(o4)).toBe(false);
|
expect(tui.util.isObject(O5)).toBe(true);
|
expect(tui.util.isObject(o6)).toBe(true);
|
expect(tui.util.isObject(o7)).toBe(true);
|
expect(tui.util.isObject(o8)).toBe(true);
|
expect(tui.util.isObject(o9)).toBe(true);
|
});
|
|
it('isFunction()', function() {
|
var o1 = function() {},
|
o2 = {},
|
o3 = '',
|
o4 = [],
|
o5 = 1,
|
o6 = true,
|
o7 = /xyz/g,
|
o8 = new Function(),
|
o9 = function o9() {};
|
|
expect(tui.util.isFunction(o1)).toBe(true);
|
expect(tui.util.isFunction(o2)).toBe(false);
|
expect(tui.util.isFunction(o3)).toBe(false);
|
expect(tui.util.isFunction(o4)).toBe(false);
|
expect(tui.util.isFunction(o5)).toBe(false);
|
expect(tui.util.isFunction(o6)).toBe(false);
|
expect(tui.util.isFunction(o7)).toBe(false);
|
expect(tui.util.isFunction(o8)).toBe(true);
|
expect(tui.util.isFunction(o9)).toBe(true);
|
});
|
|
it('isNumber()', function() {
|
var o1 = 1,
|
o2 = new Number(2),
|
o3 = {test: 1},
|
o4 = [],
|
o5 = 'string',
|
o6 = true,
|
o7 = /xyz/g,
|
o8 = 4 + 5,
|
o9 = parseFloat('12.5'),
|
o10 = 0x15,
|
o11 = parseInt('00101', 2);
|
|
expect(tui.util.isNumber(o1)).toBe(true);
|
expect(tui.util.isNumber(o2)).toBe(true);
|
expect(tui.util.isNumber(o3.test)).toBe(true);
|
expect(tui.util.isNumber(o3)).toBe(false);
|
expect(tui.util.isNumber(o4)).toBe(false);
|
expect(tui.util.isNumber(o5)).toBe(false);
|
expect(tui.util.isNumber(o6)).toBe(false);
|
expect(tui.util.isNumber(o7)).toBe(false);
|
expect(tui.util.isNumber(o8)).toBe(true);
|
expect(tui.util.isNumber(o9)).toBe(true);
|
expect(tui.util.isNumber(o10)).toBe(true);
|
expect(tui.util.isNumber(o11)).toBe(true);
|
});
|
|
it('isString()', function() {
|
var o1 = {},
|
o2 = new String('a'),
|
o3 = 'string',
|
o4 = [],
|
o5 = '',
|
o6 = true,
|
o7 = /xyz/g;
|
|
expect(tui.util.isString(o1)).toBe(false);
|
expect(tui.util.isString(o2)).toBe(true);
|
expect(tui.util.isString(o3)).toBe(true);
|
expect(tui.util.isString(o4)).toBe(false);
|
expect(tui.util.isString(o5)).toBe(true);
|
expect(tui.util.isString(o6)).toBe(false);
|
expect(tui.util.isString(o7)).toBe(false);
|
});
|
|
it('isBoolean()', function() {
|
var o1 = {},
|
o2 = new Boolean('true'),
|
o3 = 1,
|
o4 = true,
|
o5 = false,
|
o6 = undefined,
|
o7 = null;
|
|
expect(tui.util.isBoolean(o1)).toBe(false);
|
expect(tui.util.isBoolean(o2)).toBe(true);
|
expect(tui.util.isBoolean(o3)).toBe(false);
|
expect(tui.util.isBoolean(o4)).toBe(true);
|
expect(tui.util.isBoolean(o5)).toBe(true);
|
expect(tui.util.isBoolean(o6)).toBe(false);
|
expect(tui.util.isBoolean(o7)).toBe(false);
|
});
|
|
it('isArraySafe()', function() {
|
var o1 = new Array(3),
|
o2 = [],
|
o3 = 'array',
|
o4 = 3,
|
o5 = function() {},
|
o6 = new Object(),
|
o7 = {};
|
|
expect(tui.util.isArraySafe(o1)).toBe(true);
|
expect(tui.util.isArraySafe(o2)).toBe(true);
|
expect(tui.util.isArraySafe(o3)).toBe(false);
|
expect(tui.util.isArraySafe(o4)).toBe(false);
|
expect(tui.util.isArraySafe(o5)).toBe(false);
|
expect(tui.util.isArraySafe(o6)).toBe(false);
|
expect(tui.util.isArraySafe(o7)).toBe(false);
|
});
|
|
it('isFunctionSafe()', function() {
|
var o1 = function() {},
|
o2 = {},
|
o3 = '',
|
o4 = [],
|
o5 = 1,
|
o6 = true,
|
o7 = /xyz/g,
|
o8 = new Function(),
|
o9 = function o9() {};
|
|
expect(tui.util.isFunctionSafe(o1)).toBe(true);
|
expect(tui.util.isFunctionSafe(o2)).toBe(false);
|
expect(tui.util.isFunctionSafe(o3)).toBe(false);
|
expect(tui.util.isFunctionSafe(o4)).toBe(false);
|
expect(tui.util.isFunctionSafe(o5)).toBe(false);
|
expect(tui.util.isFunctionSafe(o6)).toBe(false);
|
expect(tui.util.isFunctionSafe(o7)).toBe(false);
|
expect(tui.util.isFunctionSafe(o8)).toBe(true);
|
expect(tui.util.isFunctionSafe(o9)).toBe(true);
|
});
|
|
it('isNumberSafe()', function() {
|
var o1 = 1,
|
o2 = new Number(2),
|
o3 = {test: 1},
|
o4 = [],
|
o5 = 'string',
|
o6 = true,
|
o7 = /xyz/g,
|
o8 = 4 + 5,
|
o9 = parseFloat('12.5'),
|
o10 = 0x15,
|
o11 = parseInt('00101', 2);
|
|
expect(tui.util.isNumberSafe(o1)).toBe(true);
|
expect(tui.util.isNumberSafe(o2)).toBe(true);
|
expect(tui.util.isNumberSafe(o3.test)).toBe(true);
|
expect(tui.util.isNumberSafe(o3)).toBe(false);
|
expect(tui.util.isNumberSafe(o4)).toBe(false);
|
expect(tui.util.isNumberSafe(o5)).toBe(false);
|
expect(tui.util.isNumberSafe(o6)).toBe(false);
|
expect(tui.util.isNumberSafe(o7)).toBe(false);
|
expect(tui.util.isNumberSafe(o8)).toBe(true);
|
expect(tui.util.isNumberSafe(o9)).toBe(true);
|
expect(tui.util.isNumberSafe(o10)).toBe(true);
|
expect(tui.util.isNumberSafe(o11)).toBe(true);
|
});
|
|
it('isStringSafe()', function() {
|
var o1 = {},
|
o2 = new String('a'),
|
o3 = 'string',
|
o4 = [],
|
o5 = '',
|
o6 = true,
|
o7 = /xyz/g;
|
|
expect(tui.util.isStringSafe(o1)).toBe(false);
|
expect(tui.util.isStringSafe(o2)).toBe(true);
|
expect(tui.util.isStringSafe(o3)).toBe(true);
|
expect(tui.util.isStringSafe(o4)).toBe(false);
|
expect(tui.util.isStringSafe(o5)).toBe(true);
|
expect(tui.util.isStringSafe(o6)).toBe(false);
|
expect(tui.util.isStringSafe(o7)).toBe(false);
|
});
|
|
it('isBooleanSafe()', function() {
|
var o1 = {},
|
o2 = new Boolean('true'),
|
o3 = 1,
|
o4 = true,
|
o5 = false,
|
o6 = undefined,
|
o7 = null;
|
|
expect(tui.util.isBooleanSafe(o1)).toBe(false);
|
expect(tui.util.isBooleanSafe(o2)).toBe(true);
|
expect(tui.util.isBooleanSafe(o3)).toBe(false);
|
expect(tui.util.isBooleanSafe(o4)).toBe(true);
|
expect(tui.util.isBooleanSafe(o5)).toBe(true);
|
expect(tui.util.isBooleanSafe(o6)).toBe(false);
|
expect(tui.util.isBooleanSafe(o7)).toBe(false);
|
});
|
|
it('isHTMLNode() DOM인지 확인', function() {
|
var text = document.createTextNode('Hello World'),
|
el1 = document.createElement('H1'),
|
el2 = document.createElement('A'),
|
el3 = document.createElement('SPAN'),
|
el4 = document.createElement('P'),
|
el5 = document.createElement('PRE'),
|
el6 = document.createElement('DIV'),
|
el7 = document.createElement('INPUT'),
|
myObj = 3,
|
testObj = {};
|
|
expect(tui.util.isHTMLNode(el1)).toBe(true);
|
expect(tui.util.isHTMLNode(el2)).toBe(true);
|
expect(tui.util.isHTMLNode(el3)).toBe(true);
|
expect(tui.util.isHTMLNode(el4)).toBe(true);
|
expect(tui.util.isHTMLNode(el5)).toBe(true);
|
expect(tui.util.isHTMLNode(el6)).toBe(true);
|
expect(tui.util.isHTMLNode(el7)).toBe(true);
|
expect(tui.util.isHTMLNode(text)).toBe(true);
|
expect(tui.util.isHTMLNode(myObj)).toBe(false);
|
expect(tui.util.isHTMLNode(testObj)).toBe(false);
|
});
|
|
it('isHTMLTag() HTML element 인지 확인', function() {
|
var text = document.createTextNode('Hello World'),
|
el1 = document.createElement('H1'),
|
el2 = document.createElement('A'),
|
el3 = document.createElement('SPAN'),
|
el4 = document.createElement('P'),
|
el5 = document.createElement('PRE'),
|
el6 = document.createElement('DIV'),
|
el7 = document.createElement('INPUT'),
|
myObj = 3,
|
testObj = {};
|
|
expect(tui.util.isHTMLTag(el1)).toBe(true);
|
expect(tui.util.isHTMLTag(el2)).toBe(true);
|
expect(tui.util.isHTMLTag(el3)).toBe(true);
|
expect(tui.util.isHTMLTag(el4)).toBe(true);
|
expect(tui.util.isHTMLTag(el5)).toBe(true);
|
expect(tui.util.isHTMLTag(el6)).toBe(true);
|
expect(tui.util.isHTMLTag(el7)).toBe(true);
|
|
expect(tui.util.isHTMLTag(text)).toBe(false);
|
expect(tui.util.isHTMLTag(myObj)).toBe(false);
|
expect(tui.util.isHTMLTag(testObj)).toBe(false);
|
});
|
|
it('isEmpty()', function() {
|
var o1 = {},
|
o2 = {test: 1},
|
o3 = new Object(),
|
o4 = [],
|
o5 = new Array(),
|
o6 = [1, 3],
|
o7 = function() {},
|
o8,
|
o9 = undefined,
|
o10 = null,
|
o11;
|
|
(function() {
|
o8 = arguments;
|
})(2, 4);
|
|
(function() {
|
o11 = arguments;
|
})();
|
|
expect(tui.util.isEmpty(o1)).toBe(true);
|
expect(tui.util.isEmpty(o2)).toBe(false);
|
expect(tui.util.isEmpty(o3)).toBe(true);
|
expect(tui.util.isEmpty(o4)).toBe(true);
|
expect(tui.util.isEmpty(o5)).toBe(true);
|
expect(tui.util.isEmpty(o6)).toBe(false);
|
expect(tui.util.isEmpty(o7)).toBe(true);
|
expect(tui.util.isEmpty(o8)).toBe(false);
|
expect(tui.util.isEmpty(o9)).toBe(true);
|
expect(tui.util.isEmpty(o10)).toBe(true);
|
expect(tui.util.isEmpty(o11)).toBe(true);
|
});
|
});
|