code: def test_save_p_single_transparency(self, tmp_path):
      in_file = "Tests/images/p_trns_single.png"
      with Image.open(in_file) as im:
          # pixel value 164 is full transparent
          assert im.info["transparency"] == 164
          assert im.getpixel((31, 31)) == 164
  
          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 im.info["transparency"] == 164
          assert im.getpixel((31, 31)) == 164
          assert_image(im, "P", (64, 64))
          im = im.convert("RGBA")
      assert_image(im, "RGBA", (64, 64))
  
      assert im.getpixel((31, 31)) == (0, 255, 52, 0)
  
      # image has 876 transparent pixels
      assert im.getchannel("A").getcolors()[0][0] == 876
  
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 12 for calling the TestFilePng obj's underlying member method code with example usage: obj.test_save_p_single_transparency(tmp_path) without return types