3º. 2º cuatrimestre. Itinerario de Computación. Grado en Ingeniería Informática. ULL
examples/reto.egg
: do {
def(sum, ; function
-> { nums,
do {
:= (i, 0), # Creates a local variable i and sets to 0
:= (s, 0), # Creates local var s and sets to 0
while { <(i, length(nums)),
do { =(s, +(s, <-(nums, i))),
=(i, +(i, 1))
}
},
s
}
)
},
print(+("sum(array[1, 2, 3]) := ", sum(array[1, 2, 3])))
}
test/test.js
que demuestre que una entrada como la de examples/scope-err.egg
: do(
set(x,9),
print(x) # ReferenceError: Tried setting an undefined variable: x
)
produce una excepción de este estilo: SyntaxError: Unexpected input after reached the end of parsing 1: 5) ;
Estudie la API de Should.js
test/test.js
que demuestre que una entrada como la de examples/number-as-fun-err.egg
:
4(5) ; Calling a number as a function
produce una excepción
test/test.js
que demuestre que una entrada como la de examples/one.egg
: do(
define(x, 4),
define(setx, fun(val,
set(x, val)
)
),
setx(50),
print(x)
)
produce una salida en stdout
de 50.
console.log
describe("run", function() {
let originalLog;
beforeEach(function() {
originalLog = console.log;
console.log = function (...args) {
...
};
});
// test code here
afterEach(function() {
...
});
it("testing one.egg with mocking of console.log", function() {
...
}
}
Si quiere saber mas sobre stubbing estudie la librería sinon
reto
del repo ULL-ESIT-PL-1617/eggegg
Locally at branch private2019
at /Users/casiano/local/src/javascript/PLgrado/eloquentjsegg
:
{
and }
branch private2019
at /Users/casiano/local/src/javascript/PLgrado/eloquentjsegg
private
at /Users/casiano/local/src/javascript/PLgrado/eloquentjsegg
repo https://github.com/ULL-ESIT-PL-1718/eggprivate2019
at /Users/casiano/local/src/javascript/PLgrado/eloquentjsegg