gradio/test/test_processing_utils.py

30 lines
25 KiB
Python
Raw Normal View History

2021-11-03 05:22:52 +08:00
import unittest
import pathlib
import gradio as gr
from PIL import Image
base_64_test_img = "data:image/jpg;base64,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
class ImagePreprocessing(unittest.TestCase):
def test_decode_base64_to_image(self):
output_image = gr.processing_utils.decode_base64_to_image(
base_64_test_img)
self.assertIsInstance(output_image, Image.Image)
def test_encode_url_or_file_to_base64(self):
output_base64 = gr.processing_utils.encode_url_or_file_to_base64(
"images/lion.jpg")
self.assertEquals(output_base64, base_64_test_img)
def test_encode_file_to_base64(self):
output_base64 = gr.processing_utils.encode_file_to_base64(
"images/lion.jpg")
self.assertEquals(output_base64, base_64_test_img)
def test_encode_url_to_base64(self):
output_base64 = gr.processing_utils.encode_url_to_base64("https://raw.githubusercontent.com/gradio-app/gradio/master/test/images/lion.jpg")
self.assertEqual(output_base64, base_64_test_img)
if __name__ == '__main__':
unittest.main()