scrimba
Note at 0:39
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Note at 0:39
AboutCommentsNotes
Note at 0:39
Expand for more info
main.js
run
preview
console
function validTime(str) {
let formatCheck = /\d{2}:\d{2}/;
let splitted = str.split(":");
let left = parseInt(splitted[0]);
let right = parseInt(splitted[1]);

// Check for HH:MM format
if (str.match(formatCheck) === null) {
alert("Please provide time in format 'HH:MM'");
}

// Verify time is valid
if ((left >= 00 && left <= 24) && (right >= 00 && right <= 59)) {
return true
} else {
return false
}
}



/**
* Test Suite
*/
describe('validTime()', () => {
it('returns true for valid time', () => {
// arrange
const str = '13:58';

// act
const result = validTime(str);

// log
console.log("result 1: ", result);

// assert
expect(result).toBe(true);
});

it('returns false when invalid hours', () => {
// arrange
const str = '25:51';

// act
const result = validTime(str);

// log
console.log("result 1: ", result);

// assert
expect(result).toBe(false);
});

it('returns false when invalid minutes', () => {
// arrange
const str = '02:76';

// act
const result = validTime(str);

// log
console.log("result 1: ", result);

// assert
expect(result).toBe(false);
});
});
Console
"result 1: "
,
true
,
"result 1: "
,
false
,
"result 1: "
,
false
,
/index.html
LIVE