blob: 6c6c4a561ab63395504a10d3a54192195eafee6d [file] [log] [blame]
// Copyright (c) 2016, 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.
/// A message emitted by a test.
///
/// A message encompasses any textual information that should be presented to
/// the user. Reporters are encouraged to visually distinguish different message
/// types.
class Message {
final MessageType type;
final String text;
Message(this.type, this.text);
Message.print(this.text) : type = MessageType.print;
Message.skip(this.text) : type = MessageType.skip;
}
class MessageType {
/// A message explicitly printed by the user's test.
static const print = const MessageType._("print");
/// A message indicating that a test, or some portion of one, was skipped.
static const skip = const MessageType._("skip");
/// The name of the message type.
final String name;
factory MessageType.parse(String name) {
switch (name) {
case "print":
return MessageType.print;
case "skip":
return MessageType.skip;
default:
throw new ArgumentError('Invalid message type "$name".');
}
}
const MessageType._(this.name);
String toString() => name;
}