diff --git a/Lib/test/test_bool.py b/Lib/test/test_bool.py
index a62ff8e..7282c0a 100644
--- a/Lib/test/test_bool.py
+++ b/Lib/test/test_bool.py
@@ -45,6 +45,12 @@
         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_math(self):
         self.assertEqual(+False, 0)
         self.assertIsNot(+False, False)
@@ -235,6 +241,12 @@
         finally:
             os.remove(support.TESTFN)
 
+    def test_types(self):
+        # types are always true.
+        for t in [bool, complex, dict, float, int, list, object,
+                  set, str, tuple, type]:
+            self.assertIs(bool(t), True)
+
     def test_operator(self):
         import operator
         self.assertIs(operator.truth(0), False)
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index dada733..360a5e8 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -472,6 +472,12 @@
         self.assertRaises(ValueError, Decimal, (1, (4, 10, 4, 9, 1), 2) )
         self.assertRaises(ValueError, Decimal, (1, (4, 3, 4, 'a', 1), 2) )
 
+    def test_explicit_from_bool(self):
+        self.assertIs(bool(Decimal(0)), False)
+        self.assertIs(bool(Decimal(1)), True)
+        self.assertEqual(Decimal(False), Decimal(0))
+        self.assertEqual(Decimal(True), Decimal(1))
+
     def test_explicit_from_Decimal(self):
 
         #positive
diff --git a/Lib/test/test_index.py b/Lib/test/test_index.py
index 79802e2..7a94af1 100644
--- a/Lib/test/test_index.py
+++ b/Lib/test/test_index.py
@@ -39,6 +39,8 @@
         self.assertEqual(-7 .__index__(), -7)
         self.assertEqual(self.o.__index__(), 4)
         self.assertEqual(self.n.__index__(), 5)
+        self.assertEqual(True.__index__(), 1)
+        self.assertEqual(False.__index__(), 0)
 
     def test_subclasses(self):
         r = list(range(10))
diff --git a/Misc/ACKS b/Misc/ACKS
index 651e6e8..2442656 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -549,6 +549,7 @@
 Gustavo Niemeyer
 Oscar Nierstrasz
 Hrvoje Niksic
+Gregory Nofi
 Jesse Noller
 Bill Noon
 Stefan Norberg
diff --git a/Misc/NEWS b/Misc/NEWS
index 6b76321..d6a0292 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -956,6 +956,8 @@
 Tests
 -----
 
+- Issue #8248: Add some tests for the bool type.  Patch by Gregory Nofi.
+
 - Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special
   Unicode normalization cases.
 
