+
+$p = eval {
+ Tikz->point(
+ [1,-1],
+ label => 'foo',
+ );
+};
+is $@, '', 'creating a labeled point from an array ref doesn\'t croak';
+
+check $p, 'a labeled point', <<'RES';
+\draw (1cm,-1cm) [fill] circle (0.4pt) node[scale=0.20,above] {foo} ;
+RES
+
+$p = eval {
+ Tikz->point(
+ [2,-2],
+ label => 'bar',
+ pos => 'below right',
+ );
+};
+is $@, '',
+ 'creating a labeled positioned point from an array ref doesn\'t croak';
+
+check $p, 'a labeled positioned point', <<'RES';
+\draw (2cm,-2cm) [fill] circle (0.4pt) node[scale=0.20,below right] {bar} ;
+RES
+
+my $union = eval {
+ Tikz->union(
+ Tikz->point([ 0, -1 ]),
+ Tikz->raw("foo"),
+ Tikz->point(9)
+ );
+};
+is $@, '', 'creating a simple union path doesn\'t croak';
+is_point_ok $union->begin, 0, -1, 'beginning of a simple union path';
+is_point_ok $union->end, 9, 0, 'end of a simple union path';
+
+my $path = eval {
+ Tikz->union(
+ Tikz->join('--' => 1, 2, 3),
+ $union,
+ Tikz->chain(5 => '--' => [ 6, 1 ]),
+ );
+};
+is $@, '', 'creating a complex union path doesn\'t croak';
+is_point_ok $path->begin, 1, 0, 'beginning of a complex union path';
+is_point_ok $path->end, 6, 1, 'end of a complex union path';