From 9202297d1bdd649e9ea165ca6a1d2e51e08edb7e Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Thu, 20 Aug 2026 00:26:32 +0300 Subject: [PATCH] fix(plugin): trace MText registry enums --- crates/ocs_plugin_api/build.rs | 17 +++++++++++++ crates/ocs_plugin_api/src/type_registry.rs | 29 +++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/crates/ocs_plugin_api/build.rs b/crates/ocs_plugin_api/build.rs index 059e9744..480f2435 100644 --- a/crates/ocs_plugin_api/build.rs +++ b/crates/ocs_plugin_api/build.rs @@ -97,6 +97,23 @@ fn add_enum_samples(tracer: &mut Tracer, samples: &mut Samples) { let _ = tracer.trace_value(samples, &acadrust::entities::SmoothSurfaceType::CubicBSpline); let _ = tracer.trace_value(samples, &acadrust::entities::SmoothSurfaceType::Bezier); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::TopLeft); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::TopCenter); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::TopRight); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::MiddleLeft); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::MiddleCenter); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::MiddleRight); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::BottomLeft); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::BottomCenter); + let _ = tracer.trace_value(samples, &acadrust::entities::AttachmentPoint::BottomRight); + + let _ = tracer.trace_value(samples, &acadrust::entities::DrawingDirection::LeftToRight); + let _ = tracer.trace_value(samples, &acadrust::entities::DrawingDirection::TopToBottom); + let _ = tracer.trace_value(samples, &acadrust::entities::DrawingDirection::ByStyle); + + let _ = tracer.trace_value(samples, &acadrust::entities::LineSpacingStyle::AtLeast); + let _ = tracer.trace_value(samples, &acadrust::entities::LineSpacingStyle::Exactly); + let _ = tracer.trace_value(samples, &acadrust::xdata::XDataValue::String(String::new())); let _ = tracer.trace_value(samples, &acadrust::xdata::XDataValue::ControlString(String::new())); let _ = tracer.trace_value(samples, &acadrust::xdata::XDataValue::LayerName(String::new())); diff --git a/crates/ocs_plugin_api/src/type_registry.rs b/crates/ocs_plugin_api/src/type_registry.rs index 9f42487b..a563d715 100644 --- a/crates/ocs_plugin_api/src/type_registry.rs +++ b/crates/ocs_plugin_api/src/type_registry.rs @@ -33,7 +33,7 @@ mod tests { let registry: TypeRegistry = serde_json::from_str(get_embedded_type_registry_json()).expect("valid TypeRegistry JSON"); - for name in ["Point", "Line", "Circle", "EntityCommon"] { + for name in ["Point", "Line", "Circle", "MText", "EntityCommon"] { assert!( registry.types.contains_key(&TypeId::new(name)), "registry should contain {}", @@ -42,6 +42,33 @@ mod tests { } } + #[test] + fn embedded_type_registry_mtext_is_struct_with_expected_fields() { + let registry: TypeRegistry = + serde_json::from_str(get_embedded_type_registry_json()).expect("valid TypeRegistry JSON"); + + let mtext = registry + .types + .get(&TypeId::new("MText")) + .expect("MText in registry"); + assert_eq!(mtext.kind, TypeKind::Struct); + + let field_names: Vec<&str> = mtext.fields.iter().map(|f| f.name.as_str()).collect(); + for expected in [ + "common", + "value", + "insertion_point", + "height", + "attachment_point", + ] { + assert!( + field_names.contains(&expected), + "MText should have field {}", + expected + ); + } + } + #[test] fn embedded_type_registry_point_is_struct_with_expected_fields() { let registry: TypeRegistry =