1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5/**
6 * @fileoverview Assertion support.
7 */
8
9/**
10 * Simple common assertion API
11 * @param {*} condition The condition to test.  Note that this may be used to
12 *     test whether a value is defined or not, and we don't want to force a
13 *     cast to Boolean.
14 * @param {string=} opt_message A message to use in any error.
15 */
16function assert(condition, opt_message) {
17  'use strict';
18  if (!condition) {
19    var msg = 'Assertion failed';
20    if (opt_message)
21      msg = msg + ': ' + opt_message;
22    throw new Error(msg);
23  }
24}
25