How to use _push_scope method in Slash

Best Python code snippet using slash

scope_adapter.py

Source:scope_adapter.py Github

copy

Full Screen

...47 """48 `True` if the adapter has a root scope, `False` otherwise.49 """50 return self._root is not None51 def _push_scope( self, scope: Scope ) -> None:52 """53 Sets the current scope to the given scope, linking the previous scope to it as its the parent.54 """55 if not self.has_root_scope:56 self._root = scope57 elif self.current_scope.is_root:58 self.root_scope._child = scope59 scope.parent = self.current_scope60 self.current_scope = scope61 def _pop_scope( self ) -> Scope:62 """63 Removes the last scope, unlinking it from its parent scope.64 65 Returns:66 The last scope which was removed.67 """68 if self.current_scope is None:69 raise ValueError( "Error popping scope: there is no scope to pop." )70 else:71 result = self.current_scope72 self.current_scope = self.current_scope.parent73 result.parent = None74 return result75 def before_document_start( self ) -> None:76 """77 Callback invoked before processing the start of the document.78 """79 super().before_document_start()80 self._push_scope( RootScope() )81 def after_document_end( self ) -> None:82 """83 Callback invoked after processing the end of the document.84 """85 super().after_document_end()86 self._pop_scope()87 def before_object_start( self ) -> None:88 """89 Callback invoked before processing the start of an object.90 """91 super().before_object_start()92 self._push_scope( ObjectScope() )93 def after_object_end( self ) -> None:94 """95 Callback invoked after processing the end of an object.96 """97 super().after_object_end()98 if self._persistent_data:99 self._values.append( self.current_scope.get_value() )100 self._pop_scope()101 def before_member_start( self ) -> None:102 """103 Callback invoked before processing the start of a member.104 """105 super().before_member_start()106 scope = MemberScope()107 self.current_scope._member_scopes.append( scope )108 self._push_scope( scope )109 def after_member_end( self ) -> None:110 """111 Callback invoked after processing the end of a member.112 """113 super().after_member_end()114 self._pop_scope()115 def before_member_key( self, name: str ) -> None:116 """117 Callback invoked before processing the member key.118 119 Parameters:120 `name`: The member key.121 """122 super().before_member_key( name )123 scope = MemberNameScope( name )124 self.current_scope._name_scope = scope125 self._push_scope( scope )126 def after_member_key( self, name: str ) -> None:127 """128 Callback invoked after processing the member key.129 130 Parameters:131 `name`: The member key.132 """133 super().after_member_key( name )134 self._pop_scope()135 def before_member_value_start( self ) -> None:136 """137 Callback invoked before processing the start of a member value.138 """139 super().before_member_value_start()140 scope = MemberValueScope( is_initial_value = True )141 self.current_scope._value_scope = scope142 self._push_scope( scope )143 def after_member_value_end( self ) -> None:144 """145 Callback invoked after processing the end of a member value.146 """147 super().after_member_value_end()148 if self._persistent_data:149 self.current_scope.set_value( self._values.pop() )150 self._pop_scope()151 def before_list_start( self ) -> None:152 """153 Callback invoked before processing the start of a list.154 """155 super().before_list_start()156 scope = ListScope()157 self.current_scope.value = scope158 self._push_scope( scope )159 self._list_item_scopes_stack.append( [] )160 def after_list_end( self ) -> None:161 """162 Callback invoked after processing the end of a list.163 """164 self.current_scope._item_scopes = self._list_item_scopes_stack.pop()165 super().after_list_end()166 if self._persistent_data:167 self._values.append( self.current_scope.get_value() )168 self._pop_scope()169 def before_list_item_start( self ) -> None:170 """171 Callback invoked before processing the start of a list item.172 """173 super().before_list_item_start()174 scope = ListItemScope( item_index = len( self.current_scope.get_value() ) )175 self.current_scope._item_scopes.append( scope )176 self._push_scope( scope )177 self._list_item_scopes_stack[ -1 ].append( scope )178 def after_list_item_end( self ) -> None:179 """180 Callback invoked after processing the end of a list item.181 """182 super().after_list_item_end()183 self._pop_scope()184 def before_list_item_value_start( self ) -> None:185 """186 Callback invoked before processing the start of a list item value.187 """188 super().before_list_item_value_start()189 scope = ListItemValueScope( is_initial_value = True )190 self.current_scope._item_value_scope = scope191 self._push_scope( scope )192 def after_list_item_value_end( self ) -> None:193 """194 Callback invoked after processing the end of a list item value.195 """196 super().after_list_item_value_end()197 if self._persistent_data:198 self.current_scope.set_value( self._values.pop() )199 self._pop_scope()200 def process_value( self, value: Any ) -> None:201 """202 Callback invoked when processing the value.203 Parameters:204 `value`: the value being processed.205 """206 super().process_value( value )207 if self.current_scope.is_root:208 # A value with a root scope as the parent indicates the JSON string does is a value, not a list or object.209 # Since a ValueScope can't have any children, no popping of the scope will be done.210 self._push_scope( ValueScope( initial_value = value ) )211 elif self._persistent_data:...

