code: def test_roundtrip_itxt(self):
      # Check iTXt roundtripping
  
      im = Image.new("RGB", (32, 32))
      info = PngImagePlugin.PngInfo()
      info.add_itxt("spam", "Eggs", "en", "Spam")
      info.add_text(
          "eggs", PngImagePlugin.iTXt("Spam", "en", "Eggs"), zip=True
      )
  
      im = roundtrip(im, pnginfo=info)
      assert im.info == {"spam": "Eggs", "eggs": "Spam"}
      assert im.text == {"spam": "Eggs", "eggs": "Spam"}
      assert im.text["spam"].lang == "en"
      assert im.text["spam"].tkey == "Spam"
      assert im.text["eggs"].lang == "en"
      assert im.text["eggs"].tkey == "Eggs"
  
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 23 for calling the TestFilePng obj's underlying member method code with example usage: obj.test_roundtrip_itxt() without return types