def METHOD_NAME(datadir, ufo_module):
    file = "ShapeOrder.glyphs"
    with open(str(datadir.join(file)), encoding="utf-8") as f:
        original_glyphs_font = glyphsLib.load(f)
    designspace = glyphsLib.to_designspace(original_glyphs_font, ufo_module=ufo_module)
    ufo = designspace.sources[0].font
    assert "com.schriftgestaltung.Glyphs.shapeOrder" in ufo["A"].lib
    assert "com.schriftgestaltung.Glyphs.shapeOrder" in ufo["B"].lib
    assert "com.schriftgestaltung.Glyphs.shapeOrder" not in ufo["_comp"].lib
    assert ufo["A"].lib["com.schriftgestaltung.Glyphs.shapeOrder"] == "PC"
    assert ufo["B"].lib["com.schriftgestaltung.Glyphs.shapeOrder"] == "CP"
    # Round trip
    round_trip = glyphsLib.to_glyphs([ufo])
    glyph_a = round_trip.glyphs["A"].layers[0]
    glyph_b = round_trip.glyphs["B"].layers[0]
    assert isinstance(glyph_a.shapes[0], GSPath)
    assert isinstance(glyph_b.shapes[0], GSComponent)