From 8e2833fd995bfa120713d798ee3df02776de8b8a Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 12 Oct 2016 23:02:07 +0500 Subject: [PATCH 01/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D0=B5=D1=80=D0=B2=D1=8B=D0=B9=20=D0=B2?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 92 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 10 deletions(-) diff --git a/roman-time.js b/roman-time.js index f66353e..d39b377 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,12 +1,84 @@ -'use strict'; - -/** - * @param {String} time – время в формате HH:MM (например, 09:05) - * @returns {String} – время римскими цифрами (IX:V) - */ -function romanTime(time) { - // Немного авторского кода и замечательной магии - return time; +function basedigit(x) { + var y + switch (x) { + case 1: y="I" + break + case 5: y="V" + break + case 10: y="X" + break + case 50: y="L" + break + default: + y="I dont know" + } + return (y) } -module.exports = romanTime; + + function isInteger(s) { + return (s.toString().search(/^-?[0-9]+$/) == 0); + } + + +function convert(x) +{ + var tmp="" + var base=0 + + if (((x<0)||(x>59))||(!isInteger(x))) + return ("err") + else + while (x>0) + { + if ((x >= 1)&&(x<=9)) + base=1 + else + if ((x >= 10)&&(x<=99)) + base=10 + else + return ('err') + + if (x>=5*base) + { + tmp=tmp+basedigit(5*base) + x=x-5*base + } + else + if (x>=4*base) + { + tmp=tmp+basedigit(base)+basedigit(5*base) + x=x-4*base + } + while (x>=base) + { + tmp=tmp+basedigit(base) + x=x-base + } + } + return (tmp) +} + +function roman_time() { + var x = document.getElementById('dsource').value; + var ex = x.split(':'); + var a1 = convert(ex[0]); + var a2 = convert(ex[1]); + var z1 = new Array(); + var z2 = new Array(); + z1 = a1.split('&'); + z2 = a2.split('&'); + + if ((a1 == 'err') || (a2 == 'err')) + document.getElementById('test').innerHTML = 'Type error'; + else + if (ex[1] == 0) + document.getElementById('test').innerHTML = '' + z1[0] + ':' + 'N' + 'N'; + else + if ((z1.length == 1) && (z2.length == 1)) + document.getElementById('test').innerHTML = z1[0] + ':' + z2[0]; + else + document.getElementById('test').innerHTML = '' + z1[0] + z1[1] + ':' + z2[0] + z2[1]; +} + + From 55fc42975461a58899775a14c08f0e498d85d279 Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 12 Oct 2016 23:40:35 +0500 Subject: [PATCH 02/13] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index d39b377..78b295e 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,3 +1,7 @@ +'use strict'; + function romanTime(time) { + + return time;} function basedigit(x) { var y switch (x) { @@ -15,7 +19,7 @@ function basedigit(x) { return (y) } - +module.exports = romanTime; function isInteger(s) { return (s.toString().search(/^-?[0-9]+$/) == 0); } @@ -74,6 +78,12 @@ function roman_time() { else if (ex[1] == 0) document.getElementById('test').innerHTML = '' + z1[0] + ':' + 'N' + 'N'; + else + if (ex[0] == 0) + document.getElementById('test').innerHTML = '' + 'N' + 'N'+ ':' + z2[0]; + else + if ((ex[1] == 0) && (ex[0] == 0)) + document.getElementById('test').innerHTML = '' + 'N' + 'N' + ':' + 'N' + 'N'; else if ((z1.length == 1) && (z2.length == 1)) document.getElementById('test').innerHTML = z1[0] + ':' + z2[0]; From c3343f87983722cfe9713877af703b5d0567d445 Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 17:35:59 +0500 Subject: [PATCH 03/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D1=80=D0=B5=D1=82=D0=B8=D0=B9=20=D0=B2?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 161 +++++++++++++++++++++++++------------------------- 1 file changed, 80 insertions(+), 81 deletions(-) diff --git a/roman-time.js b/roman-time.js index 78b295e..18372df 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,94 +1,93 @@ 'use strict'; - function romanTime(time) { +var numbers = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; +var romnambers = ['N', 'X', 'XX', 'XXX', 'XL', 'L']; +var hours; +var minutes; - return time;} -function basedigit(x) { - var y - switch (x) { - case 1: y="I" - break - case 5: y="V" - break - case 10: y="X" - break - case 50: y="L" - break - default: - y="I dont know" - } - return (y) -} +/** + * @param {String} time – время в формате HH:MM (например, 09:05) + * @returns {String} – время римскими цифрами (IX:V) + */ +function roman(time) { + var timeSplit = time.split(':'); + var a = timeSplit[0].split(''); + a[0] = parseInt(a[0], 10); + a[1] = parseInt(a[1], 10); + if (a[0] === 0 && a[1] === 0) { + hours = number[0]; + } + if (a[0] === 0 && a[1] !== 0) { + hours = number[a[1]]; + } + if (a[0] !== 0 && a[1] !== 0) { + hours = romnambers[(a[0])] + number[a[1]]; + } + if (a[0] !== 0 && a[1] === 0) { + hours = romnambers[a[0]]; + } -module.exports = romanTime; - function isInteger(s) { - return (s.toString().search(/^-?[0-9]+$/) == 0); + return hours; } +function roman1(time) { + var timeSplit = time.split(':'); + var b = timeSplit[1].split(''); - -function convert(x) -{ - var tmp="" - var base=0 - - if (((x<0)||(x>59))||(!isInteger(x))) - return ("err") - else - while (x>0) - { - if ((x >= 1)&&(x<=9)) - base=1 - else - if ((x >= 10)&&(x<=99)) - base=10 - else - return ('err') - - if (x>=5*base) - { - tmp=tmp+basedigit(5*base) - x=x-5*base + b[0] = parseInt(b[0], 10); + b[1] = parseInt(b[1], 10); + if (b[0] === 0 && b[1] === 0) { + minutes = number[0]; } - else - if (x>=4*base) - { - tmp=tmp+basedigit(base)+basedigit(5*base) - x=x-4*base + if (b[0] === 0 && b[1] !== 0) { + minutes = number[b[1]]; } - while (x>=base) - { - tmp=tmp+basedigit(base) - x=x-base + if (b[0] !== 0 && b[1] !== 0) { + minutes = romnambers[(b[0])] + number[b[1]]; + } + if (b[0] !== 0 && b[1] === 0) { + minutes = romnambers[b[0]]; } - } - return (tmp) -} -function roman_time() { - var x = document.getElementById('dsource').value; - var ex = x.split(':'); - var a1 = convert(ex[0]); - var a2 = convert(ex[1]); - var z1 = new Array(); - var z2 = new Array(); - z1 = a1.split('&'); - z2 = a2.split('&'); + return minutes; + } +function romanTime1(time) { + var timeSplit = time.split(':'); + var a = timeSplit[0].split(''); + a[0] = parseInt(a[0], 10); + a[1] = parseInt(a[1], 10); + if (isNaN(a[0]) || isNaN(a[1])) { + throw new TypeError(); + } + if (timeSplit[0] > 23 || timeSplit[0] < 0 || isNaN(timeSplit[0])) { + throw new TypeError(); + } - if ((a1 == 'err') || (a2 == 'err')) - document.getElementById('test').innerHTML = 'Type error'; - else - if (ex[1] == 0) - document.getElementById('test').innerHTML = '' + z1[0] + ':' + 'N' + 'N'; - else - if (ex[0] == 0) - document.getElementById('test').innerHTML = '' + 'N' + 'N'+ ':' + z2[0]; - else - if ((ex[1] == 0) && (ex[0] == 0)) - document.getElementById('test').innerHTML = '' + 'N' + 'N' + ':' + 'N' + 'N'; - else - if ((z1.length == 1) && (z2.length == 1)) - document.getElementById('test').innerHTML = z1[0] + ':' + z2[0]; - else - document.getElementById('test').innerHTML = '' + z1[0] + z1[1] + ':' + z2[0] + z2[1]; + return (1); } +function romanTime2(time) { + var timeSplit = time.split(':'); + var b = timeSplit[1].split(''); + b[0] = parseInt(b[0], 10); + b[1] = parseInt(b[1], 10); + if (isNaN(b[0]) || isNaN(b[1])) { + throw new TypeError(); + } + if (timeSplit[0].length !== 2 || timeSplit[1].length !== 2) { + throw new TypeError(); + } + return (1); + } +function romanTime(time) { + // Немного авторского кода и замечательной магии + return time; + var timeSplit = time.split(':'); + romanTime1(time); + romanTime2(time); + if (timeSplit[1] > 59 || timeSplit[1] < 0 || isNaN(timeSplit[1])) { + throw new TypeError(); + } + return (roman(time) + ':' + roman1(time)); +} + +module.exports = romanTime; From 508c9b7592a515bd73a720245afa7040ce70a35a Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 17:40:50 +0500 Subject: [PATCH 04/13] Update roman-time.js --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 18372df..f182407 100644 --- a/roman-time.js +++ b/roman-time.js @@ -78,7 +78,7 @@ function romanTime2(time) { return (1); } function romanTime(time) { - // Немного авторского кода и замечательной магии + return time; var timeSplit = time.split(':'); romanTime1(time); From 2eeea857d3a4aebca400ab132f294bf9954f7245 Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 17:42:20 +0500 Subject: [PATCH 05/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D1=8F=D1=82=D1=8B=D0=B9=20=D0=B8=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=B2=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B0=D0=BD=D1=82=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 1 - 1 file changed, 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index f182407..03a656a 100644 --- a/roman-time.js +++ b/roman-time.js @@ -25,7 +25,6 @@ function roman(time) { if (a[0] !== 0 && a[1] === 0) { hours = romnambers[a[0]]; } - return hours; } function roman1(time) { From 332bb86dc302b1438605b637ef59ad565166bbbf Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:31:22 +0500 Subject: [PATCH 06/13] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 145 +++++++++++++++++++++++--------------------------- 1 file changed, 66 insertions(+), 79 deletions(-) diff --git a/roman-time.js b/roman-time.js index 03a656a..82b1836 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,92 +1,79 @@ 'use strict'; -var numbers = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; -var romnambers = ['N', 'X', 'XX', 'XXX', 'XL', 'L']; -var hours; -var minutes; /** - * @param {String} time – время в формате HH:MM (например, 09:05) - * @returns {String} – время римскими цифрами (IX:V) - */ -function roman(time) { - var timeSplit = time.split(':'); - var a = timeSplit[0].split(''); - a[0] = parseInt(a[0], 10); - a[1] = parseInt(a[1], 10); - if (a[0] === 0 && a[1] === 0) { - hours = number[0]; - } - if (a[0] === 0 && a[1] !== 0) { - hours = number[a[1]]; + * @param {Number} data – получает на вход число - часы или минуты (например, 3) + * @returns {String} – римскую версию числа (III) + */ + function returnRomanTime(data) { + var HNumbers = { + 0: '', + 1: 'X', + 2: 'XX', + 3: 'XXX', + 4: 'XL', + 5: 'L' + }; + var BNumbers = { + 0: '', + 1: 'I', + 2: 'II', + 3: 'III', + 4: 'IV', + 5: 'V', + 6: 'VI', + 7: 'VII', + 8: 'VIII', + 9: 'IX' + }; + if (data === 0) { + return "N"; } - if (a[0] !== 0 && a[1] !== 0) { - hours = romnambers[(a[0])] + number[a[1]]; - } - if (a[0] !== 0 && a[1] === 0) { - hours = romnambers[a[0]]; - } - return hours; + + return HNumbers[Math.floor(data / 10)] + BNumbers[Math.floor(data % 10)]; } -function roman1(time) { - var timeSplit = time.split(':'); - var b = timeSplit[1].split(''); - b[0] = parseInt(b[0], 10); - b[1] = parseInt(b[1], 10); - if (b[0] === 0 && b[1] === 0) { - minutes = number[0]; - } - if (b[0] === 0 && b[1] !== 0) { - minutes = number[b[1]]; - } - if (b[0] !== 0 && b[1] !== 0) { - minutes = romnambers[(b[0])] + number[b[1]]; - } - if (b[0] !== 0 && b[1] === 0) { - minutes = romnambers[b[0]]; - } +/** + * @param {Number} h – часы (например, 12) + * @param {Number} m - минуты (например, 12) + */ + function isValidate(h, m) { + if (h < 0 || h > 23 || m < 0 || m > 59) { + throw new TypeError('Неверное время'); + } + } - return minutes; - } -function romanTime1(time) { - var timeSplit = time.split(':'); - var a = timeSplit[0].split(''); - a[0] = parseInt(a[0], 10); - a[1] = parseInt(a[1], 10); - if (isNaN(a[0]) || isNaN(a[1])) { - throw new TypeError(); - } - if (timeSplit[0] > 23 || timeSplit[0] < 0 || isNaN(timeSplit[0])) { - throw new TypeError(); - } +/** + + * @param {String} data – часы или минуты (например, 12) + + * @returns {Number} m - минуты (например, 12) + */ + function ERTime(data) { + var re = /^\d\d$/; + if (!re.test(data)) { + throw new TypeError('Неверное время'); + } + try { + return parseInt(data); + } catch (e) { + throw new TypeError('Неверное время'); + } - return (1); -} -function romanTime2(time) { - var timeSplit = time.split(':'); - var b = timeSplit[1].split(''); - b[0] = parseInt(b[0], 10); - b[1] = parseInt(b[1], 10); - if (isNaN(b[0]) || isNaN(b[1])) { - throw new TypeError(); } - if (timeSplit[0].length !== 2 || timeSplit[1].length !== 2) { - throw new TypeError(); + +/** + * @param {String} time – время в формате HH:MM (например, 09:05) + * @returns {String} – время римскими цифрами (IX:V) + */ + function romanTime(time) { + if (typeof time !== 'string' && time.length !== 5) { + throw new TypeError('Неверное время'); } + var startTime = time.split(':'); + var hours = ERTime(startTime[0]); + var minutes = ERTime(startTime[1]); - return (1); - } -function romanTime(time) { - - return time; - var timeSplit = time.split(':'); - romanTime1(time); - romanTime2(time); - if (timeSplit[1] > 59 || timeSplit[1] < 0 || isNaN(timeSplit[1])) { - throw new TypeError(); - } + isValidate(hours, minutes); - return (roman(time) + ':' + roman1(time)); -} + time = returnRomanTime(hours) + ":" + returnRomanTime(minutes); -module.exports = romanTime; + return time; +} From 7607a5aaa6d72fa93da09b1977452c5e0a04f13f Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:32:04 +0500 Subject: [PATCH 07/13] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.spec.js | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/roman-time.spec.js b/roman-time.spec.js index 0dcbd5f..73f5c6b 100644 --- a/roman-time.spec.js +++ b/roman-time.spec.js @@ -1,23 +1,22 @@ -/* eslint-env mocha */ -'use strict'; - -var assert = require('assert'); var romanTime = require('./roman-time'); describe('Модуль roman-time', function () { - it('должен возвращать для 09:10 значение IX:X', function () { - assert.strictEqual(romanTime('09:10'), 'IX:X'); - }); + it('должен выбрасывать исключение TypeError для 9:10', function () { + assert.throws(romanTime.bind(null, '9:10'), TypeError); + }); - it('должен возвращать для 00:00 значение N:N', function () { - assert.strictEqual(romanTime('00:00'), 'N:N'); - }); - - it('должен возвращать для 23:59 значение XXIII:LIX', function () { - assert.strictEqual(romanTime('23:59'), 'XXIII:LIX'); - }); + it('должен выбрасывать исключение TypeError для 09:1', function () { + assert.throws(romanTime.bind(null, '09:1'), TypeError); + }); - it('должен выбрасывать исключение TypeError для 24:00', function () { - assert.throws(romanTime.bind(null, '24:00'), TypeError); + it('должен возвращать для 09:10 значение IX:X', function () { + assert.strictEqual(romanTime('09:10'), 'IX:X'); + }); + @@ -20,4 +28,7 @@ describe('Модуль roman-time', function () { + it('должен выбрасывать исключение TypeError для 24:00', function () { + assert.throws(romanTime.bind(null, '24:00'), TypeError); + }); + it('должен выбрасывать исключение TypeError для 2d:00', function () { + assert.throws(romanTime.bind(null, '2d:00'), TypeError); + }); }); -}); From 6836a7fd167e3ca0b4822c8146800033932d738a Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:35:34 +0500 Subject: [PATCH 08/13] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 88 +++++++++++++++++++++++++-------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/roman-time.js b/roman-time.js index 82b1836..9a5e6af 100644 --- a/roman-time.js +++ b/roman-time.js @@ -4,57 +4,57 @@ * @param {Number} data – получает на вход число - часы или минуты (например, 3) * @returns {String} – римскую версию числа (III) */ - function returnRomanTime(data) { - var HNumbers = { - 0: '', - 1: 'X', - 2: 'XX', - 3: 'XXX', - 4: 'XL', - 5: 'L' - }; +function returnRomanTime(data) { + var HNumbers = { + 0: '', + 1: 'X', + 2: 'XX', + 3: 'XXX', + 4: 'XL', + 5: 'L' + }; var BNumbers = { - 0: '', - 1: 'I', - 2: 'II', - 3: 'III', - 4: 'IV', - 5: 'V', - 6: 'VI', - 7: 'VII', - 8: 'VIII', - 9: 'IX' + 0: '', + 1: 'I', + 2: 'II', + 3: 'III', + 4: 'IV', + 5: 'V', + 6: 'VI', + 7: 'VII', + 8: 'VIII', + 9: 'IX' }; if (data === 0) { - return "N"; - } + return "N"; + } - return HNumbers[Math.floor(data / 10)] + BNumbers[Math.floor(data % 10)]; + return HNumbers[Math.floor(data / 10)] + BNumbers[Math.floor(data % 10)]; } /** * @param {Number} h – часы (например, 12) * @param {Number} m - минуты (например, 12) */ - function isValidate(h, m) { - if (h < 0 || h > 23 || m < 0 || m > 59) { - throw new TypeError('Неверное время'); - } - } +function isValidate(h, m) { + if (h < 0 || h > 23 || m < 0 || m > 59) { + throw new TypeError('Неверное время'); + } +} /** + * @param {String} data – часы или минуты (например, 12) + * @returns {Number} m - минуты (например, 12) */ - function ERTime(data) { - var re = /^\d\d$/; - if (!re.test(data)) { - throw new TypeError('Неверное время'); - } - try { - return parseInt(data); - } catch (e) { - throw new TypeError('Неверное время'); +function ERTime(data) { + var re = /^\d\d$/; + if (!re.test(data)) { + throw new TypeError('Неверное время'); + } + try { + return parseInt(data); + } catch (e) { + throw new TypeError('Неверное время'); } } @@ -63,17 +63,17 @@ * @param {String} time – время в формате HH:MM (например, 09:05) * @returns {String} – время римскими цифрами (IX:V) */ - function romanTime(time) { - if (typeof time !== 'string' && time.length !== 5) { - throw new TypeError('Неверное время'); +function romanTime(time) { + if (typeof time !== 'string' && time.length !== 5) { + throw new TypeError('Неверное время'); } - var startTime = time.split(':'); - var hours = ERTime(startTime[0]); - var minutes = ERTime(startTime[1]); + var startTime = time.split(':'); + var hours = ERTime(startTime[0]); + var minutes = ERTime(startTime[1]); - isValidate(hours, minutes); + isValidate(hours, minutes); - time = returnRomanTime(hours) + ":" + returnRomanTime(minutes); + time = returnRomanTime(hours) + ":" + returnRomanTime(minutes); return time; } From 6117e87f6d36d6de1da8d9b63cf3f6634751bdb4 Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:40:32 +0500 Subject: [PATCH 09/13] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=208?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From b891605b4f4776b4998bfe79e9a97ae96563e88d Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:44:53 +0500 Subject: [PATCH 10/13] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index 9a5e6af..e13b182 100644 --- a/roman-time.js +++ b/roman-time.js @@ -28,7 +28,6 @@ function returnRomanTime(data) { if (data === 0) { return "N"; } - return HNumbers[Math.floor(data / 10)] + BNumbers[Math.floor(data % 10)]; } @@ -74,6 +73,5 @@ function romanTime(time) { isValidate(hours, minutes); time = returnRomanTime(hours) + ":" + returnRomanTime(minutes); - return time; } From c1cf79becc771d6a582a8eb6662d3e9656b50f25 Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:46:34 +0500 Subject: [PATCH 11/13] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.spec.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/roman-time.spec.js b/roman-time.spec.js index 73f5c6b..37dedd1 100644 --- a/roman-time.spec.js +++ b/roman-time.spec.js @@ -1,22 +1,22 @@ var romanTime = require('./roman-time'); describe('Модуль roman-time', function () { - it('должен выбрасывать исключение TypeError для 9:10', function () { - assert.throws(romanTime.bind(null, '9:10'), TypeError); + it('должен выбрасывать исключение TypeError для 9:10', function () { + assert.throws(romanTime.bind(null, '9:10'), TypeError); }); - it('должен выбрасывать исключение TypeError для 09:1', function () { - assert.throws(romanTime.bind(null, '09:1'), TypeError); - }); + it('должен выбрасывать исключение TypeError для 09:1', function () { + assert.throws(romanTime.bind(null, '09:1'), TypeError); + }); - it('должен возвращать для 09:10 значение IX:X', function () { - assert.strictEqual(romanTime('09:10'), 'IX:X'); + it('должен возвращать для 09:10 значение IX:X', function () { + assert.strictEqual(romanTime('09:10'), 'IX:X'); }); @@ -20,4 +28,7 @@ describe('Модуль roman-time', function () { - it('должен выбрасывать исключение TypeError для 24:00', function () { - assert.throws(romanTime.bind(null, '24:00'), TypeError); + it('должен выбрасывать исключение TypeError для 24:00', function () { + assert.throws(romanTime.bind(null, '24:00'), TypeError); }); - it('должен выбрасывать исключение TypeError для 2d:00', function () { - assert.throws(romanTime.bind(null, '2d:00'), TypeError); + it('должен выбрасывать исключение TypeError для 2d:00', function () { + assert.throws(romanTime.bind(null, '2d:00'), TypeError); }); }); From 335eedd7f8773ea9114a1de5f22fb4d8e6f5eecf Mon Sep 17 00:00:00 2001 From: HateWG Date: Wed, 19 Oct 2016 23:56:14 +0500 Subject: [PATCH 12/13] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=2010?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index e13b182..98b4a42 100644 --- a/roman-time.js +++ b/roman-time.js @@ -14,7 +14,7 @@ function returnRomanTime(data) { 5: 'L' }; var BNumbers = { - 0: '', + 0: ' ', 1: 'I', 2: 'II', 3: 'III', From ff60852c2defd393d4b030435821b79d6ea32f38 Mon Sep 17 00:00:00 2001 From: HateWG Date: Thu, 20 Oct 2016 00:00:02 +0500 Subject: [PATCH 13/13] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B5=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=2011?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index 98b4a42..29bdf02 100644 --- a/roman-time.js +++ b/roman-time.js @@ -69,9 +69,7 @@ function romanTime(time) { var startTime = time.split(':'); var hours = ERTime(startTime[0]); var minutes = ERTime(startTime[1]); - isValidate(hours, minutes); - time = returnRomanTime(hours) + ":" + returnRomanTime(minutes); return time; }