Travis/coveralls.
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..b1279b7
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,3 @@
+language: dart
+script: ./tool/travis.sh
+sudo: false
diff --git a/tool/travis.sh b/tool/travis.sh
new file mode 100755
index 0000000..56708c7
--- /dev/null
+++ b/tool/travis.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# Copyright (c) 2015, 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.
+
+# Fast fail the script on failures.		
+set -e
+
+# Verify that the libraries are error free.
+dartanalyzer --fatal-warnings \
+  lib/when.dart \
+  test/when_test.dart
+
+# Run the tests.
+dart test/when_test.dart
+
+# Install dart_coveralls; gather and send coverage data.
+if [ "$COVERALLS_TOKEN" ]; then
+  pub global activate dart_coveralls
+  pub global run dart_coveralls report \
+    --token $COVERALLS_TOKEN \
+    --retry 2 \
+    --exclude-test-files \
+    test/when_test.dart
+fi