build and apply prettier

This commit is contained in:
Anton Lavrenov
2017-07-28 18:40:07 +02:00
parent f520cf34c3
commit 7b6d97aaa5
40 changed files with 1705 additions and 1827 deletions

View File

@@ -64,7 +64,8 @@ suite('Label', function() {
test('create label from json', function() {
var stage = addStage();
var json = '{"attrs":{"x":100,"y":100,"draggable":true},"className":"Label","children":[{"attrs":{"fill":"#bbb","stroke":"#333","shadowColor":"black","shadowBlur":10,"shadowOffsetX":10,"shadowOffsetY":10,"shadowOpacity":0.2,"lineJoin":"round","pointerDirection":"up","pointerWidth":20,"pointerHeight":20,"cornerRadius":5,"x":-151.5,"y":20,"width":303,"height":60},"className":"Tag"},{"attrs":{"text":"Hello big world","fontSize":50,"lineHeight":1.2,"fill":"green","width":"auto","height":"auto","x":-151.5,"y":20},"className":"Text"}]}';
var json =
'{"attrs":{"x":100,"y":100,"draggable":true},"className":"Label","children":[{"attrs":{"fill":"#bbb","stroke":"#333","shadowColor":"black","shadowBlur":10,"shadowOffsetX":10,"shadowOffsetY":10,"shadowOpacity":0.2,"lineJoin":"round","pointerDirection":"up","pointerWidth":20,"pointerHeight":20,"cornerRadius":5,"x":-151.5,"y":20,"width":303,"height":60},"className":"Tag"},{"attrs":{"text":"Hello big world","fontSize":50,"lineHeight":1.2,"fill":"green","width":"auto","height":"auto","x":-151.5,"y":20},"className":"Text"}]}';
var layer = new Konva.Layer();
var label = Konva.Node.create(json);

View File

@@ -82,53 +82,47 @@ suite('Path', function() {
});
//=======================================================
test(
'complex path made of many different closed and open paths (Sopwith Camel)',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('complex path made of many different closed and open paths (Sopwith Camel)', function() {
var stage = addStage();
var layer = new Konva.Layer();
var path = new Konva.Path({
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
stroke: '#000',
strokeWidth: 1,
lineCap: 'round',
lineJoin: 'round'
});
var path = new Konva.Path({
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
stroke: '#000',
strokeWidth: 1,
lineCap: 'round',
lineJoin: 'round'
});
layer.add(path);
layer.add(path);
stage.add(layer);
}
);
stage.add(layer);
});
//=======================================================
test(
'complex path made of many different closed and open paths (Sopwith Camel) cached',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('complex path made of many different closed and open paths (Sopwith Camel) cached', function() {
var stage = addStage();
var layer = new Konva.Layer();
var path = new Konva.Path({
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
stroke: '#000',
strokeWidth: 1,
lineCap: 'round',
lineJoin: 'round',
draggable: true
});
var path = new Konva.Path({
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
stroke: '#000',
strokeWidth: 1,
lineCap: 'round',
lineJoin: 'round',
draggable: true
});
layer.add(path);
layer.add(path);
stage.add(layer);
stage.add(layer);
path.cache();
layer.draw();
// layer.draw();
cloneAndCompareLayer(layer, 230);
showHit(layer);
}
);
path.cache();
layer.draw();
// layer.draw();
cloneAndCompareLayer(layer, 230);
showHit(layer);
});
// ======================================================
test('moveTo with implied lineTos and trailing comma', function() {
@@ -227,7 +221,8 @@ suite('Path', function() {
var stage = addStage();
var layer = new Konva.Layer();
var c = 'M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359l-2.365,1.694c-4.657-7.375-2.83-17.185,4.352-22.33c7.451-5.338,17.817-3.625,23.156,3.824c5.337,7.449,3.625,17.813-3.821,23.152l2.857,3.988c9.617-6.893,11.827-20.277,4.935-29.896C35.591,4.87,22.204,2.658,12.582,9.551z';
var c =
'M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359l-2.365,1.694c-4.657-7.375-2.83-17.185,4.352-22.33c7.451-5.338,17.817-3.625,23.156,3.824c5.337,7.449,3.625,17.813-3.821,23.152l2.857,3.988c9.617-6.893,11.827-20.277,4.935-29.896C35.591,4.87,22.204,2.658,12.582,9.551z';
var path = new Konva.Path({
data: c,
@@ -408,7 +403,8 @@ suite('Path', function() {
var stage = addStage();
var layer = new Konva.Layer();
var c = 'M100,350 l 50,-25 a25,25 -30 0,1 50,-25 l 50,-25 a25,50 -30 0,1 50,-25 l 50,-25 a25,75 -30 0,1 50,-25 l 50,-25 a25,100 -30 0,1 50,-25 l 50,-25';
var c =
'M100,350 l 50,-25 a25,25 -30 0,1 50,-25 l 50,-25 a25,50 -30 0,1 50,-25 l 50,-25 a25,75 -30 0,1 50,-25 l 50,-25 a25,100 -30 0,1 50,-25 l 50,-25';
var path = new Konva.Path({
data: c,
@@ -473,49 +469,46 @@ suite('Path', function() {
});
// ======================================================
test(
'Able to determine point on line some distance from another point on line',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('Able to determine point on line some distance from another point on line', function() {
var stage = addStage();
var layer = new Konva.Layer();
var c = 'M10,10 210,160';
// i.e., from a 3-4-5 triangle
var c = 'M10,10 210,160';
// i.e., from a 3-4-5 triangle
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
path.setData(c);
layer.add(path);
path.setData(c);
layer.add(path);
layer.add(
new Konva.Circle({
x: 10,
y: 10,
radius: 10,
fill: 'black'
})
);
layer.add(
new Konva.Circle({
x: 10,
y: 10,
radius: 10,
fill: 'black'
})
);
var p1 = Konva.Path.getPointOnLine(125, 10, 10, 210, 160);
// should be 1/2 way, or (110,85)
assert.equal(Math.round(p1.x), 110);
assert.equal(Math.round(p1.y), 85);
var p1 = Konva.Path.getPointOnLine(125, 10, 10, 210, 160);
// should be 1/2 way, or (110,85)
assert.equal(Math.round(p1.x), 110);
assert.equal(Math.round(p1.y), 85);
layer.add(
new Konva.Circle({
x: p1.x,
y: p1.y,
radius: 10,
fill: 'blue'
})
);
layer.add(
new Konva.Circle({
x: p1.x,
y: p1.y,
radius: 10,
fill: 'blue'
})
);
stage.add(layer);
}
);
stage.add(layer);
});
// ======================================================
test('Able to determine points on Cubic Bezier Curve', function() {
@@ -628,196 +621,192 @@ suite('Path', function() {
});
// ======================================================
test(
'Able to determine points on Elliptical Arc with clockwise stroke',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('Able to determine points on Elliptical Arc with clockwise stroke', function() {
var stage = addStage();
var layer = new Konva.Layer();
var c = 'M 50,100 A 100 50 0 1 1 150 150';
var c = 'M 50,100 A 100 50 0 1 1 150 150';
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
path.setData(c);
path.setData(c);
layer.add(path);
layer.add(path);
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
50,
100,
150,
150,
1,
1,
100,
50,
0
);
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
50,
100,
150,
150,
1,
1,
100,
50,
0
);
var start = centerParamPoints[4];
// 4 = theta
var dTheta = centerParamPoints[5];
// 5 = dTheta
var end = centerParamPoints[4] + dTheta;
var inc = Math.PI / 6.0;
// 30 degree resolution
var start = centerParamPoints[4];
// 4 = theta
var dTheta = centerParamPoints[5];
// 5 = dTheta
var end = centerParamPoints[4] + dTheta;
var inc = Math.PI / 6.0;
// 30 degree resolution
var p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
start,
0
);
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
var p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
start,
0
);
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
if (
dTheta < 0 // clockwise
) {
for (t = start - inc; t > end; t -= inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
} else { // counter-clockwise
for (t = start + inc; t < end; t += inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
if (
dTheta < 0 // clockwise
) {
for (t = start - inc; t > end; t -= inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
} else {
// counter-clockwise
for (t = start + inc; t < end; t += inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
end,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
var testpath = new Konva.Path({
stroke: 'black',
strokeWidth: 2,
data: c
});
layer.add(testpath);
stage.add(layer);
}
);
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
end,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
var testpath = new Konva.Path({
stroke: 'black',
strokeWidth: 2,
data: c
});
layer.add(testpath);
stage.add(layer);
});
// ======================================================
test(
'Able to determine points on Elliptical Arc with counter-clockwise stroke',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('Able to determine points on Elliptical Arc with counter-clockwise stroke', function() {
var stage = addStage();
var layer = new Konva.Layer();
var c = 'M 250,100 A 100 50 0 1 0 150 150';
var c = 'M 250,100 A 100 50 0 1 0 150 150';
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
var path = new Konva.Path({
stroke: 'red',
strokeWidth: 3
});
path.setData(c);
path.setData(c);
layer.add(path);
layer.add(path);
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
250,
100,
150,
150,
1,
0,
100,
50,
0
);
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
250,
100,
150,
150,
1,
0,
100,
50,
0
);
var start = centerParamPoints[4];
// 4 = theta
var dTheta = centerParamPoints[5];
// 5 = dTheta
var end = centerParamPoints[4] + dTheta;
var inc = Math.PI / 6.0;
// 30 degree resolution
var start = centerParamPoints[4];
// 4 = theta
var dTheta = centerParamPoints[5];
// 5 = dTheta
var end = centerParamPoints[4] + dTheta;
var inc = Math.PI / 6.0;
// 30 degree resolution
var p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
start,
0
);
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
var p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
start,
0
);
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
if (
dTheta < 0 // clockwise
) {
for (t = start - inc; t > end; t -= inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
} else { // counter-clockwise
for (t = start + inc; t < end; t += inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
if (
dTheta < 0 // clockwise
) {
for (t = start - inc; t > end; t -= inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
} else {
// counter-clockwise
for (t = start + inc; t < end; t += inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
t,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
end,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
var testpath = new Konva.Path({
stroke: 'black',
strokeWidth: 2,
data: c
});
layer.add(testpath);
stage.add(layer);
}
);
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],
centerParamPoints[1],
centerParamPoints[2],
centerParamPoints[3],
end,
0
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
var testpath = new Konva.Path({
stroke: 'black',
strokeWidth: 2,
data: c
});
layer.add(testpath);
stage.add(layer);
});
// ======================================================
test('Able to determine points on Elliptical Arc when rotated', function() {
@@ -881,7 +870,8 @@ suite('Path', function() {
);
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
}
} else { // counter-clockwise
} else {
// counter-clockwise
for (t = start + inc; t < end; t += inc) {
p1 = Konva.Path.getPointOnEllipticalArc(
centerParamPoints[0],

View File

@@ -88,23 +88,17 @@ suite('Sprite', function() {
sprite.start();
// kick once
setTimeout(
function() {
sprite.setAnimation('kicking');
sprite.on('indexChange', function(evt) {
if (evt.newVal === 0 && this.getAnimation() === 'kicking') {
sprite.setAnimation('standing');
}
});
},
2000
);
setTimeout(
function() {
sprite.stop();
},
3000
);
setTimeout(function() {
sprite.setAnimation('kicking');
sprite.on('indexChange', function(evt) {
if (evt.newVal === 0 && this.getAnimation() === 'kicking') {
sprite.setAnimation('standing');
}
});
}, 2000);
setTimeout(function() {
sprite.stop();
}, 3000);
done();
};
@@ -170,14 +164,11 @@ suite('Sprite', function() {
};
sprite.start();
setTimeout(
function() {
sprite.stop();
assert.equal(updateCount < 7, true);
done();
},
1000
);
setTimeout(function() {
sprite.stop();
assert.equal(updateCount < 7, true);
done();
}, 1000);
};
imageObj.src = 'assets/scorpion-sprite.png';
});
@@ -273,16 +264,13 @@ suite('Sprite', function() {
sprite.start();
sprite2.start();
setTimeout(
function() {
sprite.stop();
sprite2.stop();
assert.equal(updateCount > 15, true);
assert.equal(updateCount < 27, true);
done();
},
1000
);
setTimeout(function() {
sprite.stop();
sprite2.stop();
assert.equal(updateCount > 15, true);
assert.equal(updateCount < 27, true);
done();
}, 1000);
};
imageObj.src = 'assets/scorpion-sprite.png';
});
@@ -395,29 +383,23 @@ suite('Sprite', function() {
layer.add(sprite);
stage.add(layer);
assert.equal(sprite.frameRate(), 50);
setTimeout(
function() {
sprite.frameRate(100);
assert.equal(sprite.frameRate(), 100);
// don't run animation after change frame rate
assert.equal(sprite.anim.isRunning(), false);
setTimeout(function() {
sprite.frameRate(100);
assert.equal(sprite.frameRate(), 100);
// don't run animation after change frame rate
assert.equal(sprite.anim.isRunning(), false);
sprite.start();
},
23
);
sprite.start();
}, 23);
setTimeout(
function() {
sprite.frameRate(52);
assert.equal(sprite.anim.isRunning(), true);
// for this moment should tick more than 2 times
// make sure that sprite is not restating after set frame rate
assert.equal(sprite.frameIndex() > 2, true);
done();
},
68
);
setTimeout(function() {
sprite.frameRate(52);
assert.equal(sprite.anim.isRunning(), true);
// for this moment should tick more than 2 times
// make sure that sprite is not restating after set frame rate
assert.equal(sprite.frameIndex() > 2, true);
done();
}, 68);
};
imageObj.src = 'assets/scorpion-sprite.png';
});

View File

@@ -14,21 +14,18 @@ suite('Text', function() {
});
// ======================================================
test(
'text with undefined text property should not throw an error',
function() {
var stage = addStage();
var layer = new Konva.Layer();
test('text with undefined text property should not throw an error', function() {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
var text = new Konva.Text({ text: undefined });
stage.add(layer);
var text = new Konva.Text({ text: undefined });
layer.add(text);
layer.draw();
layer.add(text);
layer.draw();
assert.equal(text.getWidth(), 0);
}
);
assert.equal(text.getWidth(), 0);
});
test('add text with shadows', function() {
var stage = addStage();
@@ -414,7 +411,8 @@ suite('Text', function() {
stage.add(layer);
var trace = 'fillStyle;fillText();translate();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();restore();translate();save();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();restore();translate();restore();restore();';
var trace =
'fillStyle;fillText();translate();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();restore();translate();save();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();fillStyle;fillText();translate();restore();translate();restore();restore();';
assert.equal(layer.getContext().getTrace(true), trace);
});
@@ -473,7 +471,8 @@ suite('Text', function() {
layer.add(text);
stage.add(layer);
var trace = 'clearRect(0,0,578,200);save();transform(1,0,0,1,10,10);font=normal normal 15px Arial;textBaseline=middle;textAlign=left;save();translate(0,7.5);save();save();beginPath();moveTo(0,8);lineTo(52,8);stroke();restore();fillStyle=red;fillText(h,0,0);translate(13,0);fillStyle=red;fillText(e,0,0);translate(13,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(o,0,0);translate(13,0);restore();translate(0,15);save();save();beginPath();moveTo(0,8);lineTo(56,8);stroke();restore();fillStyle=red;fillText(w,0,0);translate(16,0);fillStyle=red;fillText(o,0,0);translate(13,0);fillStyle=red;fillText(r,0,0);translate(10,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(d,0,0);translate(13,0);restore();translate(0,15);restore();restore();';
var trace =
'clearRect(0,0,578,200);save();transform(1,0,0,1,10,10);font=normal normal 15px Arial;textBaseline=middle;textAlign=left;save();translate(0,7.5);save();save();beginPath();moveTo(0,8);lineTo(52,8);stroke();restore();fillStyle=red;fillText(h,0,0);translate(13,0);fillStyle=red;fillText(e,0,0);translate(13,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(o,0,0);translate(13,0);restore();translate(0,15);save();save();beginPath();moveTo(0,8);lineTo(56,8);stroke();restore();fillStyle=red;fillText(w,0,0);translate(16,0);fillStyle=red;fillText(o,0,0);translate(13,0);fillStyle=red;fillText(r,0,0);translate(10,0);fillStyle=red;fillText(l,0,0);translate(8,0);fillStyle=red;fillText(d,0,0);translate(13,0);restore();translate(0,15);restore();restore();';
assert.equal(layer.getContext().getTrace(), trace);
});
@@ -495,7 +494,8 @@ suite('Text', function() {
stage.add(layer);
// TODO
var trace = 'clearRect();save();transform();font;textBaseline;textAlign;save();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();restore();restore();';
var trace =
'clearRect();save();transform();font;textBaseline;textAlign;save();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();restore();restore();';
console.log(layer.getContext().getTrace(true));
assert.equal(layer.getContext().getTrace(true), trace);
});
@@ -516,7 +516,8 @@ suite('Text', function() {
layer.add(text);
stage.add(layer);
var trace = 'clearRect();save();transform();font;textBaseline;textAlign;save();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();restore();restore();';
var trace =
'clearRect();save();transform();font;textBaseline;textAlign;save();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();save();save();beginPath();moveTo();lineTo();stroke();restore();save();beginPath();moveTo();lineTo();stroke();restore();fillStyle;fillText();restore();translate();restore();restore();';
assert.equal(layer.getContext().getTrace(true), trace);
});

File diff suppressed because one or more lines are too long