serde_test.rs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. use flowy_ot::core::*;
  2. #[test]
  3. fn operation_insert_serialize_test() {
  4. let attributes = AttributeBuilder::new().bold(true).italic(true).build();
  5. let operation = OpBuilder::insert("123").attributes(attributes).build();
  6. let json = serde_json::to_string(&operation).unwrap();
  7. eprintln!("{}", json);
  8. let insert_op: Operation = serde_json::from_str(&json).unwrap();
  9. assert_eq!(insert_op, operation);
  10. }
  11. #[test]
  12. fn operation_retain_serialize_test() {
  13. let operation = Operation::Retain(12.into());
  14. let json = serde_json::to_string(&operation).unwrap();
  15. eprintln!("{}", json);
  16. let insert_op: Operation = serde_json::from_str(&json).unwrap();
  17. assert_eq!(insert_op, operation);
  18. }
  19. #[test]
  20. fn operation_delete_serialize_test() {
  21. let operation = Operation::Delete(2);
  22. let json = serde_json::to_string(&operation).unwrap();
  23. let insert_op: Operation = serde_json::from_str(&json).unwrap();
  24. assert_eq!(insert_op, operation);
  25. }
  26. #[test]
  27. fn delta_serialize_test() {
  28. let mut delta = Delta::default();
  29. let attributes = AttributeBuilder::new().bold(true).italic(true).build();
  30. let retain = OpBuilder::insert("123").attributes(attributes).build();
  31. delta.add(retain);
  32. delta.add(Operation::Retain(5.into()));
  33. delta.add(Operation::Delete(3));
  34. let json = serde_json::to_string(&delta).unwrap();
  35. eprintln!("{}", json);
  36. let delta_from_json: Delta = serde_json::from_str(&json).unwrap();
  37. assert_eq!(delta_from_json, delta);
  38. }