code: def test_extras():
      st = RamStorage()
      hw = HashWriter(st.create_file("test"))
      hw.extras["test"] = 100
      hw.extras["blah"] = "foo"
      hw.close()
  
      hr = HashReader(st.open_file("test"), st.file_length("test"))
      assert hr.extras["test"] == 100
      assert hr.extras["blah"] == "foo"
      hr.close()
  
      hw = OrderedHashWriter(st.create_file("test"))
      hw.extras["test"] = 100
      hw.extras["blah"] = "foo"
      hw.close()
  
      hr = HashReader(st.open_file("test"), st.file_length("test"))
      assert hr.extras["test"] == 100
      assert hr.extras["blah"] == "foo"
      hr.close()
  
      hr = OrderedHashReader(
          st.open_file("test"), st.file_length("test")
      )
      assert hr.extras["test"] == 100
      assert hr.extras["blah"] == "foo"
      hr.close()
  
file_path: whoosh/tests/test_tables.py
imports: from __future__ import with_statement
  import random
  from whoosh.compat import b, xrange, iteritems
  from whoosh.filedb.filestore import RamStorage
  from whoosh.filedb.filetables import HashReader, HashWriter
  from whoosh.filedb.filetables import OrderedHashWriter, OrderedHashReader
  from whoosh.util.testing import TempStorage
label_desc: Use image node_id 8 for calling a global function with example usage: test_extras() without return types