diff --git a/lib/src/command/login.dart b/lib/src/command/login.dart
index 4dcf52e..60547e2 100644
--- a/lib/src/command/login.dart
+++ b/lib/src/command/login.dart
@@ -43,7 +43,7 @@
       final discovery = await httpClient.get(Uri.https(
           'accounts.google.com', '/.well-known/openid-configuration'));
       final userInfoEndpoint = json.decode(discovery.body)['userinfo_endpoint'];
-      final userInfoRequest = await client.get(userInfoEndpoint);
+      final userInfoRequest = await client.get(Uri.parse(userInfoEndpoint));
       if (userInfoRequest.statusCode != 200) return null;
       try {
         final userInfo = json.decode(userInfoRequest.body);
@@ -60,5 +60,5 @@
   final String email;
   _UserInfo(this.name, this.email);
   @override
-  String toString() => '<$email> "$name"';
+  String toString() => ['<$email>', if (name != null) name].join(' ');
 }
diff --git a/lib/src/ignore.dart b/lib/src/ignore.dart
index ceef982..0a49f68 100644
--- a/lib/src/ignore.dart
+++ b/lib/src/ignore.dart
@@ -531,8 +531,7 @@
   _IgnorePrefixPair(this.ignore, this.prefix);
   @override
   String toString() {
-    // TODO: implement toString
-    return '{${ignore._rules.map((r) => r.original)} ${prefix}}';
+    return '{${ignore._rules.map((r) => r.original)} $prefix}';
   }
 }
 
diff --git a/lib/src/package.dart b/lib/src/package.dart
index 88a2909..bebda69 100644
--- a/lib/src/package.dart
+++ b/lib/src/package.dart
@@ -5,9 +5,9 @@
 import 'dart:io';
 
 import 'package:path/path.dart' as p;
-import 'package:pub/src/exceptions.dart';
 import 'package:pub_semver/pub_semver.dart';
 
+import 'exceptions.dart';
 import 'git.dart' as git;
 import 'ignore.dart';
 import 'io.dart';
