@@ -91,29 +91,41 @@ test delete-2.4 {object destructors get invoked properly} -body {
91
91
set test_delete_watch {}
92
92
} -result {::test_delete0 ::test_delete1 ::test_delete2 ::test_delete_base0 ::test_delete_base1 ::test_delete_base2}
93
93
94
- test delete-2.5 {object destructors get invoked properly, bug [987067386fa2edae]} -setup {
94
+ test delete-2.5 {object constructors and destructors get invoked properly, bug [987067386fa2edae]} -setup {
95
95
variable ::test_delete_watch {}
96
96
itcl::class ::test_delete_base {
97
+ constructor {} {} {
98
+ global ::test_delete_watch
99
+ lappend test_delete_watch "++ base $this"
100
+ }
97
101
destructor {
98
102
global ::test_delete_watch
99
- lappend test_delete_watch "base $this"
103
+ lappend test_delete_watch "-- base $this"
100
104
}
101
105
}
102
106
namespace eval itcl_test_ns {
103
107
# class in NS with different name than base
104
108
itcl::class test_delete_other {
105
109
inherit ::test_delete_base
110
+ constructor {} ::test_delete_base::constructor {
111
+ global ::test_delete_watch
112
+ lappend test_delete_watch "++ derivate-other $this"
113
+ }
106
114
destructor {
107
115
global ::test_delete_watch
108
- lappend test_delete_watch "derivate-other $this"
116
+ lappend test_delete_watch "-- derivate-other $this"
109
117
}
110
118
}
111
119
# class in NS with different name than base
112
120
itcl::class test_delete_base {
113
121
inherit ::test_delete_base
122
+ constructor {} ::test_delete_base::constructor {
123
+ global ::test_delete_watch
124
+ lappend test_delete_watch "++ derivate-same $this"
125
+ }
114
126
destructor {
115
127
global ::test_delete_watch
116
- lappend test_delete_watch "derivate-same $this"
128
+ lappend test_delete_watch "-- derivate-same $this"
117
129
}
118
130
}
119
131
}
@@ -126,7 +138,12 @@ test delete-2.5 {object destructors get invoked properly, bug [987067386fa2edae]
126
138
set test_delete_watch {}
127
139
namespace delete itcl_test_ns
128
140
itcl::delete class ::test_delete_base
129
- } -result {{derivate-other ::test_del_other} {base ::test_del_other} {derivate-same ::test_del_base} {base ::test_del_base}}
141
+ } -result [list {*}{
142
+ {++ base ::test_del_other} {++ derivate-other ::test_del_other}
143
+ {++ base ::test_del_base} {++ derivate-same ::test_del_base}
144
+ {-- derivate-other ::test_del_other} {-- base ::test_del_other}
145
+ {-- derivate-same ::test_del_base} {-- base ::test_del_base}
146
+ }]
130
147
131
148
# ----------------------------------------------------------------------
132
149
# Deleting class namespaces
0 commit comments