code: def test_save_p_transparent_palette(self, tmp_path):
      in_file = "Tests/images/pil123p.png"
      with Image.open(in_file) as im:
          # 'transparency' contains a byte string with the opacity for
          # each palette entry
          assert len(im.info["transparency"]) == 256
  
          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", (162, 150))
          im = im.convert("RGBA")
      assert_image(im, "RGBA", (162, 150))
  
      # image has 124 unique alpha values
      assert len(im.getchannel("A").getcolors()) == 124
  
imports: from __future__ import annotations
  import re
  import sys
  import warnings
  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 11 for calling the TestFilePng obj's underlying member method code with example usage: obj.test_save_p_transparent_palette(tmp_path) without return types