| |
134 |
134 |
Class create M11 |
| |
135 |
135 |
Class create C1 |
| |
136 |
136 |
|
| |
137 |
137 |
? {C1 info lookup method mixin} "::nsf::classes::nx::Class::mixin" |
| |
138 |
138 |
C1 class mixin M1 |
| |
139 |
139 |
? {C1 info precedence} "::M1 ::nx::Class ::nx::Object" |
| |
140 |
140 |
C1 create c11 |
| |
141 |
141 |
? {c11 info precedence} "::C1 ::nx::Object" |
| |
142 |
142 |
C1 class mixin add M11 |
| |
143 |
143 |
? {C1 info precedence} "::M11 ::M1 ::nx::Class ::nx::Object" |
| |
144 |
144 |
Object create o -mixin M1 |
| |
145 |
145 |
? {o info precedence} "::M1 ::nx::Object" |
| |
146 |
146 |
|
| |
147 |
147 |
Class create O |
| |
148 |
148 |
O class mixin M1 |
| |
149 |
149 |
? {O info precedence} "::M1 ::nx::Class ::nx::Object" |
| |
150 |
150 |
Class create O -object-mixin M1 |
| |
151 |
151 |
? {O info precedence} "::M1 ::nx::Class ::nx::Object" |
| |
152 |
152 |
} |
| |
153 |
153 |
|
| |
|
154 |
Test case filter-relation { |
| |
|
155 |
nx::Class create CC { |
| |
|
156 |
:public method filterA args {next} |
| |
|
157 |
:public method filterB args {next} |
| |
|
158 |
:public class method filterC args {next} |
| |
|
159 |
:create cc { |
| |
|
160 |
:public method filterD args {next} |
| |
|
161 |
} |
| |
|
162 |
} |
| |
|
163 |
|
| |
|
164 |
? {::nsf::relation cc object-filter} "" |
| |
|
165 |
? {cc info filter methods} "" |
| |
|
166 |
? {::nsf::relation cc object-filter filterA} filterA |
| |
|
167 |
? {cc info filter methods} "filterA" |
| |
|
168 |
? {cc filter filterB} "filterB" |
| |
|
169 |
? {::nsf::relation cc object-filter} "filterB" |
| |
|
170 |
? {cc info filter methods} "filterB" |
| |
|
171 |
? {cc filter add filterD} "filterD filterB" |
| |
|
172 |
? {::nsf::relation cc object-filter} "filterD filterB" |
| |
|
173 |
? {cc info filter methods} "filterD filterB" |
| |
|
174 |
? {cc filter delete filterB} "filterD" |
| |
|
175 |
? {::nsf::relation cc object-filter} "filterD" |
| |
|
176 |
? {cc info filter methods} "filterD" |
| |
|
177 |
? {catch {::nsf::relation cc object-filter UNKNOWN}} 1 |
| |
|
178 |
? {::nsf::relation cc object-filter} "filterD" |
| |
|
179 |
? {cc info filter methods} "filterD" |
| |
|
180 |
|
| |
|
181 |
? {::nsf::relation CC object-filter} "" |
| |
|
182 |
? {CC class info filter methods} "" |
| |
|
183 |
? {::nsf::relation CC object-filter filterC} "filterC" |
| |
|
184 |
? {::nsf::relation CC object-filter} "filterC" |
| |
|
185 |
? {CC class info filter methods} "filterC" |
| |
|
186 |
? {::nsf::relation CC object-filter ""} "" |
| |
|
187 |
? {::nsf::relation CC object-filter} "" |
| |
|
188 |
? {CC class info filter methods} "" |
| |
|
189 |
|
| |
|
190 |
? {::nsf::relation CC class-filter} "" |
| |
|
191 |
? {CC info filter methods} "" |
| |
|
192 |
? {::nsf::relation CC class-filter filterA} "filterA" |
| |
|
193 |
? {::nsf::relation CC class-filter} "filterA" |
| |
|
194 |
? {CC info filter methods} "filterA" |
| |
|
195 |
? {CC filter add filterB} "filterB filterA" |
| |
|
196 |
? {::nsf::relation CC class-filter} "filterB filterA" |
| |
|
197 |
? {CC info filter methods} "filterB filterA" |
| |
|
198 |
? {CC filter delete filterA} "filterB" |
| |
|
199 |
? {::nsf::relation CC class-filter} "filterB" |
| |
|
200 |
? {CC info filter methods} "filterB" |
| |
|
201 |
? {catch {::nsf::relation CC class-filter UNKNOWN}} 1 |
| |
|
202 |
? {::nsf::relation CC class-filter} "filterB" |
| |
|
203 |
? {CC info filter methods} "filterB" |
| |
|
204 |
? {::nsf::relation CC class-filter ""} "" |
| |
|
205 |
? {::nsf::relation CC class-filter} "" |
| |
|
206 |
? {CC info filter methods} "" |
| |
|
207 |
} |
| |
|
208 |
|
| |
|
209 |
|
| |
154 |
210 |
Test parameter count 3 |
| |
155 |
211 |
Test case "filter-and-creation" { |
| |
156 |
212 |
Class create Foo { |
| |
157 |
213 |
:method myfilter {args} { |
| |
158 |
214 |
set i [::incr ::count] |
| |
159 |
215 |
set s [self] |
| |
160 |
216 |
set m [current calledmethod] |
| |
161 |
217 |
#puts stderr "$i: $s.$m" |
| |
162 |
218 |
#puts stderr "$i: procsearch before [$s procsearch info]" |
| |
163 |
219 |
set r [next] |
| |
164 |
220 |
#puts stderr "$i: $s.$m got ($r)" |
| |
165 |
221 |
#puts stderr "$i: $s.$m procsearch after [$s info lookup method info]" |
| |
166 |
222 |
return $r |
| |
167 |
223 |
} |
| |
168 |
224 |
# method for testing next to non-existing shadowed method |
| |
169 |
225 |
:public method baz {} {next} |
| |
170 |
226 |
} |
| |
171 |
227 |
|
| |
172 |
228 |
? {Foo create ob} ::ob |
| |
173 |
229 |
|