diff options
| -rw-r--r-- | src/model/content.rs | 2 | ||||
| -rw-r--r-- | tests/typ/compiler/label.typ | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/model/content.rs b/src/model/content.rs index 71a5cb84..8b60ab44 100644 --- a/src/model/content.rs +++ b/src/model/content.rs @@ -177,7 +177,7 @@ impl Content { pub fn field(&self, name: &str) -> Option<Value> { if let (Some(iter), "children") = (self.to_sequence(), name) { Some(Value::Array(iter.cloned().map(Value::Content).collect())) - } else if let (Some((child, _)), "child") = (self.to_styled(), "child") { + } else if let (Some((child, _)), "child") = (self.to_styled(), name) { Some(Value::Content(child.clone())) } else { self.field_ref(name).cloned() diff --git a/tests/typ/compiler/label.typ b/tests/typ/compiler/label.typ index 58b0dee9..407a849d 100644 --- a/tests/typ/compiler/label.typ +++ b/tests/typ/compiler/label.typ @@ -56,3 +56,10 @@ _Visible_ --- // Test that incomplete label is text. 1 < 2 is #if 1 < 2 [not] a label. + +--- +// Test label on text, styled, and sequence. +// Ref: false +#test([Hello<hi>].label, <hi>) +#test([#[A *B* C]<hi>].label, <hi>) +#test([#text(red)[Hello]<hi>].label, <hi>) |
