add MakeS32 helper to SkImageInfo, fix named-gamma constructor bug

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2035813003

Review-Url: https://codereview.chromium.org/2035813003
diff --git a/tests/ColorSpaceTest.cpp b/tests/ColorSpaceTest.cpp
index b26cec2..6dd4789 100644
--- a/tests/ColorSpaceTest.cpp
+++ b/tests/ColorSpaceTest.cpp
@@ -138,3 +138,26 @@
     REPORTER_ASSERT(r, monitorSpace->xyz() == newMonitorSpace->xyz());
     REPORTER_ASSERT(r, as_CSB(monitorSpace)->gammas() == as_CSB(newMonitorSpace)->gammas());
 }
+
+DEF_TEST(ColorSpace_Named, r) {
+    const struct {
+        SkColorSpace::Named fNamed;
+        bool fExpectedToSucceed;
+    } recs[] {
+        { SkColorSpace::kUnknown_Named,  false },
+        { SkColorSpace::kSRGB_Named,     true  },
+        { SkColorSpace::kAdobeRGB_Named, true  },
+    };
+
+    for (auto rec : recs) {
+        auto cs = SkColorSpace::NewNamed(rec.fNamed);
+        REPORTER_ASSERT(r, !cs == !rec.fExpectedToSucceed);
+        if (cs) {
+            REPORTER_ASSERT(r, SkColorSpace::k2Dot2Curve_GammaNamed == cs->gammaNamed());
+        }
+    }
+
+    SkImageInfo info = SkImageInfo::MakeS32(10, 10, kPremul_SkAlphaType);
+    REPORTER_ASSERT(r, kSRGB_SkColorProfileType == info.profileType());
+    REPORTER_ASSERT(r, SkColorSpace::k2Dot2Curve_GammaNamed == info.colorSpace()->gammaNamed());
+}