Bug Report: proper() doesn't capitalize the first letter of words preceded by punctuation.

Certified Associate Developer

My teammate found a bug when using proper() to display a label; a word preceded by a non-alphabetic character will not be converted to proper case.

If the 11th floor is home to the HR department.

  • Floor.id = 11
  • Floor.department.name = "human resources"

We would expect:

Floor 11 (Human Resources)

but instead get:

Floor 11 (human Resources)

To reproduce the issue, I used this expression to check capitalization:

proper(
  "I am reporting that ""proper() coNverts each [alphabetic] cHaRacter into ProPeR caSe " & "(unless a non-alphabetic character precedes it)"""
),

Where I would expect:

I Am Reporting That "Proper() Converts Each [Alphabetic] Character Into Proper Case (Unless A Non-alphabetic Character Precedes It)

It's returning:

I Am Reporting That "proper() Converts Each [alphabetic] Character Into Proper Case (unless A Non-alphabetic Character Precedes It)

Is proper() working as designed?

Side note: 22.4 documentation reads, "Converts each character in the text into proper case, meaning it will capitalize the first first letter of every word and convert the rest into lowercase. (https://docs.appian.com/suite/help/22.4/fnc_text_proper.html")

  Discussion posts and replies are publicly visible