Full Screen

Full Screen

auto_import.py

Source:auto_import.py Github

copy

Full Screen

...40 def _use_name(self, name):41 self._scopes[-1].use_name(name)42 def _define_name(self, name):43 self._scopes[-1].define_name(name)44 def _push_scope(self, is_comprehension=False):45 self._scopes.append(_Scope(is_comprehension))46 def _pop_scope(self):47 scope = self._scopes.pop()48 for name in scope.get_names_used_not_defined():49 self._use_name(name)50 def _visit_func_def(self, node):51 self._define_name(node.name)52 for value in node.args.defaults:53 self.visit(value)54 for value in node.args.kw_defaults:55 if value is not None:56 self.visit(value)57 for value in node.decorator_list:58 self.visit(value)59 self._visiting_annotations = True60 self.visit(node.args)61 self._visiting_annotations = False62 if node.returns is not None:63 self.visit(node.returns)64 self._push_scope()65 self._generic_visit_excluding(node, ["decorator_list", "returns"])66 self._pop_scope()67 visit_FunctionDef = _visit_func_def68 visit_AsyncFunctionDef = _visit_func_def69 def visit_ClassDef(self, node):70 self._define_name(node.name)71 for value in node.bases:72 self.visit(value)73 for value in node.keywords:74 self.visit(value)75 self._push_scope()76 self._generic_visit_excluding(node, ["bases", "keywords"])77 self._pop_scope()78 def visit_Lambda(self, node):79 for value in node.args.defaults:80 self.visit(value)81 for value in node.args.kw_defaults:82 self.visit(value)83 self._push_scope()84 self.generic_visit(node)85 self._pop_scope()86 def _visit_comprehension(self, node):87 for gen in node.generators:88 self.visit(gen.iter)89 self._push_scope(True)90 self._generic_visit_excluding(gen, ["iter"])91 self._generic_visit_excluding(node, ["generators"])92 for _ in node.generators:93 self._pop_scope()94 visit_GeneratorExp = _visit_comprehension95 visit_ListComp = _visit_comprehension96 visit_SetComp = _visit_comprehension97 visit_DictComp = _visit_comprehension98 def visit_arguments(self, node):99 self._generic_visit_excluding(node, ["defaults", "kw_defaults"])100 def visit_arg(self, node):101 if self._visiting_annotations:102 if node.annotation is not None:103 self.visit(node.annotation)...

Full Screen

Full Screen

scope_manager.py

Source:scope_manager.py Github

copy

Full Screen

...19 test_module = test.__slash__.module_name20 if not test_module:21 raise SlashInternalError("{!r} has no module name".format(test))22 if self._last_module is None:23 self._push_scope('session')24 if self._last_module != test_module:25 if self._last_module is not None:26 _logger.trace('Module scope has changed. Popping previous module scope')27 self._pop_scope('module')28 assert self.current_scope != 'module'29 self._push_scope('module')30 self._last_module = test_module31 self._push_scope('test')32 self._last_test = test33 def end_test(self, test):34 if test != self._last_test:35 raise SlashInternalError("Expected to pop {}, received {} instead".format(self._last_test, test))36 self._pop_scope('test')37 def get_current_stack(self):38 return self._scopes[:]39 def has_active_scopes(self):40 return bool(self._scopes)41 def _push_scope(self, scope):42 self._scopes.append(scope)43 _logger.trace('Pushed scope {0}', scope)44 self._session.fixture_store.push_scope(scope)45 self._session.cleanups.push_scope(scope)46 def _pop_scope(self, scope):47 popped = self._scopes.pop()48 _logger.trace('Popping scope {0} (expected {1})', popped, scope)49 if popped != scope:50 raise SlashInternalError('Popped scope {}, expected {}'.format(popped, scope))51 call_all_raise_first([self._session.cleanups.pop_scope, self._session.fixture_store.pop_scope],52 scope)53 _logger.trace('Popped scope {0}', popped)54 def flush_remaining_scopes(self):55 _logger.trace('Flushing remaining scopes: {}', self._scopes)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Slash automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful