136 amxc_var_init(&retval);
137 amxc_var_init(&args);
141 amxc_var_set_type(&args, AMXC_VAR_ID_HTABLE);
144 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
145 amxc_var_dump(&retval, STDOUT_FILENO);
147 assert_ptr_not_equal(amxc_var_get_path(&retval,
"name", AMXC_VAR_FLAG_DEFAULT), NULL);
148 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
149 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
150 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
151 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
152 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
153 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
154 assert_ptr_not_equal(amxc_var_get_path(&retval,
"path", AMXC_VAR_FLAG_DEFAULT), NULL);
155 assert_ptr_not_equal(amxc_var_get_path(&retval,
"object", AMXC_VAR_FLAG_DEFAULT), NULL);
156 assert_ptr_equal(amxc_var_get_path(&retval,
"index", AMXC_VAR_FLAG_DEFAULT), NULL);
157 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
158 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
159 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
160 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
161 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
162 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
163 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
164 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
165 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
166 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
167 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
168 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
169 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.templ_param", AMXC_VAR_FLAG_DEFAULT), NULL);
170 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
171 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
172 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
173 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
174 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
175 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
176 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
177 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
178 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
179 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
180 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
181 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent1!'", AMXC_VAR_FLAG_DEFAULT), NULL);
182 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent2!'", AMXC_VAR_FLAG_DEFAULT), NULL);
183 assert_ptr_equal(amxc_var_get_path(&retval,
"objects", AMXC_VAR_FLAG_DEFAULT), NULL);
185 amxc_var_clean(&retval);
187 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
188 amxc_var_dump(&retval, STDOUT_FILENO);
190 assert_ptr_not_equal(amxc_var_get_path(&retval,
"name", AMXC_VAR_FLAG_DEFAULT), NULL);
191 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
192 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
193 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
194 assert_ptr_not_equal(amxc_var_get_path(&retval,
"attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
195 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
196 assert_ptr_not_equal(amxc_var_get_path(&retval,
"type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
197 assert_ptr_not_equal(amxc_var_get_path(&retval,
"path", AMXC_VAR_FLAG_DEFAULT), NULL);
198 assert_ptr_not_equal(amxc_var_get_path(&retval,
"object", AMXC_VAR_FLAG_DEFAULT), NULL);
199 assert_ptr_not_equal(amxc_var_get_path(&retval,
"index", AMXC_VAR_FLAG_DEFAULT), NULL);
200 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
201 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
202 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
203 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
204 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
205 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
206 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
207 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
208 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
209 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
210 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
211 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
212 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.inst_param", AMXC_VAR_FLAG_DEFAULT), NULL);
213 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes", AMXC_VAR_FLAG_DEFAULT), NULL);
214 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.private", AMXC_VAR_FLAG_DEFAULT), NULL);
215 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.instance", AMXC_VAR_FLAG_DEFAULT), NULL);
216 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.template", AMXC_VAR_FLAG_DEFAULT), NULL);
217 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.read-only", AMXC_VAR_FLAG_DEFAULT), NULL);
218 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.volatile", AMXC_VAR_FLAG_DEFAULT), NULL);
219 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.attributes.persistent", AMXC_VAR_FLAG_DEFAULT), NULL);
220 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.name", AMXC_VAR_FLAG_DEFAULT), NULL);
221 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.value", AMXC_VAR_FLAG_DEFAULT), NULL);
222 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_name", AMXC_VAR_FLAG_DEFAULT), NULL);
223 assert_ptr_not_equal(amxc_var_get_path(&retval,
"parameters.param.type_id", AMXC_VAR_FLAG_DEFAULT), NULL);
224 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent1!'", AMXC_VAR_FLAG_DEFAULT), NULL);
225 assert_ptr_not_equal(amxc_var_get_path(&retval,
"events.'MyEvent2!'", AMXC_VAR_FLAG_DEFAULT), NULL);
226 assert_ptr_not_equal(amxc_var_get_path(&retval,
"objects'", AMXC_VAR_FLAG_DEFAULT), NULL);
227 assert_ptr_not_equal(amxc_var_get_path(&retval,
"objects.0", AMXC_VAR_FLAG_DEFAULT), NULL);
233 amxc_var_clean(&retval);
235 assert_int_equal(amxc_var_type_of(&retval), AMXC_VAR_ID_HTABLE);
240 amxc_var_clean(&retval);
241 amxc_var_clean(&args);
amxd_status_t amxd_object_describe(amxd_object_t *const object, amxc_var_t *const value, uint32_t flags, amxd_dm_access_t access)
#define AMXD_OBJECT_ALL
List and describe flag.
@ amxd_dm_access_protected
void amxd_dm_clean(amxd_dm_t *dm)
Cleans a data model structure.
amxd_status_t amxd_action_object_describe(amxd_object_t *object, amxd_param_t *param, amxd_action_t reason, const amxc_var_t *const args, amxc_var_t *const retval, void *priv)
Default object describe action implementation.
amxd_status_t amxd_object_new_instance(amxd_object_t **object, amxd_object_t *templ, const char *name, uint32_t index, amxc_var_t *values)
Data model object constructor function.
static amxd_object_t * test_build_dm(void)