Skip to content
Snippets Groups Projects
Select Git revision
  • d3ee15fa3bcf714e17a21daf098288fbabb092e3
  • dev default protected
  • vainamoinen197-transactiondocument-replace-vec-fields-by-smallvec-2
  • dvermd/200-keypairs-dewif
  • elois/wot
  • jawaka/155-dbex-add-dump-fork-tree-command
  • elois/195-bcdbwriteop
  • elois/deps-crypto
  • elois/gva-monetary-mass
  • elois/191-sled
  • elois/195
  • ji_emme/gva-humantimefield
  • 184-gva-rename-commontime-field-to-blockchaintime
  • ji_emme/182-gva-implement-block-meta-data
  • ji_emme/rml14
  • hugo/151-ws2pv2-sync
  • ji_emme/181-gva-implement-identity-request
  • ji_emme/89-implement-client-api-gva-graphql-verification-api
  • logo
  • test-juniper-from-schema
  • elois/exemple-gva-global-context
  • v0.2.0-a4 protected
  • v0.2.0-a2 protected
  • v0.2.0-a protected
  • v0.1.1-a1 protected
  • documents/v0.10.0-b1 protected
  • crypto/v0.4.0-b1 protected
  • crypto/v0.3.0-b3 protected
  • crypto/v0.3.0-b2 protected
  • crypto/v0.3.0-b1 protected
  • wot/v0.8.0-a0.9 protected
  • wot/v0.8.0-a0.8 protected
  • 0.1.0-a0.1 protected
  • v0.0.1-a0.12 protected
  • v0.0.1-a0.11 protected
  • v0.0.1-a0.10 protected
  • v0.0.1-a0.9 protected
  • v0.0.1-a0.8 protected
  • v0.0.1-a0.7 protected
  • v0.0.1-a0.6 protected
  • v0.0.1-a0.5 protected
41 results

current_meta_datas.rs

Blame
  • unit-tools.ts 1.93 KiB
    // Source file from duniter: Crypto-currency software to manage libre currency such as Ğ1
    // Copyright (C) 2018  Cedric Moreau <cem.moreau@gmail.com>
    //
    // This program is free software: you can redistribute it and/or modify
    // it under the terms of the GNU Affero General Public License as published by
    // the Free Software Foundation, either version 3 of the License, or
    // (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU Affero General Public License for more details.
    
    import * as assert from 'assert'
    
    const should = require('should')
    
    export async function shouldThrow(promise:Promise<any>) {
      let error = false
      try {
        await promise
      } catch (e) {
        error = true
      }
      (promise as any).should.be.rejected()
      (error as any).should.equal(true)
    }
    
    export async function shouldNotFail<T>(promise:Promise<T>) {
      try {
        await promise
      } catch(e) {
        let err = e;
        if (typeof e === 'string') {
          err = JSON.parse((e as any).message)
        }
        should.not.exist(err);
      }
    }
    
    export const shouldFail = async (promise:Promise<any>, message:string|null = null) => {
      try {
        await promise;
        throw '{ "message": "Should have thrown an error" }'
      } catch(e) {
        let err = e
        if (typeof e === "string") {
          err = JSON.parse(e)
        }
        err.should.have.property('message').equal(message);
      }
    }
    
    export const assertThrows = async (promise:Promise<any>, message:string|null = null) => {
      try {
        await promise;
        throw "Should have thrown"
      } catch(e) {
        if (e === "Should have thrown") {
          throw e
        }
        assert.equal(e.message || e, message)
      }
    }
    
    
    export const assertThrowsSync = (f:() => any) => {
      try {
        f()
        throw "Should have thrown"
      } catch(e) {
        if (e === "Should have thrown") {
          throw e
        }
      }
    }