mock_jasmine.ts 2.95 KiB
// tslint:disable:no-console
/**
 * Mock fonction describe de Jasmine
 * @param sTxt Texte de la suite de test
 * @param fFun Fonction de la suite de test
 */
export function describe(sTxt: string, fFun: () => void) {
    console.log(sTxt);
    fFun();
/**
 * Mock fonction xdescribe de Jasmine
 * @param sTxt Texte de la suite de test
 * @param fFun Fonction de la suite de test
export function xdescribe(sTxt: string, fFun: () => void) {
    console.log(sTxt + " ignored ***");
/**
 * Mock fonction it de jasmine
 * @param sTxt Texte à afficher pour la spec
 * @param fFun Function à lancer pour la spec
export function it(sTxt: string, fFun: () => void) {
    console.log(sTxt);
    fFun();
/**
 * Classe contenant les méthodes de comparaison de Jasmine.
class Expect {
    /**
     * Mock la function expect de Jasmine
     * @param actual Objet à tester
    public constructor(private actual: any) {
    /**
     * Mock de la function chainée à expect de test d'une valeur à un epsilon près
     * @param expected Valeur numérique attendue
     * @param precision Précision attendue (nombre de chiffre après la virgule)
    public toBeCloseTo(expected: number, precision: number) {
        const pow = Math.pow(10, precision + 1);
        const delta = Math.abs(expected - this.actual);
        const maxDelta = Math.pow(10, -precision) / 2;
        if (Math.round(delta * pow) / pow > maxDelta) {
            console.error("Expected " + this.actual + " to be close to " + expected + "," + precision);
        return this;
    /**
     * Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value
     * @param expected Objet de référence
    public toBe(expected: any) {
        const res = this.actual === expected;
        if (!res) {
            console.error("Error : expected " + this.actual + " to be " + expected);
        return res;
    /**
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
* Mock de la fonction toBe de Jasmine : the actual value to be `===` to the expected value * @param expected Objet de référence */ public toEqual(expected: any) { const res = this.actual === expected; if (!res) { console.warn("Warning : test 'to be equal to' not tested"); } return res; } /** * Mock de la fonction toBeTruthy de Jasmine : the actual value should be true * @param message message d'erreur */ public toBeTruthy(message: string) { if (!this.actual) { console.error(message); } } /** * Mock de la fonction toBeFalsy de Jasmine : the actual value should be false * @param message message d'erreur */ public toBeFalsy(message: string) { if (this.actual) { console.error(message); } } } /** * Mock la function expect de Jasmine * @param actual Objet à tester */ export function expect(expected: any) { return new Expect(expected); }