File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
graalpython/com.oracle.graal.python.test/src/tests Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -339,3 +339,34 @@ def test_java_imports():
339
339
assert repr (ArrayList ()) == "[]"
340
340
341
341
assert java .util .ArrayList == ArrayList
342
+
343
+ def test_foreign_object_does_not_leak_Javas_toString ():
344
+ try :
345
+ from java .util import ArrayList
346
+ except NotImplementedError as e :
347
+ assert "host lookup is not allowed" in str (e )
348
+ else :
349
+ try :
350
+ ArrayList (12 , "12" )
351
+ except TypeError as e :
352
+ assert "@" not in str (e ) # the @ from Java's default toString
353
+
354
+ try :
355
+ ArrayList (12 , foo = "12" ) # keywords are not supported
356
+ except TypeError as e :
357
+ assert "@" not in str (e ) # the @ from Java's default toString
358
+
359
+ try :
360
+ ArrayList .bar
361
+ except AttributeError as e :
362
+ assert "@" not in str (e ) # the @ from Java's default toString
363
+
364
+ try :
365
+ del ArrayList .bar
366
+ except AttributeError as e :
367
+ assert "@" not in str (e ) # the @ from Java's default toString
368
+
369
+ try :
370
+ del ArrayList .bar
371
+ except AttributeError as e :
372
+ assert "@" not in str (e ) # the @ from Java's default toString
You can’t perform that action at this time.
0 commit comments