fix(core): fix bug that skipped propagate_case check
This commit is contained in:
		
							parent
							
								
									46b9382fef
								
							
						
					
					
						commit
						2eef404d6c
					
				| 
						 | 
				
			
			@ -202,10 +202,13 @@ impl<'a> Renderer<'a> for RendererAdapter<'a> {
 | 
			
		|||
        .or_insert_with(|| generate_context(&match_set, &self.template_map, &self.global_vars_map));
 | 
			
		||||
      
 | 
			
		||||
      let raw_match = self.match_provider.get(match_id);
 | 
			
		||||
      let propagate_case = raw_match.map(is_propagate_case).unwrap_or(false);
 | 
			
		||||
      let preferred_uppercasing_style = raw_match.and_then(extract_uppercasing_style);
 | 
			
		||||
 | 
			
		||||
      let options = RenderOptions {
 | 
			
		||||
        casing_style: if let Some(trigger) = trigger {
 | 
			
		||||
        casing_style: if !propagate_case {
 | 
			
		||||
          CasingStyle::None
 | 
			
		||||
        } else if let Some(trigger) = trigger {
 | 
			
		||||
          calculate_casing_style(trigger, preferred_uppercasing_style)
 | 
			
		||||
        } else {
 | 
			
		||||
          CasingStyle::None
 | 
			
		||||
| 
						 | 
				
			
			@ -254,6 +257,14 @@ fn extract_uppercasing_style(m: &Match) -> Option<UpperCasingStyle> {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn is_propagate_case(m: &Match) -> bool {
 | 
			
		||||
  if let MatchCause::Trigger(cause) = &m.cause {
 | 
			
		||||
    cause.propagate_case
 | 
			
		||||
  } else {
 | 
			
		||||
    false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: test
 | 
			
		||||
fn calculate_casing_style(
 | 
			
		||||
  trigger: &str,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user