Files
30-seconds-of-code/test/words.test.js
2018-10-19 20:18:00 +03:00

46 lines
1.2 KiB
JavaScript

const expect = require('expect');
const {words} = require('./_30s.js');
test('words is a Function', () => {
expect(words).toBeInstanceOf(Function);
});
test("words('I love javaScript!!') returns [I, love, javaScript]", () => {
expect(words('I love javaScript!!')).toEqual(['I', 'love', 'javaScript']);
});
test("words('python, javaScript & coffee') returns [python, javaScript, coffee]", () => {
expect(words('python, javaScript & coffee')).toEqual(['python', 'javaScript', 'coffee']);
});
test('words(I love javaScript!!) returns an array', () => {
expect(Array.isArray(words('I love javaScript!!'))).toBeTruthy();
});
test('words() throws an error', () => {
expect(() => {
words();
}).toThrow();
});
test('words(null) throws an error', () => {
expect(() => {
words(null);
}).toThrow();
});
test('words(undefined) throws an error', () => {
expect(() => {
words(undefined);
}).toThrow();
});
test('words({}) throws an error', () => {
expect(() => {
words({});
}).toThrow();
});
test('words([]) throws an error', () => {
expect(() => {
words([]);
}).toThrow();
});
test('words(1234) throws an error', () => {
expect(() => {
words(1234);
}).toThrow();
});