// Test symbols. --- symbol --- #emoji.face #emoji.woman.old #emoji.turtle #set text(font: "New Computer Modern Math") #sym.arrow #sym.arrow.l #sym.arrow.r.squiggly #sym.arrow.tr.hook #sym.arrow.r;this and this#sym.arrow.l; --- symbol-constructor --- #let envelope = symbol( "๐Ÿ–‚", ("stamped", "๐Ÿ–ƒ"), ("stamped.pen", "๐Ÿ–†"), ("lightning", "๐Ÿ–„"), ("fly", "๐Ÿ–…"), ) #envelope #envelope.stamped #envelope.pen #envelope.stamped.pen #envelope.lightning #envelope.fly --- symbol-constructor-empty --- // Error: 2-10 expected at least one variant #symbol() --- symbol-constructor-invalid-modifier --- // Error: 2:3-2:24 invalid symbol modifier: " id!" #symbol( ("invalid. id!", "x") ) --- symbol-constructor-duplicate-modifier --- // Error: 2:3-2:31 duplicate modifier within variant: "duplicate" // Hint: 2:3-2:31 modifiers are not ordered, so each one may appear only once #symbol( ("duplicate.duplicate", "x"), ) --- symbol-constructor-duplicate-default-variant --- // Error: 3:3-3:6 duplicate default variant #symbol( "x", "y", ) --- symbol-constructor-duplicate-empty-variant --- // Error: 3:3-3:12 duplicate default variant #symbol( ("", "x"), ("", "y"), ) --- symbol-constructor-default-and-empty-variants --- // Error: 3:3-3:12 duplicate default variant #symbol( "x", ("", "y"), ) --- symbol-constructor-duplicate-variant --- // Error: 3:3-3:29 duplicate variant: "duplicate.variant" #symbol( ("duplicate.variant", "x"), ("duplicate.variant", "y"), ) --- symbol-constructor-duplicate-variant-different-order --- // Error: 3:3-3:29 duplicate variant: "variant.duplicate" // Hint: 3:3-3:29 variants with the same modifiers are identical, regardless of their order #symbol( ("duplicate.variant", "x"), ("variant.duplicate", "y"), ) --- symbol-unknown-modifier --- // Error: 13-20 unknown symbol modifier #emoji.face.garbage --- symbol-repr --- #test( repr(sym.amp), `symbol("&", ("inv", "โ…‹"))`.text, ) #test( repr(sym.amp.inv), `symbol("โ…‹")`.text, ) #test( repr(sym.arrow.double.r), ``` symbol( "โ‡’", ("bar", "โค‡"), ("long", "โŸน"), ("long.bar", "โŸพ"), ("not", "โ‡"), ("l", "โ‡”"), ("l.long", "โŸบ"), ("l.not", "โ‡Ž"), ) ```.text, ) #test(repr(sym.smash), "symbol(\"โจณ\")") #let envelope = symbol( "๐Ÿ–‚", ("stamped", "๐Ÿ–ƒ"), ("stamped.pen", "๐Ÿ–†"), ("lightning", "๐Ÿ–„"), ("fly", "๐Ÿ–…"), ) #test( repr(envelope), ``` symbol( "๐Ÿ–‚", ("stamped", "๐Ÿ–ƒ"), ("stamped.pen", "๐Ÿ–†"), ("lightning", "๐Ÿ–„"), ("fly", "๐Ÿ–…"), ) ```.text, ) #test( repr(envelope.stamped), `symbol("๐Ÿ–ƒ", ("pen", "๐Ÿ–†"))`.text, ) #test( repr(envelope.stamped.pen), `symbol("๐Ÿ–†")`.text, ) #test( repr(envelope.lightning), `symbol("๐Ÿ–„")`.text, ) #test( repr(envelope.fly), `symbol("๐Ÿ–…")`.text, ) --- symbol-sect-deprecated --- // Warning: 5-9 `sect` is deprecated, use `inter` instead $ A sect B = A inter B $ --- issue-5930-symbol-label --- #emoji.face #context test(query().first().text, "๐Ÿ˜€")