Issue #8248: Add some tests for the bool type.  Patch by Gregory Nofi.
diff --git a/Lib/test/test_bool.py b/Lib/test/test_bool.py
index 7464c71..26c0d58 100644
--- a/Lib/test/test_bool.py
+++ b/Lib/test/test_bool.py
@@ -45,6 +45,18 @@
         self.assertEqual(int(True), 1)
         self.assertIsNot(int(True), True)
 
+    def test_float(self):
+        self.assertEqual(float(False), 0.0)
+        self.assertIsNot(float(False), False)
+        self.assertEqual(float(True), 1.0)
+        self.assertIsNot(float(True), True)
+
+    def test_long(self):
+        self.assertEqual(int(False), 0L)
+        self.assertIsNot(int(False), False)
+        self.assertEqual(int(True), 1L)
+        self.assertIsNot(int(True), True)
+
     def test_math(self):
         self.assertEqual(+False, 0)
         self.assertIsNot(+False, False)
@@ -157,6 +169,12 @@
         self.assertIs(bool(""), False)
         self.assertIs(bool(), False)
 
+    def test_format(self):
+        self.assertEqual("%d" % False, "0")
+        self.assertEqual("%d" % True, "1")
+        self.assertEqual("%x" % False, "0")
+        self.assertEqual("%x" % True, "1")
+
     def test_hasattr(self):
         self.assertIs(hasattr([], "append"), True)
         self.assertIs(hasattr([], "wobble"), False)
@@ -251,6 +269,12 @@
         finally:
             os.remove(test_support.TESTFN)
 
+    def test_types(self):
+        # types are always true.
+        for t in [bool, complex, dict, file, float, int, list, long, object,
+                  set, str, tuple, type]:
+            self.assertIs(bool(t), True)
+
     def test_operator(self):
         import operator
         self.assertIs(operator.truth(0), False)