summaryrefslogtreecommitdiff
path: root/src/pkg/http/client_test.go
diff options
context:
space:
mode:
authorSteve Newman <devnull@localhost>2009-06-09 10:58:58 -0700
committerSteve Newman <devnull@localhost>2009-06-09 10:58:58 -0700
commitd655b1252ad194cda5ed7f6ddd6fc823127ae1dd (patch)
tree53e10a9a65585d23f1eee670ad1285847764c371 /src/pkg/http/client_test.go
parent046e2de9ba461c3b517b86e1e5962d40295264ab (diff)
downloadgolang-d655b1252ad194cda5ed7f6ddd6fc823127ae1dd.tar.gz
Basic HTTP client.
R=rsc APPROVED=rsc DELTA=392 (386 added, 2 deleted, 4 changed) OCL=29963 CL=30107
Diffstat (limited to 'src/pkg/http/client_test.go')
-rw-r--r--src/pkg/http/client_test.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/pkg/http/client_test.go b/src/pkg/http/client_test.go
new file mode 100644
index 000000000..e9354fc40
--- /dev/null
+++ b/src/pkg/http/client_test.go
@@ -0,0 +1,40 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Tests for client.go
+
+package http
+
+import (
+ "fmt";
+ "http";
+ "io";
+ "strings";
+ "testing";
+)
+
+func TestClient(t *testing.T) {
+ // TODO: add a proper test suite. Current test merely verifies that
+ // we can retrieve the Google home page.
+
+ r, url, err := Get("http://www.google.com");
+ var b []byte;
+ if err == nil {
+ b, err = io.ReadAll(r.Body);
+ r.Body.Close();
+ }
+
+ // TODO: io.ErrEOF check is needed because we're sometimes getting
+ // this error when nothing is actually wrong. rsc suspects a bug
+ // in bufio. Can remove the ErrEOF check once the bug is fixed
+ // (expected to occur within a few weeks of this writing, 6/9/09).
+ if err != nil && err != io.ErrEOF {
+ t.Errorf("Error fetching URL: %v", err);
+ } else {
+ s := string(b);
+ if (!strings.HasPrefix(s, "<html>")) {
+ t.Errorf("Incorrect page body (did not begin with <html>): %q", s);
+ }
+ }
+}