code: def test_json_f_webencoder(self):
      dag_run_conf = {
          "1": "string",
          "2": b"bytes",
          "3": 123,
          "4": "à".encode("latin"),
          "5": datetime(2023, 1, 1),
      }
      expected_encoded_dag_run_conf = (
          # HTML sanitization is insane
          '{"1": "string", "2": "bytes", "3": 123, "4": "\\u00e0", "5": "2023-01-01T00:00:00+00:00"}'
      )
      expected_markup = Markup("<nobr>{}</nobr>").format(
          expected_encoded_dag_run_conf
      )
  
      formatter = json_f("conf")
      dagrun = Mock()
      dagrun.get = Mock(return_value=dag_run_conf)
  
      assert formatter(dagrun) == expected_markup
  
imports: from __future__ import annotations
  import itertools
  import re
  from datetime import datetime
  from unittest.mock import Mock
  from urllib.parse import parse_qs
  import pendulum
  import pytest
  from bs4 import BeautifulSoup
  from markupsafe import Markup
  from airflow.models import DagRun
  from airflow.utils import json
  from airflow.www import utils
  from airflow.www.utils import DagRunCustomSQLAInterface, json_f, wrapped_markdown
  from tests.test_utils.config import conf_vars
label_desc: Use image node_id 7 for calling the TestAttrRenderer obj's underlying member method code with example usage: obj.test_json_f_webencoder() without return types