//------------ NFCTag_properties_attribute
test(function () {
- var readProperties;
+ var readProperties, currentProperties, obj, testPropertyName = this.name + "_testProperty";
assert_own_property(tag, "properties", "NFCTag does not own properties property.");
- assert_type(tag.properties, "array", "tag.properties");
+ assert_type(tag.properties, "object", "tag.properties");
- readProperties = tag.properties;
- assert_array_equals(tag.properties, readProperties,
- "properties read inconsistent");
+ readProperties = Object.getOwnPropertyNames(tag.properties);
+ readProperties.sort();
- tag.properties = [1, 2, 3, 4, 5, 6, 7, 8];
- assert_array_equals(tag.properties, readProperties,
+ obj = {};
+ obj[testPropertyName] = "x";
+ tag.properties = obj;
+ currentProperties = Object.getOwnPropertyNames(tag.properties);
+ currentProperties.sort();
+ assert_array_equals(currentProperties, readProperties,
"properties should not be changed");
- tag.properties[0] = [255 - tag.properties[0]];
- assert_array_equals(tag.properties, readProperties,
- "properties[0] should not be changed");
+ check_not_nullable(tag, "properties");
}, "NFCTag_properties_attribute");
//------------ NFCTag_type_attribute