code: def test_processor_case_1(self):
      # case 1: web page classification (training, inference) + token classification (inference)
  
      feature_extractor = MarkupLMFeatureExtractor()
      tokenizers = self.get_tokenizers
      html_strings = self.get_html_strings
  
      for tokenizer in tokenizers:
          processor = MarkupLMProcessor(
              feature_extractor=feature_extractor, tokenizer=tokenizer
          )
  
          # not batched
          inputs = processor(html_strings[0], return_tensors="pt")
  
          # verify keys
          expected_keys = [
              "attention_mask",
              "input_ids",
              "token_type_ids",
              "xpath_subs_seq",
              "xpath_tags_seq",
          ]
          actual_keys = sorted(list(inputs.keys()))
          self.assertListEqual(actual_keys, expected_keys)
  
          # verify input_ids
          expected = [0, 31414, 232, 25194, 11773, 16, 127, 998, 4, 2]
          self.assertSequenceEqual(
              inputs.input_ids.squeeze().tolist(), expected
          )
  
          # batched
          inputs = processor(
              html_strings, padding=True, return_tensors="pt"
          )
  
          # verify keys
          expected_keys = [
              "attention_mask",
              "input_ids",
              "token_type_ids",
              "xpath_subs_seq",
              "xpath_tags_seq",
          ]
          actual_keys = sorted(list(inputs.keys()))
          self.assertListEqual(actual_keys, expected_keys)
  
          # verify input_ids
          expected = [
              0,
              48085,
              2209,
              48085,
              3156,
              32,
              6533,
              19,
              5,
              48599,
              6694,
              35,
              2,
          ]
          self.assertSequenceEqual(
              inputs.input_ids[1].tolist(), expected
          )
  
imports: import json
  import os
  import shutil
  import tempfile
  import unittest
  from typing import List
  from transformers import MarkupLMProcessor, MarkupLMTokenizer, PreTrainedTokenizer, PreTrainedTokenizerBase, PreTrainedTokenizerFast
  from transformers.models.markuplm.tokenization_markuplm import VOCAB_FILES_NAMES
  from transformers.testing_utils import require_bs4, require_tokenizers, require_torch, slow
  from transformers.utils import FEATURE_EXTRACTOR_NAME, cached_property, is_bs4_available, is_tokenizers_available
label_desc: Use image node_id 3 for calling the MarkupLMProcessorIntegrationTests obj's underlying member method code with example usage: obj.test_processor_case_1() without return types