code: def test_save_p_transparent_black(self, tmp_path):
      # check if solid black image with full transparency
      # is supported (check for #1838)
      im = Image.new("RGBA", (10, 10), (0, 0, 0, 0))
      assert im.getcolors() == [(100, (0, 0, 0, 0))]
  
      im = im.convert("P")
      test_file = str(tmp_path / "temp.png")
      im.save(test_file)
  
      # check if saved image contains same transparency
      with Image.open(test_file) as im:
          assert len(im.info["transparency"]) == 256
          assert_image(im, "P", (10, 10))
          im = im.convert("RGBA")
      assert_image(im, "RGBA", (10, 10))
      assert im.getcolors() == [(100, (0, 0, 0, 0))]
  
imports: import re
  import sys
  import zlib
  from io import BytesIO
  import pytest
  from PIL import Image, ImageFile, PngImagePlugin, features
  from .helper import PillowLeakTestCase, assert_image, assert_image_equal, assert_image_equal_tofile, hopper, is_win32, mark_if_feature_version, skip_unless_feature
label_desc: Use image node_id 13 for calling the TestFilePng obj's underlying member method code with example usage: obj.test_save_p_transparent_black(tmp_path) without return types