This repository has been archived by the owner on Jun 9, 2018. It is now read-only.
/
number_hll.t
executable file
·94 lines (75 loc) · 1.53 KB
/
number_hll.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#! ../../parrot
# Copyright (C) 2009, Parrot Foundation.
# $Id$
=head1 LuaNumber
=head2 Synopsis
% parrot t/pmc/number_hll.t
=head2 Description
Tests C<LuaNumber> PMC
(implemented in F<languages/lua/src/pmc/luanumber.pmc>).
=cut
.HLL 'lua'
.loadlib 'lua_group'
.sub 'main' :main
.include 'test_more.pir'
plan(14)
check_HLL()
check_HLL_autoboxing()
check_box_float()
check_box_integer()
check_tostring()
check_tonumber()
.end
.sub 'check_HLL'
$P0 = new 'LuaNumber'
set $P0, 3.14
$N0 = $P0
is($N0, 3.14, "check HLL")
isa_ok($P0, 'LuaNumber')
.end
.sub 'check_HLL_autoboxing'
$P0 = fct()
$N0 = $P0
is($N0, 3.14, "check HLL autoboxing")
isa_ok($P0, 'LuaNumber')
.end
.sub 'fct' :anon
.return (3.14)
.end
.sub 'check_box_float'
$P0 = box 3.14
$N0 = $P0
is($N0, 3.14, "check box float")
isa_ok($P0, 'LuaNumber')
.end
.sub 'check_box_integer'
$P0 = box -2
$N0 = $P0
is($N0, -2, "check box integer")
isa_ok($P0, 'LuaNumber')
.end
.sub 'check_tostring'
$P0 = new 'LuaNumber'
set $P0, 3.14
$N0 = $P0
is($N0, 3.14, "check tostring")
$P1 = $P0.'tostring'()
isa_ok($P1, 'LuaString')
$S0 = $P1
is($S0, '3.14')
.end
.sub 'check_tonumber'
$P0 = new 'LuaNumber'
set $P0, 3.14
$N0 = $P0
is($N0, 3.14, "check tonumber")
$P1 = $P0.'tonumber'()
isa_ok($P1, 'LuaNumber')
$N0 = $P1
is($N0, 3.14)
.end
# Local Variables:
# mode: pir
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4 ft=pir: