code: def test_no_echo(echo):
      # in cases where values coming from the frontend are 'heavy', we might want to opt out
      class ValueWidget(Widget):
          value = Float().tag(sync=True, echo_update=False)
  
      widget = ValueWidget(value=1)
      assert widget.value == 1
  
      widget._send = mock.MagicMock()
      # this mimics a value coming from the front end
      widget._handle_msg(
          {
              "content": {
                  "data": {
                      "method": "update",
                      "state": {
                          "value": 42,
                      },
                  }
              }
          }
      )
      assert widget.value == 42
  
      # widget._send.assert_not_called(calls)
      widget._send.assert_not_called()
  
      # a regular set should sync to the frontend
      widget.value = 43
      widget._send.assert_has_calls(
          [
              mock.call(
                  {
                      "method": "update",
                      "state": {"value": 43.0},
                      "buffer_paths": [],
                  },
                  buffers=[],
              )
          ]
      )
  
imports: import pytest
  from traitlets import Bool, Tuple, List, Instance, CFloat, CInt, Float, Int, TraitError, observe
  from .utils import setup, teardown
  import ipywidgets
  from ipywidgets import Widget
label_desc: Use image node_id 21 for calling a global function with example usage: test_no_echo(echo) without return types