| #!/usr/bin/env python3 | 
 | # Copyright (c) 2023, the Dart project authors.  Please see the AUTHORS file | 
 | # for details. All rights reserved. Use of this source code is governed by a | 
 | # BSD-style license that can be found in the LICENSE file. | 
 | """Analyzer specific presubmit script. | 
 |  | 
 | See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 
 | for more details about the presubmit API built into gcl. | 
 | """ | 
 |  | 
 | import os.path | 
 | import re | 
 |  | 
 | USE_PYTHON3 = True | 
 | PRESUBMIT_VERSION = '2.0.0' | 
 |  | 
 |  | 
 | def CheckNodeTextExpectationsCollectorUpdatingIsDisabled(input_api, output_api): | 
 |     local_root = input_api.change.RepositoryRoot() | 
 |     node_text_expectations_file = os.path.join(local_root, 'pkg', 'analyzer', | 
 |                                                'test', 'src', 'dart', | 
 |                                                'resolution', | 
 |                                                'node_text_expectations.dart') | 
 |     for git_file in input_api.AffectedTestableFiles(): | 
 |         filename = git_file.AbsoluteLocalPath() | 
 |         if (filename == node_text_expectations_file): | 
 |             isEnabledLine = re.compile('static const updatingIsEnabled = (.*);') | 
 |             for line in git_file.NewContents(): | 
 |                 m = isEnabledLine.search(line) | 
 |                 if (m is not None): | 
 |                     value = m.group(1) | 
 |                     if (value == 'false'): | 
 |                         return [] | 
 |                     else: | 
 |                         return [ | 
 |                             output_api.PresubmitError( | 
 |                                 'NodeTextExpectationsCollector.updatingIsEnabled ' | 
 |                                 'must be `false`') | 
 |                         ] | 
 |             return [ | 
 |                 output_api.PresubmitError( | 
 |                     'Could not validate ' | 
 |                     'NodeTextExpectationsCollector.updatingIsEnabled') | 
 |             ] | 
 |     return [] |