| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| var test = require('prova'); |
| var verror = require('../../src/gen-vdl/v.io/v23/verror'); |
| var Context = require('../../src/context').Context; |
| var VanadiumError = require('../../src/verror/vanadium-error'); |
| var errors = Object.keys(verror); |
| errors.forEach(function(name) { |
| test('verror.' + name, function(assert) { |
| var Ctor = verror[name]; |
| var err = new Ctor(new Context()); |
| |
| assert.ok(Ctor(new Context()) instanceof Ctor, 'should not require "new"'); // jshint ignore:line |
| assert.ok(err instanceof Ctor, 'should be instanceof ' + name); |
| assert.ok(err instanceof VanadiumError, 'should be instanceof VanadiumError'); // jshint ignore:line |
| assert.ok(err instanceof Error, 'should be instanceof Error'); |
| assert.ok(err.stack, 'should have err.stack'); |
| assert.end(); |
| }); |
| }); |