Xcos setup: fix an IndexOutOfBoundsException after 22ee913d
[scilab.git] / scilab / modules / graphics / tests / unit_tests / captions.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Serge Steer 
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 // <-- TEST WITH GRAPHIC -->
9
10 clf();a=gca();a.axes_visible='on';
11 xpoly([0 1],[1 1]/2);
12 e1=gce();
13 c=captions(e1,'test');
14 if or(c.text <> 'test') then pause,end
15 if or(c.links <> e1) then pause,end
16 c2=captions(e1,'XXXX');
17 if or(c2.text <> 'XXXX') then pause,end
18
19 if size(a.children,'*') <>2 then pause,end
20 e1.foreground=5;e1.thickness=3;
21 xpoly([0 1],0.2+[1 1]/2);
22 e2=gce();e2.mark_mode='on';e2.line_mode='off';e2.mark_style=3;
23 c=captions([e2,e1],['XXXX';'YYY']);
24
25
26 if or(c.text <> ["XXXX";"YYY"]) then pause,end
27 if or(c.links <> [e2,e1]) then pause,end
28
29 c=captions([],[]);
30 if c<>[]  then pause,end
31
32 if execstr("captions([e1],[''XXXX'';''YYY''])",'errcatch')==0 then pause,end
33 if execstr("captions([e1,e2],[''XXXX''])",'errcatch')==0 then pause,end
34
35 if execstr("captions(e1,[])",'errcatch')==0 then pause,end
36
37 //following tests should be visual
38 clf();a=gca();a.axes_visible='on';a.box='on';a.margins(4)=0.35;
39 E=[];
40 for y= 0:0.1:1
41   xpoly([0 1],[1 1]*y);
42   e=gce();e.foreground=10*y;
43   E=[e E];
44 end
45 c=captions(E,string( 0:0.1:1));
46 xpause(2d6)
47
48
49 clf();a=gca();a.axes_visible='on';a.box='on';
50 xpoly([0 1],[1 1]/2);
51 c=captions(gce(),'test');
52
53
54 //test of different possible locations
55 clf();f=gcf();
56 x=[0:0.1:2*%pi]';
57 plot2d(x,[sin(x) sin(2*x) sin(3*x)],[1 -2 3])
58 E=get(gce(),'children');
59 E(1).thickness=3;
60 E(2).mark_size_unit='point';E(2).mark_size=2;
61
62 a=gca();a.box='on';a.margins(2)=0.3;a.margins(1)=0.25;
63
64
65 c=captions(E,['sin(x)' 'sin(2*x)' 'sin(3*x)']);
66 c.fill_mode='on';c.background=2;
67
68 locations=['upper_left','upper_right','lower_right','lower_left'];
69 locations=['in_'+locations 'out_'+locations 'lower_caption' 'upper_caption'];
70
71 for l=locations;
72   c.legend_location=l;
73   xpause(2d6)
74 end
75 c.legend_location='by_coordinates';c.position=[0.5 1/8];
76 xpause(2d6) 
77
78
79 // captions with paches
80 clf();a=gca();
81 a.data_bounds=[-1 -1;2 2];a.axes_visible='on';
82 x=[0:0.1:2*%pi]';
83 xpoly(cos(x),sin(x))
84 E=gce();
85 xpoly(1+0.3*cos(x),1+0.3*sin(x))
86 E=[gce(), E];
87 xpoly(1.5+0.1*cos(x),1.5+0.1*sin(x))
88 E=[gce(), E];
89 for k=1:3
90   E(4-k).foreground=k;
91   E(4-k).background=k+1;
92   E(4-k).fill_mode='on';
93   E(4-k).closed='on';
94 end
95 E(3).thickness=3;
96 c=captions(E,['A' 'B' 'C']);
97 c.legend_location='in_upper_right';