Socket
Socket
Sign inDemoInstall

duration-iso-8601

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.2 to 1.0.3

2

package.json
{
"name": "duration-iso-8601",
"version": "1.0.2",
"version": "1.0.3",
"description": "Converting ISO 8601 Duration(PnYnMnDTnHnMnS syntax)",

@@ -5,0 +5,0 @@ "main": "index.js",

const durationISO8601 = require('./index');
test('convertDuration(String)', () => {
// part
// convertDuration(String)
test('part', () => {
expect(durationISO8601.convertDuration('P5Y')).toEqual({year:5, month:undefined, day:undefined, hour:undefined, minute:undefined, second:undefined});

@@ -13,8 +14,10 @@ expect(durationISO8601.convertDuration('P11M')).toEqual({year:undefined, month:11, day:undefined, hour:undefined, minute:undefined, second:undefined});

expect(durationISO8601.convertDuration('P1Y30DT15M39S')).toEqual({year:1, month:undefined, day:30, hour:undefined, minute:15, second:39});
});
// T
test('T', () => {
expect(durationISO8601.convertDuration('P23H')).toEqual(null);
expect(durationISO8601.convertDuration('P8S')).toEqual(null);
});
// , . negative
test(', . negative', () => {
expect(durationISO8601.convertDuration('P82.9Y')).toEqual({year:82.9, month:undefined, day:undefined, hour:undefined, minute:undefined, second:undefined});

@@ -24,8 +27,10 @@ expect(durationISO8601.convertDuration('P8,99Y')).toEqual({year:8.99, month:undefined, day:undefined, hour:undefined, minute:undefined, second:undefined});

expect(durationISO8601.convertDuration('PT-50S')).toEqual(null);
});
// not number
test('not number', () => {
expect(durationISO8601.convertDuration('P8sdwe!@Y')).toEqual(null);
expect(durationISO8601.convertDuration('PT^li98S')).toEqual(null);
});
// any input
test('any input', () => {
expect(durationISO8601.convertDuration('P87(*&(bfwefh')).toEqual(null);

@@ -37,32 +42,38 @@ expect(durationISO8601.convertDuration('P)(*)(HKJGH12*(')).toEqual(null);

test('convertYouTubeDuration(String)', () => {
// invalid syntax
expect(durationISO8601.convertYouTubeDuration('^(*&*( qh2we')).toBe(null);
expect(durationISO8601.convertYouTubeDuration('P8S')).toBe(null);
// convertYouTubeDuration(String)
// part
expect(durationISO8601.convertYouTubeDuration('P5Y')).toBe('43800:00:00');
expect(durationISO8601.convertYouTubeDuration('P11M')).toBe('7920:00:00');
expect(durationISO8601.convertYouTubeDuration('P238D')).toBe('5712:00:00');
expect(durationISO8601.convertYouTubeDuration('PT15H')).toBe('15:00:00');
expect(durationISO8601.convertYouTubeDuration('PT56M')).toBe('56:00');
expect(durationISO8601.convertYouTubeDuration('PT40S')).toBe('0:40');
test('invalid syntax', () => {
expect(durationISO8601.convertYouTubeDuration('^(*&*( qh2we')).toBe(null);
expect(durationISO8601.convertYouTubeDuration('P8S')).toBe(null);
});
// hh syntax
expect(durationISO8601.convertYouTubeDuration('PT3H')).toBe('3:00:00');
expect(durationISO8601.convertYouTubeDuration('PT28M59S')).toBe('28:59');
test('part', () => {
expect(durationISO8601.convertYouTubeDuration('P5Y')).toBe('43800:00:00');
expect(durationISO8601.convertYouTubeDuration('P11M')).toBe('7920:00:00');
expect(durationISO8601.convertYouTubeDuration('P238D')).toBe('5712:00:00');
expect(durationISO8601.convertYouTubeDuration('PT15H')).toBe('15:00:00');
expect(durationISO8601.convertYouTubeDuration('PT56M')).toBe('56:00');
expect(durationISO8601.convertYouTubeDuration('PT40S')).toBe('0:40');
});
// mm syntax
expect(durationISO8601.convertYouTubeDuration('PT1M')).toBe('1:00');
expect(durationISO8601.convertYouTubeDuration('PT36S')).toBe('0:36');
test('hh syntax', () => {
expect(durationISO8601.convertYouTubeDuration('PT3H')).toBe('3:00:00');
expect(durationISO8601.convertYouTubeDuration('PT28M59S')).toBe('28:59');
});
// ss syntax
expect(durationISO8601.convertYouTubeDuration('PT4S')).toBe('0:04');
expect(durationISO8601.convertYouTubeDuration('PT22M')).toBe('22:00');
test('mm syntax', () => {
expect(durationISO8601.convertYouTubeDuration('PT1M')).toBe('1:00');
expect(durationISO8601.convertYouTubeDuration('PT36S')).toBe('0:36');
});
// calculation
expect(durationISO8601.convertYouTubeDuration('PT2.237H')).toBe('2:14:13');
expect(durationISO8601.convertYouTubeDuration('PT135.242M')).toBe('2:15:15');
expect(durationISO8601.convertYouTubeDuration('PT8000.567S')).toBe('2:13:21');
expect(durationISO8601.convertYouTubeDuration('PT3.369H150.789M8101.4235S')).toBe('8:07:57');
test('ss syntax', () => {
expect(durationISO8601.convertYouTubeDuration('PT4S')).toBe('0:04');
expect(durationISO8601.convertYouTubeDuration('PT22M')).toBe('22:00');
});
test('calculation', () => {
expect(durationISO8601.convertYouTubeDuration('PT2.237H')).toBe('2:14:13');
expect(durationISO8601.convertYouTubeDuration('PT135.242M')).toBe('2:15:15');
expect(durationISO8601.convertYouTubeDuration('PT8000.567S')).toBe('2:13:21');
expect(durationISO8601.convertYouTubeDuration('PT3.369H150.789M8101.4235S')).toBe('8:07:57');
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc