Support a no-op for headline pre-blank.
This commit is contained in:
		
							parent
							
								
									c1b471208d
								
							
						
					
					
						commit
						dd1f7c7777
					
				| @ -37,9 +37,13 @@ pub struct WasmHeadline { | |||||||
|     pub(crate) deadline: Option<Box<WasmAstNode>>, |     pub(crate) deadline: Option<Box<WasmAstNode>>, | ||||||
|     pub(crate) closed: Option<Box<WasmAstNode>>, |     pub(crate) closed: Option<Box<WasmAstNode>>, | ||||||
|     #[serde(rename = "pre-blank")] |     #[serde(rename = "pre-blank")] | ||||||
|     pub(crate) pre_blank: usize, |     pub(crate) pre_blank: Noop, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #[derive(Debug, Serialize, Deserialize)] | ||||||
|  | #[serde(tag = "noop")] | ||||||
|  | pub struct Noop {} | ||||||
|  | 
 | ||||||
| to_wasm!( | to_wasm!( | ||||||
|     WasmHeadline, |     WasmHeadline, | ||||||
|     Heading<'s>, |     Heading<'s>, | ||||||
| @ -129,7 +133,7 @@ to_wasm!( | |||||||
|                     }) |                     }) | ||||||
|                     .map_or(Ok(None), |r| r.map(Some))? |                     .map_or(Ok(None), |r| r.map(Some))? | ||||||
|                     .map(|child| Box::new(child)), |                     .map(|child| Box::new(child)), | ||||||
|                 pre_blank: 0, // TODO: Should this be a no-op?
 |                 pre_blank: Noop {}, | ||||||
|             }, |             }, | ||||||
|         )) |         )) | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -8,6 +8,7 @@ use crate::compare::ElispFact; | |||||||
| use crate::types::CheckboxType; | use crate::types::CheckboxType; | ||||||
| use crate::types::PlainListItem; | use crate::types::PlainListItem; | ||||||
| use crate::types::PlainListItemCounter; | use crate::types::PlainListItemCounter; | ||||||
|  | use crate::types::PlainListItemPreBlank; | ||||||
| use crate::wasm::to_wasm::ToWasmStandardProperties; | use crate::wasm::to_wasm::ToWasmStandardProperties; | ||||||
| 
 | 
 | ||||||
| #[derive(Debug, Serialize, Deserialize)] | #[derive(Debug, Serialize, Deserialize)] | ||||||
| @ -17,7 +18,7 @@ pub struct WasmPlainListItem { | |||||||
|     pub(crate) counter: Option<PlainListItemCounter>, |     pub(crate) counter: Option<PlainListItemCounter>, | ||||||
|     pub(crate) checkbox: Option<String>, |     pub(crate) checkbox: Option<String>, | ||||||
|     #[serde(rename = "pre-blank")] |     #[serde(rename = "pre-blank")] | ||||||
|     pub(crate) pre_blank: usize, |     pub(crate) pre_blank: PlainListItemPreBlank, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| to_wasm!( | to_wasm!( | ||||||
| @ -52,7 +53,7 @@ to_wasm!( | |||||||
|                     } |                     } | ||||||
|                     .to_owned() |                     .to_owned() | ||||||
|                 }), |                 }), | ||||||
|                 pre_blank: 0, // TODO: Should this be a no-op?
 |                 pre_blank: original.pre_blank, | ||||||
|             }, |             }, | ||||||
|         )) |         )) | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -77,12 +77,27 @@ fn compare_json_value<'b, 's>( | |||||||
|         (serde_json::Value::Number(w), Token::Atom(e)) if w.to_string().as_str() == (*e) => { |         (serde_json::Value::Number(w), Token::Atom(e)) if w.to_string().as_str() == (*e) => { | ||||||
|             Ok(WasmDiffResult::default()) |             Ok(WasmDiffResult::default()) | ||||||
|         } |         } | ||||||
|  |         (serde_json::Value::Number(w), Token::Atom(e)) => { | ||||||
|  |             let mut result = WasmDiffResult::default(); | ||||||
|  |             result.status.push(WasmDiffStatus::Bad( | ||||||
|  |                 format!( | ||||||
|  |                     "Value mismatch. Emacs=({emacs:?}) Wasm=({wasm:?}).", | ||||||
|  |                     emacs = e, | ||||||
|  |                     wasm = w, | ||||||
|  |                 ) | ||||||
|  |                 .into(), | ||||||
|  |             )); | ||||||
|  |             Ok(result) | ||||||
|  |         } | ||||||
|         (serde_json::Value::Array(w), Token::Atom("nil")) if w.is_empty() => { |         (serde_json::Value::Array(w), Token::Atom("nil")) if w.is_empty() => { | ||||||
|             Ok(WasmDiffResult::default()) |             Ok(WasmDiffResult::default()) | ||||||
|         } |         } | ||||||
|         (serde_json::Value::String(w), Token::Atom(e)) if w.as_str() == *e => { |         (serde_json::Value::String(w), Token::Atom(e)) if w.as_str() == *e => { | ||||||
|             Ok(WasmDiffResult::default()) |             Ok(WasmDiffResult::default()) | ||||||
|         } |         } | ||||||
|  |         (serde_json::Value::Object(w), Token::Atom(_)) if w.contains_key("noop") => { | ||||||
|  |             Ok(WasmDiffResult::default()) | ||||||
|  |         } | ||||||
|         (serde_json::Value::Null, Token::Atom(_)) => todo!(), |         (serde_json::Value::Null, Token::Atom(_)) => todo!(), | ||||||
|         (serde_json::Value::Null, Token::List(_)) => todo!(), |         (serde_json::Value::Null, Token::List(_)) => todo!(), | ||||||
|         (serde_json::Value::Null, Token::TextWithProperties(_)) => todo!(), |         (serde_json::Value::Null, Token::TextWithProperties(_)) => todo!(), | ||||||
| @ -91,7 +106,7 @@ fn compare_json_value<'b, 's>( | |||||||
|         (serde_json::Value::Bool(_), Token::List(_)) => todo!(), |         (serde_json::Value::Bool(_), Token::List(_)) => todo!(), | ||||||
|         (serde_json::Value::Bool(_), Token::TextWithProperties(_)) => todo!(), |         (serde_json::Value::Bool(_), Token::TextWithProperties(_)) => todo!(), | ||||||
|         (serde_json::Value::Bool(_), Token::Vector(_)) => todo!(), |         (serde_json::Value::Bool(_), Token::Vector(_)) => todo!(), | ||||||
|         (serde_json::Value::Number(_), Token::Atom(_)) => todo!(), |         // (serde_json::Value::Number(_), Token::Atom(_)) => todo!(),
 | ||||||
|         (serde_json::Value::Number(_), Token::List(_)) => todo!(), |         (serde_json::Value::Number(_), Token::List(_)) => todo!(), | ||||||
|         (serde_json::Value::Number(_), Token::TextWithProperties(_)) => todo!(), |         (serde_json::Value::Number(_), Token::TextWithProperties(_)) => todo!(), | ||||||
|         (serde_json::Value::Number(_), Token::Vector(_)) => todo!(), |         (serde_json::Value::Number(_), Token::Vector(_)) => todo!(), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Tom Alexander
						Tom Alexander