code: def test_add_special_tokens(self):
      tokenizers: List[MarkupLMTokenizer] = self.get_tokenizers(
          do_lower_case=False
      )
      for tokenizer in tokenizers:
          with self.subTest(f"{tokenizer.__class__.__name__}"):
              special_token = "[SPECIAL_TOKEN]"
              special_token_xpath = "/html/body/div/li[1]/div/span"
  
              tokenizer.add_special_tokens({"cls_token": special_token})
              encoded_special_token = tokenizer.encode(
                  [special_token],
                  xpaths=[special_token_xpath],
                  add_special_tokens=False,
              )
              self.assertEqual(len(encoded_special_token), 1)
  
              decoded = tokenizer.decode(
                  encoded_special_token, skip_special_tokens=True
              )
              self.assertTrue(special_token not in decoded)
  
imports: import inspect
  import json
  import os
  import re
  import shutil
  import tempfile
  import unittest
  from typing import List
  from transformers import AddedToken, MarkupLMTokenizerFast, SpecialTokensMixin, is_tf_available, is_torch_available, logging
  from transformers.models.markuplm.tokenization_markuplm import VOCAB_FILES_NAMES, MarkupLMTokenizer
  from transformers.testing_utils import is_pt_tf_cross_test, require_tokenizers, require_torch, slow
  from ...test_tokenization_common import SMALL_TRAINING_CORPUS, TokenizerTesterMixin, merge_model_tokenizer_mappings
label_desc: Use image node_id 7 for calling the MarkupLMTokenizationTest obj's underlying member method code with example usage: obj.test_add_special_tokens() without return types