diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 2b6bd78..0b1ae96 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -82,11 +82,23 @@
             def __float__(self):
                 return 42
 
+        # Issue 5759: __float__ not called on str subclasses (though it is on
+        # unicode subclasses).
+        class FooStr(str):
+            def __float__(self):
+                return float(str(self)) + 1
+
+        class FooUnicode(unicode):
+            def __float__(self):
+                return float(unicode(self)) + 1
+
         self.assertAlmostEqual(float(Foo0()), 42.)
         self.assertAlmostEqual(float(Foo1()), 42.)
         self.assertAlmostEqual(float(Foo2()), 42.)
         self.assertAlmostEqual(float(Foo3(21)), 42.)
         self.assertRaises(TypeError, float, Foo4(42))
+        self.assertAlmostEqual(float(FooUnicode('8')), 9.)
+        self.assertAlmostEqual(float(FooStr('8')), 9.)
 
     def test_floatasratio(self):
         for f, ratio in [
