code: def test_tee_filter():
      target = u("Alfa Bravo Charlie")
      f1 = analysis.LowercaseFilter()
      f2 = analysis.ReverseTextFilter()
      ana = analysis.RegexTokenizer(r"\S+") | analysis.TeeFilter(f1, f2)
      result = " ".join([t.text for t in ana(target)])
      assert result == "alfa aflA bravo ovarB charlie eilrahC"
  
      class ucfilter(analysis.Filter):
          def __call__(self, tokens):
              for t in tokens:
                  t.text = t.text.upper()
                  yield t
  
      f2 = analysis.ReverseTextFilter() | ucfilter()
      ana = analysis.RegexTokenizer(r"\S+") | analysis.TeeFilter(f1, f2)
      result = " ".join([t.text for t in ana(target)])
      assert result == "alfa AFLA bravo OVARB charlie EILRAHC"
  
      f1 = analysis.PassFilter()
      f2 = analysis.BiWordFilter()
      ana = (
          analysis.RegexTokenizer(r"\S+")
          | analysis.TeeFilter(f1, f2)
          | analysis.LowercaseFilter()
      )
      result = " ".join([t.text for t in ana(target)])
      assert result == "alfa alfa-bravo bravo bravo-charlie charlie"
  
imports: from __future__ import with_statement
  import pytest
  from whoosh import analysis, fields, qparser
  from whoosh.compat import b, u, unichr
  from whoosh.compat import dumps
  from whoosh.filedb.filestore import RamStorage
label_desc: Use image node_id 10 for calling a global function with example usage: test_tee_filter() without return types