File indexing completed on 2024-06-16 04:13:39

0001 /*
0002  *  SPDX-FileCopyrightText: 2021 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 #include "TestKoStopGradient.h"
0007 
0008 #include <simpletest.h>
0009 
0010 #include <QDomElement>
0011 
0012 #include "KoColorModelStandardIds.h"
0013 
0014 #include "KoStopGradient.h"
0015 
0016 #include "KoColor.h"
0017 #include "KoColorSpace.h"
0018 #include "KoColorProfile.h"
0019 #include "KoColorSpaceRegistry.h"
0020 #include "DebugPigment.h"
0021 #include "kis_debug.h"
0022 
0023 #include <testpigment.h>
0024 
0025 void TestKoStopGradient::TestSVGStopGradientLoading()
0026 {
0027     QHash <QString, const KoColorProfile *> profileList;
0028     KoStopGradient gradient;
0029 
0030     const KoColorSpace *cmyk = KoColorSpaceRegistry::instance()->colorSpace(CMYKAColorModelID.id(), Integer8BitsColorDepthID.id());
0031     QString cmykName = "sillyCMYKName";
0032     profileList.insert(cmykName, cmyk->profile());
0033 
0034     QList<KoGradientStop> stops;
0035 
0036     stops << KoGradientStop(0.0, KoColor::fromSVG11("#ff00ff icc-color(sillyCMYKName, 1.0, 0, 0, 0)", profileList));
0037     stops << KoGradientStop(0.5, KoColor::fromSVG11("#777777 icc-color(sillyCMYKName, 0, .5, 1, 0)", profileList));
0038     stops << KoGradientStop(0.5, KoColor::fromSVG11("#00ff00 icc-color(sillyCMYKName, 1.0, 0, 1, 0)", profileList));
0039 
0040     gradient.setStops(stops);
0041 
0042     // We need a better way to check if this worked.
0043 
0044     QString svgSerialization = gradient.saveSvgGradient();
0045     QVERIFY2(svgSerialization.contains("icc-color"), QString("icc-color not found in serialization of cmyk gradient.").toLatin1());
0046     QVERIFY2(svgSerialization.contains("color-profile"), QString("color-profile not found in serialization of cmyk gradient.").toLatin1());
0047 
0048 }
0049 
0050 KISTEST_MAIN(TestKoStopGradient)