Class SymbolFontPuaTest

java.lang.Object
ubic.gemma.core.util.SymbolFontPuaTest

public class SymbolFontPuaTest extends Object
The three corpus strings uib read out of production, plus the cases where doing nothing is the correct behaviour.

🛑 The inputs are written as \\uF0xx escapes on purpose. A private-use codepoint pasted in literally is invisible in a diff, survives a careless editor badly, and reads as an ordinary space to a reviewer — which is the entire defect this class exists for.

See Also:
  • Constructor Details

    • SymbolFontPuaTest

      public SymbolFontPuaTest()
  • Method Details

    • repairsTheCorpusCases

      @Test @DisplayName("the three strings read out of the real corpus repair to what they were meant to say") public void repairsTheCorpusCases()
    • leavesCleanTextAlone

      @Test @DisplayName("clean text comes back as the SAME instance, since almost every line is clean") public void leavesCleanTextAlone()
    • doesNotTouchRealGreek

      @Test @DisplayName("real Greek is left alone \u2014 only the private-use block is touched") public void doesNotTouchRealGreek()
    • reportsRatherThanGuesses

      @Test @DisplayName("a private-use codepoint with no standard equivalent is REPORTED, never guessed") public void reportsRatherThanGuesses()
    • ignoresTheReplacementCharacter

      @Test @DisplayName("U+FFFD is out of scope: the original byte is already gone") public void ignoresTheReplacementCharacter()
    • agreesWithTheIndependentlyResolvedPositions

      @Test @DisplayName("every position uib resolved from the Adobe AFM agrees with the font-derived table") public void agreesWithTheIndependentlyResolvedPositions()
    • neverReplacesOnePrivateUseCharacterWithAnother

      @Test @DisplayName("no replacement is itself a private-use codepoint \u2014 that would swap one box for another") public void neverReplacesOnePrivateUseCharacterWithAnother()
    • prefersTheAuthoritativeAdobeMapping

      @Test @DisplayName("the four positions the Adobe table corrected in the font-derived one") public void prefersTheAuthoritativeAdobeMapping()
    • resolvesTheExtenderTheFontKnowsAbout

      @Test @DisplayName("U+F0BE, which uib declined to resolve, maps to the line-extension the font names") public void resolvesTheExtenderTheFontKnowsAbout()