@@ -2923,6 +2923,89 @@ public void drawBevel() throws Exception {
29232923 + " context.stroke();\n " );
29242924 }
29252925
2926+
2927+ /**
2928+ * @throws Exception if the test fails
2929+ */
2930+ @ Test
2931+ @ Alerts ("butt" )
2932+ public void lineCapDefault () throws Exception {
2933+ verify ("<canvas id='myCanvas' width='2' height='2'></canvas>\n " ,
2934+ "log(context.lineCap);" );
2935+ }
2936+
2937+ /**
2938+ * @throws Exception if the test fails
2939+ */
2940+ @ Test
2941+ @ Alerts ({"miter" , "round" , "round" , "butt" , "butt" , "butt" })
2942+ public void lineJoinCapGet () throws Exception {
2943+ verify ("<canvas id='myCanvas' width='2' height='2'></canvas>\n " ,
2944+ "log(context.lineCap);\n "
2945+ + "context.lineCap = 'round'\n "
2946+ + "log(context.lineCap);\n "
2947+ + "context.lineCap = 'SquARE'\n "
2948+ + "log(context.lineCap);\n "
2949+ + "context.lineCap = 'butt'\n "
2950+ + "log(context.lineCap);\n "
2951+ + "context.lineCap = ' square '\n "
2952+ + "log(context.lineCap);\n "
2953+ + "context.lineCap = ' unknow '\n "
2954+ + "log(context.lineCap);\n " );
2955+ }
2956+
2957+ /**
2958+ * @throws Exception if the test fails
2959+ */
2960+ @ Test
2961+ @ Alerts ("data:image/png;base64,"
2962+ + "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAUCAYAAAC07qxWAAAALklEQVR4AdTRsQ0AAAgCQXT/nZUBKGjfSEdzYVUesXi2pYiI"
2963+ + "sSU/ETOmpCCWeQAAAP//NWxm8gAAAAZJREFUAwALrgYppm2j7wAAAABJRU5ErkJggg==" )
2964+ public void drawCapButt () throws Exception {
2965+ draw ("<canvas id='myCanvas' width='10', height='20' style='border: 1px solid red;'></canvas>\n " ,
2966+ " context.lineCap = 'butt';\n "
2967+ + " context.lineWidth = 6;\n "
2968+ + " context.beginPath();\n "
2969+ + " context.moveTo(6, 5);\n "
2970+ + " context.lineTo(6, 15);\n "
2971+ + " context.stroke();\n " );
2972+ }
2973+
2974+ /**
2975+ * @throws Exception if the test fails
2976+ */
2977+ @ Test
2978+ @ Alerts ("data:image/png;base64,"
2979+ + "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAUCAYAAAC07qxWAAAAdklEQVR4AeySwQmAMBRDP951QxfQeXQBN9QFTELpIf8fRK+K"
2980+ + "KWn+I4XSIR5+n8ANh5xN9LAR3sjBgsnYRM8sgTMA/5V5I5scVOagQ33/g/0qKvP6eq6iTZk3HgWozMEV4A6xhaJnll4PmOBg"
2981+ + "gqHoYfN7VFgtNwAAAP//ybmhIAAAAAZJREFUAwD8YQ4p7/bWhAAAAABJRU5ErkJggg==" )
2982+ public void drawCapRound () throws Exception {
2983+ draw ("<canvas id='myCanvas' width='10', height='20' style='border: 1px solid red;'></canvas>\n " ,
2984+ " context.lineCap = 'round';\n "
2985+ + " context.lineWidth = 6;\n "
2986+ + " context.beginPath();\n "
2987+ + " context.moveTo(6, 5);\n "
2988+ + " context.lineTo(6, 15);\n "
2989+ + " context.stroke();\n " );
2990+ }
2991+
2992+ /**
2993+ * @throws Exception if the test fails
2994+ */
2995+ @ Test
2996+ @ Alerts ("data:image/png;base64,"
2997+ + "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAUCAYAAAC07qxWAAAANUlEQVR4AeySMQoAAAgCq///uQwaHcLZyIYIg8OKZ8mHjQdM"
2998+ + "ITvCkLcdOZfbGs+CSAymfx4HAAD//5I7/cIAAAAGSURBVAMA6AgGKb9SbOsAAAAASUVORK5CYII=" )
2999+ public void drawCapSquare () throws Exception {
3000+ draw ("<canvas id='myCanvas' width='10', height='20' style='border: 1px solid red;'></canvas>\n " ,
3001+ " context.lineCap = 'square';\n "
3002+ + " context.lineWidth = 6;\n "
3003+ + " context.beginPath();\n "
3004+ + " context.moveTo(6, 5);\n "
3005+ + " context.lineTo(6, 15);\n "
3006+ + " context.stroke();\n " );
3007+ }
3008+
29263009 private void draw (final String canvasSetup , final String drawJS ) throws Exception {
29273010 final String html = DOCTYPE_HTML
29283011 + "<html><head>\n "
0 commit comments