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 unittest import mock
  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