@enact/sandstone
Version:
Large-screen/TV support library for Enact, containing a variety of UI components.
114 lines (113 loc) • 4.08 kB
JavaScript
;
var _util = require("@enact/core/util");
var _DurationFmt = _interopRequireDefault(require("ilib/lib/DurationFmt"));
var _react = require("@testing-library/react");
var _util2 = require("../util");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var memoGetDurFmt = (0, _util.memoize)(function /* locale */
() {
return new _DurationFmt["default"]({
length: 'medium',
style: 'clock',
useNative: false
});
});
var getDurFmt = function getDurFmt(locale) {
if (typeof window === 'undefined') return null;
return memoGetDurFmt(locale);
};
describe('util', function () {
describe('countReactChildren', function () {
test('should return the number of children node', function () {
var expected = 2;
var actual;
var Parent = function Parent(_ref) {
var children = _ref.children;
actual = (0, _util2.countReactChildren)(children);
return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
children: children
});
};
(0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsxs)(Parent, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
children: "First item."
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
children: "Second item."
})]
}));
expect(actual).toEqual(expected);
});
});
describe('parseTime', function () {
test('should return time.hour for 3600 sec or more', function () {
var value = 4850;
var expected = Object.assign({}, {
hour: 1,
minute: 20,
second: 50
});
var actual = (0, _util2.parseTime)(value);
expect(actual).toEqual(expected);
});
test('should not return time.hour for less than 3600 sec', function () {
var value = 100;
var expected = Object.assign({}, {
minute: 1,
second: 40
});
var actual = (0, _util2.parseTime)(value);
expect(actual).toEqual(expected);
});
});
describe('secondsToPeriod', function () {
test('should return String formatted for use in a `datetime` field of a `<time>` tag', function () {
var value = 10;
var expected = "P10S";
var actual = (0, _util2.secondsToPeriod)(value);
expect(actual).toEqual(expected);
});
});
describe('secondsToTime', function () {
test('should return hour unit string when seconds is 3600 sec or more and includeHour is true', function () {
var seconds = 4850;
var expected = '1:20:50';
var actual = (0, _util2.secondsToTime)(seconds, getDurFmt('en'), {
includeHour: true
});
expect(actual).toEqual(expected);
});
test('should return hour unit string as 00 when seconds is less than 3600 sec and includeHour is true', function () {
var seconds = 100;
var expected = '00:01:40';
var actual = (0, _util2.secondsToTime)(seconds, getDurFmt('en'), {
includeHour: true
});
expect(actual).toEqual(expected);
});
test('should not return hour unit string when seconds is less than 3600 sec and includeHour is false', function () {
var seconds = 100;
var expected = '01:40';
var actual = (0, _util2.secondsToTime)(seconds, getDurFmt('en'), {
includeHour: false
});
expect(actual).toEqual(expected);
});
test('should return 00:00:00 when instance of a `ilib.DurationFmt` object is null and includeHour is true', function () {
var seconds = 100;
var expected = '00:00:00';
var actual = (0, _util2.secondsToTime)(seconds, null, {
includeHour: true
});
expect(actual).toEqual(expected);
});
test('should return 00:00 when instance of a `ilib.DurationFmt` object is null and includeHour is false', function () {
var seconds = 100;
var expected = '00:00';
var actual = (0, _util2.secondsToTime)(seconds, null, {
includeHour: false
});
expect(actual).toEqual(expected);
});
});
});