@@ -1803,16 +1803,22 @@ def test_prod(self):
18031803 self .assertRaises (TypeError , prod )
18041804 self .assertRaises (TypeError , prod , 42 )
18051805 self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ])
1806- self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], '' )
1807- self .assertRaises (TypeError , prod , [b'a' , b'c' ], b'' )
1806+ self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], start = '' )
1807+ self .assertRaises (TypeError , prod , [b'a' , b'c' ], start = b'' )
18081808 values = [bytearray (b'a' ), bytearray (b'b' )]
1809- self .assertRaises (TypeError , prod , values , bytearray (b'' ))
1809+ self .assertRaises (TypeError , prod , values , start = bytearray (b'' ))
18101810 self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]])
18111811 self .assertRaises (TypeError , prod , [{2 :3 }])
1812- self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , {2 :3 })
1813- self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], [])
1812+ self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , start = {2 :3 })
1813+ self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], start = [])
1814+
1815+ # Some odd cases
1816+ self .assertEqual (prod ([2 , 3 ], start = 'ab' ), 'abababababab' )
1817+ self .assertEqual (prod ([2 , 3 ], start = [1 , 2 ]), [1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ])
1818+ self .assertEqual (prod ([], start = {2 : 3 }), {2 :3 })
1819+
18141820 with self .assertRaises (TypeError ):
1815- prod ([10 , 20 ], [ 30 , 40 ] ) # start is a keyword-only argument
1821+ prod ([10 , 20 ], 1 ) # start is a keyword-only argument
18161822
18171823 self .assertEqual (prod ([0 , 1 , 2 , 3 ]), 0 )
18181824 self .assertEqual (prod ([1 , 0 , 2 , 3 ]), 0 )
0 commit comments