beautify_js
This commit is contained in:
parent
0febe4f5fd
commit
5c2f32e184
208 changed files with 3891 additions and 1474 deletions
|
@ -11,5 +11,4 @@ var calculator = {
|
|||
this.a = +prompt('a?', 0);
|
||||
this.b = +prompt('b?', 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -9,11 +9,11 @@ describe("calculator", function() {
|
|||
});
|
||||
|
||||
it("при вводе 2 и 3 сумма равна 5", function() {
|
||||
assert.equal( calculator.sum(), 5 );
|
||||
assert.equal(calculator.sum(), 5);
|
||||
});
|
||||
|
||||
it("при вводе 2 и 3 произведение равно 6", function() {
|
||||
assert.equal( calculator.mul(), 6 );
|
||||
assert.equal(calculator.mul(), 6);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
function Calculator() {
|
||||
|
||||
this.read = function() {
|
||||
this.a = +prompt('a?', 0);
|
||||
this.a = +prompt('a?', 0);
|
||||
this.b = +prompt('b?', 0);
|
||||
};
|
||||
|
||||
|
|
|
@ -11,11 +11,11 @@ describe("calculator", function() {
|
|||
});
|
||||
|
||||
it("при вводе 2 и 3 сумма равна 5", function() {
|
||||
assert.equal( calculator.sum(), 5 );
|
||||
assert.equal(calculator.sum(), 5);
|
||||
});
|
||||
|
||||
it("при вводе 2 и 3 произведение равно 6", function() {
|
||||
assert.equal( calculator.mul(), 6 );
|
||||
assert.equal(calculator.mul(), 6);
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -5,4 +5,4 @@ function Accumulator(startingValue) {
|
|||
this.value += +prompt('Сколько добавлять будем?', 0);
|
||||
};
|
||||
|
||||
}
|
||||
}
|
|
@ -13,25 +13,25 @@ describe("Accumulator(1)", function() {
|
|||
});
|
||||
|
||||
it("начальное значение 1", function() {
|
||||
assert.equal( accumulator.value, 1 );
|
||||
assert.equal(accumulator.value, 1);
|
||||
});
|
||||
|
||||
it("после ввода 0 значение 1", function() {
|
||||
prompt.returns("0");
|
||||
accumulator.read();
|
||||
assert.equal( accumulator.value, 1 );
|
||||
assert.equal(accumulator.value, 1);
|
||||
});
|
||||
|
||||
it("после ввода 1 значение 2", function() {
|
||||
prompt.returns("1");
|
||||
accumulator.read();
|
||||
assert.equal( accumulator.value, 2 );
|
||||
assert.equal(accumulator.value, 2);
|
||||
});
|
||||
|
||||
it("после ввода 2 значение 4", function() {
|
||||
prompt.returns("2");
|
||||
accumulator.read();
|
||||
assert.equal( accumulator.value, 4 );
|
||||
assert.equal(accumulator.value, 4);
|
||||
});
|
||||
|
||||
});
|
|
@ -16,7 +16,7 @@ function Calculator() {
|
|||
op = split[1],
|
||||
b = +split[2]
|
||||
|
||||
if(!methods[op] || isNaN(a) || isNaN(b)) {
|
||||
if (!methods[op] || isNaN(a) || isNaN(b)) {
|
||||
return NaN;
|
||||
}
|
||||
|
||||
|
@ -26,4 +26,4 @@ function Calculator() {
|
|||
this.addMethod = function(name, func) {
|
||||
methods[name] = func;
|
||||
};
|
||||
}
|
||||
}
|
|
@ -4,23 +4,23 @@ before(function() {
|
|||
});
|
||||
|
||||
it("calculate(12 + 34) = 46", function() {
|
||||
assert.equal( calculator.calculate("12 + 34"), 46 );
|
||||
assert.equal(calculator.calculate("12 + 34"), 46);
|
||||
});
|
||||
|
||||
it("calculate(34 - 12) = 22", function() {
|
||||
assert.equal( calculator.calculate("34 - 12"), 22 );
|
||||
assert.equal(calculator.calculate("34 - 12"), 22);
|
||||
});
|
||||
|
||||
it("добавили умножение: calculate(2 * 3) = 6", function() {
|
||||
calculator.addMethod("*", function(a, b) {
|
||||
return a * b;
|
||||
});
|
||||
assert.equal( calculator.calculate("2 * 3"), 6 );
|
||||
assert.equal(calculator.calculate("2 * 3"), 6);
|
||||
});
|
||||
|
||||
it("добавили возведение в степень: calculate(2 ** 3) = 8", function() {
|
||||
calculator.addMethod("**", function(a, b) {
|
||||
return Math.pow(a, b);
|
||||
});
|
||||
assert.equal( calculator.calculate("2 ** 3"), 8 );
|
||||
});
|
||||
assert.equal(calculator.calculate("2 ** 3"), 8);
|
||||
});
|
|
@ -1,4 +1,4 @@
|
|||
function Article() {
|
||||
function Article() {
|
||||
this.created = new Date;
|
||||
|
||||
Article.count++; // увеличиваем счетчик при каждом вызове
|
||||
|
@ -8,4 +8,4 @@ Article.count = 0; // начальное значение
|
|||
|
||||
Article.showStats = function() {
|
||||
alert('Всего: ' + this.count + ', Последняя: ' + this.last);
|
||||
};
|
||||
};
|
|
@ -3,7 +3,7 @@ describe("Article.showStats", function() {
|
|||
sinon.stub(window, "alert");
|
||||
this.clock = sinon.useFakeTimers();
|
||||
});
|
||||
|
||||
|
||||
after(function() {
|
||||
window.alert.restore();
|
||||
this.clock.restore();
|
||||
|
@ -13,9 +13,9 @@ describe("Article.showStats", function() {
|
|||
new Article();
|
||||
this.clock.tick(100);
|
||||
new Article();
|
||||
Article.showStats();
|
||||
|
||||
assert( alert.calledWith('Всего: 2, Последняя: ' + new Date() ) );
|
||||
Article.showStats();
|
||||
|
||||
assert(alert.calledWith('Всего: 2, Последняя: ' + new Date()));
|
||||
});
|
||||
|
||||
it("и ещё одна статья...", function() {
|
||||
|
@ -23,6 +23,6 @@ describe("Article.showStats", function() {
|
|||
new Article();
|
||||
Article.showStats();
|
||||
|
||||
assert( alert.calledWith('Всего: 3, Последняя: ' + new Date() ) );
|
||||
assert(alert.calledWith('Всего: 3, Последняя: ' + new Date()));
|
||||
});
|
||||
});
|
|
@ -1,3 +1,3 @@
|
|||
function applyAll(func) {
|
||||
return func.apply(this, [].slice.call(arguments, 1) );
|
||||
return func.apply(this, [].slice.call(arguments, 1));
|
||||
}
|
|
@ -2,14 +2,14 @@ describe("applyAll", function() {
|
|||
|
||||
it("применяет функцию ко всем аргументам, начиная со 2го", function() {
|
||||
var min = applyAll(Math.min, 1, 2, 3);
|
||||
assert.equal( min, 1 );
|
||||
assert.equal(min, 1);
|
||||
});
|
||||
|
||||
it("при отсутствии аргументов просто вызывает функцию", function() {
|
||||
var spy = sinon.spy();
|
||||
applyAll(spy);
|
||||
assert( spy.calledOnce );
|
||||
assert.equal( spy.firstCall.args.length, 0 );
|
||||
assert(spy.calledOnce);
|
||||
assert.equal(spy.firstCall.args.length, 0);
|
||||
});
|
||||
|
||||
});
|
|
@ -2,8 +2,8 @@ function makeLogging(f, log) {
|
|||
|
||||
function wrapper(a) {
|
||||
log.push(a);
|
||||
return f.call(this, a);
|
||||
return f.call(this, a);
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
}
|
|
@ -4,45 +4,47 @@ describe("makeLogging", function() {
|
|||
|
||||
var log = [];
|
||||
work = makeLogging(work, log);
|
||||
assert.deepEqual( log, []);
|
||||
assert.deepEqual(log, []);
|
||||
|
||||
work(1);
|
||||
assert.deepEqual( log, [1]);
|
||||
assert.deepEqual(log, [1]);
|
||||
|
||||
work(2);
|
||||
assert.deepEqual( log, [1, 2]);
|
||||
assert.deepEqual(log, [1, 2]);
|
||||
});
|
||||
|
||||
it("передаёт вызов функции, возвращает её результат", function() {
|
||||
var log = [];
|
||||
|
||||
|
||||
function work(x) {
|
||||
return x*2;
|
||||
return x * 2;
|
||||
}
|
||||
|
||||
work = sinon.spy(work);
|
||||
var spy = work;
|
||||
work = makeLogging(work, log);
|
||||
|
||||
assert.equal( work(1), 2 );
|
||||
|
||||
assert.equal(work(1), 2);
|
||||
assert(spy.calledWith(1));
|
||||
});
|
||||
|
||||
|
||||
|
||||
it("сохраняет контекст вызова для методов объекта", function() {
|
||||
var log = [];
|
||||
|
||||
|
||||
var calculator = {
|
||||
double: function(x) { return x*2; }
|
||||
double: function(x) {
|
||||
return x * 2;
|
||||
}
|
||||
}
|
||||
|
||||
calculator.double = sinon.spy(calculator.double);
|
||||
var spy = calculator.double;
|
||||
calculator.double = makeLogging(calculator.double, log);
|
||||
|
||||
assert.equal( calculator.double(1), 2 );
|
||||
assert.equal(calculator.double(1), 2);
|
||||
assert(spy.calledWith(1));
|
||||
assert(spy.calledOn(calculator));
|
||||
});
|
||||
|
||||
});
|
||||
});
|
|
@ -1,15 +1,9 @@
|
|||
function makeLogging(f, log) {
|
||||
|
||||
|
||||
function wrapper() {
|
||||
log.push([].slice.call(arguments));
|
||||
return f.apply(this, arguments);
|
||||
return f.apply(this, arguments);
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,22 +1,26 @@
|
|||
|
||||
describe("makeLogging", function() {
|
||||
it("записывает вызовы в массив log", function() {
|
||||
var work = sinon.spy();
|
||||
|
||||
var log = [];
|
||||
work = makeLogging(work, log);
|
||||
assert.deepEqual( log, []);
|
||||
assert.deepEqual(log, []);
|
||||
|
||||
work(1, 2);
|
||||
assert.deepEqual( log, [[1, 2]]);
|
||||
assert.deepEqual(log, [
|
||||
[1, 2]
|
||||
]);
|
||||
|
||||
work(3, 4);
|
||||
assert.deepEqual( log, [[1, 2], [3,4]]);
|
||||
assert.deepEqual(log, [
|
||||
[1, 2],
|
||||
[3, 4]
|
||||
]);
|
||||
});
|
||||
|
||||
it("передаёт вызов функции, возвращает её результат", function() {
|
||||
var log = [];
|
||||
|
||||
|
||||
function sum(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
@ -24,26 +28,28 @@ describe("makeLogging", function() {
|
|||
sum = sinon.spy(sum);
|
||||
var spy = sum;
|
||||
sum = makeLogging(sum, log);
|
||||
|
||||
assert.equal( sum(1, 2), 3 );
|
||||
|
||||
assert.equal(sum(1, 2), 3);
|
||||
assert(spy.calledWith(1, 2));
|
||||
});
|
||||
|
||||
|
||||
|
||||
it("сохраняет контекст вызова для методов объекта", function() {
|
||||
var log = [];
|
||||
|
||||
|
||||
var calculator = {
|
||||
sum: function(a, b) { return a + b; }
|
||||
sum: function(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
}
|
||||
|
||||
calculator.sum = sinon.spy(calculator.sum);
|
||||
var spy = calculator.sum;
|
||||
calculator.sum = makeLogging(calculator.sum, log);
|
||||
|
||||
assert.equal( calculator.sum(1, 2), 3 );
|
||||
assert.equal(calculator.sum(1, 2), 3);
|
||||
assert(spy.calledWith(1, 2));
|
||||
assert(spy.calledOn(calculator));
|
||||
});
|
||||
|
||||
});
|
||||
});
|
|
@ -1,8 +1,8 @@
|
|||
function makeCaching(f) {
|
||||
var cache = {};
|
||||
function makeCaching(f) {
|
||||
var cache = {};
|
||||
|
||||
return function(x) {
|
||||
if (!(x in cache)) {
|
||||
if (!(x in cache)) {
|
||||
cache[x] = f.call(this, x);
|
||||
}
|
||||
return cache[x];
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
describe("makeCaching", function() {
|
||||
|
||||
it("запоминает предыдущее значение функции с таким аргументом", function() {
|
||||
function f(x) {
|
||||
return Math.random()*x;
|
||||
function f(x) {
|
||||
return Math.random() * x;
|
||||
}
|
||||
|
||||
f = makeCaching(f);
|
||||
|
@ -10,10 +10,10 @@ describe("makeCaching", function() {
|
|||
var a = f(1);
|
||||
var b = f(1);
|
||||
assert.equal(a, b);
|
||||
|
||||
var anotherValue = f(2);
|
||||
|
||||
var anotherValue = f(2);
|
||||
// почти наверняка другое значение
|
||||
assert.notEqual( a, anotherValue );
|
||||
assert.notEqual(a, anotherValue);
|
||||
});
|
||||
|
||||
it("сохраняет контекст вызова", function() {
|
||||
|
@ -24,8 +24,8 @@ describe("makeCaching", function() {
|
|||
var spy = obj.spy;
|
||||
obj.spy = makeCaching(obj.spy);
|
||||
obj.spy(123);
|
||||
assert( spy.calledWith(123) );
|
||||
assert( spy.calledOn(obj) );
|
||||
assert(spy.calledWith(123));
|
||||
assert(spy.calledOn(obj));
|
||||
});
|
||||
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue