* found in the LICENSE file.
*/
-#include "SkBitmap.h"
#include "SkCanvas.h"
#include "SkCubicClipper.h"
#include "SkGeometry.h"
#include "SkSurface.h"
-DEF_TEST(test_fuzz_crbug_698714, reporter) {
- auto surface(SkSurface::MakeRasterN32Premul(500, 500));
- SkCanvas* canvas = surface->getCanvas();
- SkPaint paint;
- paint.setAntiAlias(true);
- SkPath path;
- path.setFillType(SkPath::kWinding_FillType);
- path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
- path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43430143)); //195.263f, 195.005f
- path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43434343)); //195.263f, 195.263f
- path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x434300be)); //-7.2741e-07f, 195.003f
- // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 3.85088e-29f,1.86082e-39f
- path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
- SkBits2Float(0x10434343), SkBits2Float(0x00144332));
- // 4.11823e-38f, 195.263f, 195.263f, 195.263f, -7.2741e-07f, 195.263f
- path.cubicTo(SkBits2Float(0x016037c0), SkBits2Float(0x43434343),
- SkBits2Float(0x43434343), SkBits2Float(0x43434343),
- SkBits2Float(0xb5434343), SkBits2Float(0x43434343));
- // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 195.263f, -2
- path.cubicTo(SkBits2Float(0x43434344), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),
- SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
- // -5.87228e+06f, 3.7773e-07f, 3.60231e-13f, -6.64511e+06f,2.77692e-15f, 2.48803e-15f
- path.cubicTo(SkBits2Float(0xcab33535), SkBits2Float(0x34cacaca),
- SkBits2Float(0x2acacaca), SkBits2Float(0xcacacae3),
- SkBits2Float(0x27481927), SkBits2Float(0x27334805));
- path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x43434343)); //-7.2741e-07f, 195.263f
- // 195.263f, 195.263f, -1.16387e-05f, 195.212f, 195.263f, -2
- path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),
- SkBits2Float(0xb74343b9), SkBits2Float(0x43433643),
- SkBits2Float(0x43434343), SkBits2Float(0xc0000014));
- path.lineTo(SkBits2Float(0xc7004343), SkBits2Float(0x27480527)); //-32835.3f, 2.77584e-15f
- path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0
- path.close();
- canvas->clipRect({0, 0, 65, 202});
- canvas->drawPath(path, paint);
-}
+DEF_TEST(test_fuzz_crbug_698714, reporter) {\r
+ auto surface(SkSurface::MakeRasterN32Premul(500, 500));\r
+ SkCanvas* canvas = surface->getCanvas();\r
+ SkPaint paint;\r
+ paint.setAntiAlias(true);\r
+ SkPath path;\r
+ path.setFillType(SkPath::kWinding_FillType);\r
+ path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0\r
+ path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43430143)); //195.263f, 195.005f\r
+ path.lineTo(SkBits2Float(0x43434343), SkBits2Float(0x43434343)); //195.263f, 195.263f\r
+ path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x434300be)); //-7.2741e-07f, 195.003f\r
+ // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 3.85088e-29f,1.86082e-39f\r
+ path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),\r
+ SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),\r
+ SkBits2Float(0x10434343), SkBits2Float(0x00144332));\r
+ // 4.11823e-38f, 195.263f, 195.263f, 195.263f, -7.2741e-07f, 195.263f\r
+ path.cubicTo(SkBits2Float(0x016037c0), SkBits2Float(0x43434343),\r
+ SkBits2Float(0x43434343), SkBits2Float(0x43434343),\r
+ SkBits2Float(0xb5434343), SkBits2Float(0x43434343));\r
+ // 195.263f, 195.263f, -1.16387e-05f, 3.58641e-38f, 195.263f, -2\r
+ path.cubicTo(SkBits2Float(0x43434344), SkBits2Float(0x43434341),\r
+ SkBits2Float(0xb74343bd), SkBits2Float(0x01434343),\r
+ SkBits2Float(0x43434343), SkBits2Float(0xc0000014));\r
+ // -5.87228e+06f, 3.7773e-07f, 3.60231e-13f, -6.64511e+06f,2.77692e-15f, 2.48803e-15f\r
+ path.cubicTo(SkBits2Float(0xcab33535), SkBits2Float(0x34cacaca),\r
+ SkBits2Float(0x2acacaca), SkBits2Float(0xcacacae3),\r
+ SkBits2Float(0x27481927), SkBits2Float(0x27334805));\r
+ path.lineTo(SkBits2Float(0xb5434343), SkBits2Float(0x43434343)); //-7.2741e-07f, 195.263f\r
+ // 195.263f, 195.263f, -1.16387e-05f, 195.212f, 195.263f, -2\r
+ path.cubicTo(SkBits2Float(0x43434343), SkBits2Float(0x43434341),\r
+ SkBits2Float(0xb74343b9), SkBits2Float(0x43433643),\r
+ SkBits2Float(0x43434343), SkBits2Float(0xc0000014));\r
+ path.lineTo(SkBits2Float(0xc7004343), SkBits2Float(0x27480527)); //-32835.3f, 2.77584e-15f\r
+ path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0,0\r
+ path.close();\r
+ canvas->clipRect({0, 0, 65, 202});\r
+ canvas->drawPath(path, paint);\r
+}\r