/*
 * Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
 * for details. All rights reserved. Use of this source code is governed by a
 * BSD-style license that can be found in the LICENSE file.
 */
/**
 * @description 
 * @note check messages somehow?
 */
import "dart:html";
import "../../../../Utils/expect.dart";
import "../../../testcommon.dart";

main() {
  window.console.log("console.log() called.");
  window.console.info("console.info() called.");
  window.console.warn("console.warn() called.");
  window.console.error("console.error() called.");
}
