code: def testSummaryNameConversion(self):
      c = constant_op.constant(3)
      s = summary_lib.scalar("name with spaces", c)
      self.assertEqual(s.op.name, "name_with_spaces")
  
      s2 = summary_lib.scalar(
          "name with many $#illegal^: characters!", c
      )
      self.assertEqual(
          s2.op.name, "name_with_many___illegal___characters_"
      )
  
      s3 = summary_lib.scalar("/name/with/leading/slash", c)
      self.assertEqual(s3.op.name, "name/with/leading/slash")
  
imports: from tensorflow.core.framework import summary_pb2
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import meta_graph
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.summary import summary
label_desc: Use image node_id 13 for calling the SummaryTest obj's underlying member method code with example usage: obj.testSummaryNameConversion() without return types