UNPKG

@enact/sandstone

Version:

Large-screen/TV support library for Enact, containing a variety of UI components.

114 lines (113 loc) 4.08 kB
"use strict"; 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); }); }); });