@fluid-experimental/property-properties 2.0.0-internal.3.0.2 → 2.0.0-internal.3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +1 -0
  2. package/dist/containerSerializer.d.ts.map +1 -1
  3. package/dist/containerSerializer.js +5 -5
  4. package/dist/containerSerializer.js.map +1 -1
  5. package/dist/enableValidations.js.map +1 -1
  6. package/dist/index.d.ts +19 -19
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/properties/abstractStaticCollectionProperty.d.ts +10 -10
  10. package/dist/properties/abstractStaticCollectionProperty.d.ts.map +1 -1
  11. package/dist/properties/abstractStaticCollectionProperty.js +70 -53
  12. package/dist/properties/abstractStaticCollectionProperty.js.map +1 -1
  13. package/dist/properties/arrayProperty.d.ts.map +1 -1
  14. package/dist/properties/arrayProperty.js +152 -103
  15. package/dist/properties/arrayProperty.js.map +1 -1
  16. package/dist/properties/baseProperty.d.ts +4 -4
  17. package/dist/properties/baseProperty.d.ts.map +1 -1
  18. package/dist/properties/baseProperty.js +69 -47
  19. package/dist/properties/baseProperty.js.map +1 -1
  20. package/dist/properties/boolProperty.d.ts.map +1 -1
  21. package/dist/properties/boolProperty.js +3 -3
  22. package/dist/properties/boolProperty.js.map +1 -1
  23. package/dist/properties/containerProperty.d.ts +8 -8
  24. package/dist/properties/containerProperty.d.ts.map +1 -1
  25. package/dist/properties/containerProperty.js +33 -26
  26. package/dist/properties/containerProperty.js.map +1 -1
  27. package/dist/properties/enumArrayProperty.d.ts.map +1 -1
  28. package/dist/properties/enumArrayProperty.js +14 -14
  29. package/dist/properties/enumArrayProperty.js.map +1 -1
  30. package/dist/properties/enumProperty.d.ts.map +1 -1
  31. package/dist/properties/enumProperty.js +17 -17
  32. package/dist/properties/enumProperty.js.map +1 -1
  33. package/dist/properties/floatProperties.js +4 -4
  34. package/dist/properties/floatProperties.js.map +1 -1
  35. package/dist/properties/index.d.ts +23 -23
  36. package/dist/properties/index.d.ts.map +1 -1
  37. package/dist/properties/index.js.map +1 -1
  38. package/dist/properties/indexedCollectionBaseProperty.d.ts.map +1 -1
  39. package/dist/properties/indexedCollectionBaseProperty.js +47 -37
  40. package/dist/properties/indexedCollectionBaseProperty.js.map +1 -1
  41. package/dist/properties/intProperties.d.ts.map +1 -1
  42. package/dist/properties/intProperties.js +10 -10
  43. package/dist/properties/intProperties.js.map +1 -1
  44. package/dist/properties/lazyLoadedProperties.js.map +1 -1
  45. package/dist/properties/mapProperty.d.ts.map +1 -1
  46. package/dist/properties/mapProperty.js +21 -17
  47. package/dist/properties/mapProperty.js.map +1 -1
  48. package/dist/properties/namedNodeProperty.d.ts.map +1 -1
  49. package/dist/properties/namedNodeProperty.js +3 -3
  50. package/dist/properties/namedNodeProperty.js.map +1 -1
  51. package/dist/properties/namedProperty.d.ts.map +1 -1
  52. package/dist/properties/namedProperty.js +7 -5
  53. package/dist/properties/namedProperty.js.map +1 -1
  54. package/dist/properties/nodeProperty.d.ts.map +1 -1
  55. package/dist/properties/nodeProperty.js +5 -3
  56. package/dist/properties/nodeProperty.js.map +1 -1
  57. package/dist/properties/primitiveTypeCasts.d.ts.map +1 -1
  58. package/dist/properties/primitiveTypeCasts.js +9 -9
  59. package/dist/properties/primitiveTypeCasts.js.map +1 -1
  60. package/dist/properties/referenceArrayProperty.d.ts.map +1 -1
  61. package/dist/properties/referenceArrayProperty.js +31 -25
  62. package/dist/properties/referenceArrayProperty.js.map +1 -1
  63. package/dist/properties/referenceMapProperty.d.ts.map +1 -1
  64. package/dist/properties/referenceMapProperty.js +18 -18
  65. package/dist/properties/referenceMapProperty.js.map +1 -1
  66. package/dist/properties/referenceProperty.d.ts.map +1 -1
  67. package/dist/properties/referenceProperty.js +33 -29
  68. package/dist/properties/referenceProperty.js.map +1 -1
  69. package/dist/properties/setProperty.d.ts.map +1 -1
  70. package/dist/properties/setProperty.js +31 -29
  71. package/dist/properties/setProperty.js.map +1 -1
  72. package/dist/properties/stringProperty.d.ts.map +1 -1
  73. package/dist/properties/stringProperty.js +56 -40
  74. package/dist/properties/stringProperty.js.map +1 -1
  75. package/dist/properties/uintProperties.js +5 -5
  76. package/dist/properties/uintProperties.js.map +1 -1
  77. package/dist/properties/valueArrayProperty.d.ts +1 -1
  78. package/dist/properties/valueArrayProperty.d.ts.map +1 -1
  79. package/dist/properties/valueArrayProperty.js +30 -29
  80. package/dist/properties/valueArrayProperty.js.map +1 -1
  81. package/dist/properties/valueMapProperty.d.ts.map +1 -1
  82. package/dist/properties/valueMapProperty.js +31 -29
  83. package/dist/properties/valueMapProperty.js.map +1 -1
  84. package/dist/properties/valueProperty.d.ts.map +1 -1
  85. package/dist/properties/valueProperty.js +11 -9
  86. package/dist/properties/valueProperty.js.map +1 -1
  87. package/dist/propertyFactory.d.ts.map +1 -1
  88. package/dist/propertyFactory.js +309 -252
  89. package/dist/propertyFactory.js.map +1 -1
  90. package/dist/propertyTemplate.d.ts +17 -17
  91. package/dist/propertyTemplate.d.ts.map +1 -1
  92. package/dist/propertyTemplate.js +64 -45
  93. package/dist/propertyTemplate.js.map +1 -1
  94. package/dist/propertyTemplateWrapper.d.ts.map +1 -1
  95. package/dist/propertyTemplateWrapper.js +40 -25
  96. package/dist/propertyTemplateWrapper.js.map +1 -1
  97. package/dist/propertyUtils.d.ts.map +1 -1
  98. package/dist/propertyUtils.js.map +1 -1
  99. package/dist/test/properties/arrayProperty.spec.js +566 -490
  100. package/dist/test/properties/arrayProperty.spec.js.map +1 -1
  101. package/dist/test/properties/baseProperty.spec.js +293 -280
  102. package/dist/test/properties/baseProperty.spec.js.map +1 -1
  103. package/dist/test/properties/containerProperty.spec.js +100 -94
  104. package/dist/test/properties/containerProperty.spec.js.map +1 -1
  105. package/dist/test/properties/customArrayProperty.spec.js +174 -147
  106. package/dist/test/properties/customArrayProperty.spec.js.map +1 -1
  107. package/dist/test/properties/enumArrayProperty.spec.js +67 -63
  108. package/dist/test/properties/enumArrayProperty.spec.js.map +1 -1
  109. package/dist/test/properties/enumProperty.spec.js +115 -97
  110. package/dist/test/properties/enumProperty.spec.js.map +1 -1
  111. package/dist/test/properties/float32.spec.js +5 -5
  112. package/dist/test/properties/float32.spec.js.map +1 -1
  113. package/dist/test/properties/int64ArrayProperty.spec.js +157 -93
  114. package/dist/test/properties/int64ArrayProperty.spec.js.map +1 -1
  115. package/dist/test/properties/int64MapProperty.spec.js +185 -166
  116. package/dist/test/properties/int64MapProperty.spec.js.map +1 -1
  117. package/dist/test/properties/int64Property.spec.js +109 -109
  118. package/dist/test/properties/int64Property.spec.js.map +1 -1
  119. package/dist/test/properties/isLeafNode.spec.js +75 -76
  120. package/dist/test/properties/isLeafNode.spec.js.map +1 -1
  121. package/dist/test/properties/mapProperty.spec.js +571 -531
  122. package/dist/test/properties/mapProperty.spec.js.map +1 -1
  123. package/dist/test/properties/namedNodeProperty.spec.js +31 -31
  124. package/dist/test/properties/namedNodeProperty.spec.js.map +1 -1
  125. package/dist/test/properties/nodeProperty.spec.js +805 -795
  126. package/dist/test/properties/nodeProperty.spec.js.map +1 -1
  127. package/dist/test/properties/referenceProperty.spec.js +729 -679
  128. package/dist/test/properties/referenceProperty.spec.js.map +1 -1
  129. package/dist/test/properties/relationshipProperty.spec.js +16 -16
  130. package/dist/test/properties/relationshipProperty.spec.js.map +1 -1
  131. package/dist/test/properties/setProperty.spec.js +288 -227
  132. package/dist/test/properties/setProperty.spec.js.map +1 -1
  133. package/dist/test/properties/stringProperty.spec.js +326 -318
  134. package/dist/test/properties/stringProperty.spec.js.map +1 -1
  135. package/dist/test/properties/uint64Property.spec.js +46 -36
  136. package/dist/test/properties/uint64Property.spec.js.map +1 -1
  137. package/dist/test/properties/valueMapProperty.spec.js +259 -246
  138. package/dist/test/properties/valueMapProperty.spec.js.map +1 -1
  139. package/dist/test/properties/valueProperty.spec.js +49 -43
  140. package/dist/test/properties/valueProperty.spec.js.map +1 -1
  141. package/dist/test/propertyFactory.spec.js +2038 -1631
  142. package/dist/test/propertyFactory.spec.js.map +1 -1
  143. package/dist/test/propertyTemplateWrapper.spec.js +72 -102
  144. package/dist/test/propertyTemplateWrapper.spec.js.map +1 -1
  145. package/dist/test/propertyUtils.spec.js +22 -21
  146. package/dist/test/propertyUtils.spec.js.map +1 -1
  147. package/dist/test/reversibleChangeset.spec.js +857 -703
  148. package/dist/test/reversibleChangeset.spec.js.map +1 -1
  149. package/dist/test/setup.js +5 -5
  150. package/dist/test/setup.js.map +1 -1
  151. package/dist/test/tsconfig.tsbuildinfo +1 -1
  152. package/dist/test/utils.spec.js +1334 -1144
  153. package/dist/test/utils.spec.js.map +1 -1
  154. package/dist/test/validation/badMissingSemverInTypeid.js +20 -20
  155. package/dist/test/validation/badMissingSemverInTypeid.js.map +1 -1
  156. package/dist/test/validation/badPrimitiveTypeid.js +12 -12
  157. package/dist/test/validation/badPrimitiveTypeid.js.map +1 -1
  158. package/dist/test/validation/goodColorId.js +91 -91
  159. package/dist/test/validation/goodColorId.js.map +1 -1
  160. package/dist/test/validation/goodColorPalette.js +4 -4
  161. package/dist/test/validation/goodColorPalette.js.map +1 -1
  162. package/dist/test/validation/goodPointId.js +20 -20
  163. package/dist/test/validation/goodPointId.js.map +1 -1
  164. package/dist/test/validation/reversibleChangeSetTestData.js +23841 -2
  165. package/dist/test/validation/reversibleChangeSetTestData.js.map +1 -1
  166. package/lib/containerSerializer.d.ts.map +1 -1
  167. package/lib/containerSerializer.js +5 -5
  168. package/lib/containerSerializer.js.map +1 -1
  169. package/lib/enableValidations.js.map +1 -1
  170. package/lib/index.d.ts +19 -19
  171. package/lib/index.d.ts.map +1 -1
  172. package/lib/index.js +19 -19
  173. package/lib/index.js.map +1 -1
  174. package/lib/properties/abstractStaticCollectionProperty.d.ts +10 -10
  175. package/lib/properties/abstractStaticCollectionProperty.d.ts.map +1 -1
  176. package/lib/properties/abstractStaticCollectionProperty.js +70 -53
  177. package/lib/properties/abstractStaticCollectionProperty.js.map +1 -1
  178. package/lib/properties/arrayProperty.d.ts.map +1 -1
  179. package/lib/properties/arrayProperty.js +152 -103
  180. package/lib/properties/arrayProperty.js.map +1 -1
  181. package/lib/properties/baseProperty.d.ts +4 -4
  182. package/lib/properties/baseProperty.d.ts.map +1 -1
  183. package/lib/properties/baseProperty.js +73 -51
  184. package/lib/properties/baseProperty.js.map +1 -1
  185. package/lib/properties/boolProperty.d.ts.map +1 -1
  186. package/lib/properties/boolProperty.js +3 -3
  187. package/lib/properties/boolProperty.js.map +1 -1
  188. package/lib/properties/containerProperty.d.ts +8 -8
  189. package/lib/properties/containerProperty.d.ts.map +1 -1
  190. package/lib/properties/containerProperty.js +33 -26
  191. package/lib/properties/containerProperty.js.map +1 -1
  192. package/lib/properties/enumArrayProperty.d.ts.map +1 -1
  193. package/lib/properties/enumArrayProperty.js +14 -14
  194. package/lib/properties/enumArrayProperty.js.map +1 -1
  195. package/lib/properties/enumProperty.d.ts.map +1 -1
  196. package/lib/properties/enumProperty.js +17 -17
  197. package/lib/properties/enumProperty.js.map +1 -1
  198. package/lib/properties/floatProperties.js +4 -4
  199. package/lib/properties/floatProperties.js.map +1 -1
  200. package/lib/properties/index.d.ts +23 -23
  201. package/lib/properties/index.d.ts.map +1 -1
  202. package/lib/properties/index.js +23 -23
  203. package/lib/properties/index.js.map +1 -1
  204. package/lib/properties/indexedCollectionBaseProperty.d.ts.map +1 -1
  205. package/lib/properties/indexedCollectionBaseProperty.js +47 -37
  206. package/lib/properties/indexedCollectionBaseProperty.js.map +1 -1
  207. package/lib/properties/intProperties.d.ts.map +1 -1
  208. package/lib/properties/intProperties.js +10 -10
  209. package/lib/properties/intProperties.js.map +1 -1
  210. package/lib/properties/lazyLoadedProperties.js.map +1 -1
  211. package/lib/properties/mapProperty.d.ts.map +1 -1
  212. package/lib/properties/mapProperty.js +21 -17
  213. package/lib/properties/mapProperty.js.map +1 -1
  214. package/lib/properties/namedNodeProperty.d.ts.map +1 -1
  215. package/lib/properties/namedNodeProperty.js +3 -3
  216. package/lib/properties/namedNodeProperty.js.map +1 -1
  217. package/lib/properties/namedProperty.d.ts.map +1 -1
  218. package/lib/properties/namedProperty.js +7 -5
  219. package/lib/properties/namedProperty.js.map +1 -1
  220. package/lib/properties/nodeProperty.d.ts.map +1 -1
  221. package/lib/properties/nodeProperty.js +5 -3
  222. package/lib/properties/nodeProperty.js.map +1 -1
  223. package/lib/properties/primitiveTypeCasts.d.ts.map +1 -1
  224. package/lib/properties/primitiveTypeCasts.js +9 -9
  225. package/lib/properties/primitiveTypeCasts.js.map +1 -1
  226. package/lib/properties/referenceArrayProperty.d.ts.map +1 -1
  227. package/lib/properties/referenceArrayProperty.js +31 -25
  228. package/lib/properties/referenceArrayProperty.js.map +1 -1
  229. package/lib/properties/referenceMapProperty.d.ts.map +1 -1
  230. package/lib/properties/referenceMapProperty.js +18 -18
  231. package/lib/properties/referenceMapProperty.js.map +1 -1
  232. package/lib/properties/referenceProperty.d.ts.map +1 -1
  233. package/lib/properties/referenceProperty.js +33 -29
  234. package/lib/properties/referenceProperty.js.map +1 -1
  235. package/lib/properties/setProperty.d.ts.map +1 -1
  236. package/lib/properties/setProperty.js +31 -29
  237. package/lib/properties/setProperty.js.map +1 -1
  238. package/lib/properties/stringProperty.d.ts.map +1 -1
  239. package/lib/properties/stringProperty.js +56 -40
  240. package/lib/properties/stringProperty.js.map +1 -1
  241. package/lib/properties/uintProperties.js +5 -5
  242. package/lib/properties/uintProperties.js.map +1 -1
  243. package/lib/properties/valueArrayProperty.d.ts +1 -1
  244. package/lib/properties/valueArrayProperty.d.ts.map +1 -1
  245. package/lib/properties/valueArrayProperty.js +30 -29
  246. package/lib/properties/valueArrayProperty.js.map +1 -1
  247. package/lib/properties/valueMapProperty.d.ts.map +1 -1
  248. package/lib/properties/valueMapProperty.js +31 -29
  249. package/lib/properties/valueMapProperty.js.map +1 -1
  250. package/lib/properties/valueProperty.d.ts.map +1 -1
  251. package/lib/properties/valueProperty.js +11 -9
  252. package/lib/properties/valueProperty.js.map +1 -1
  253. package/lib/propertyFactory.d.ts.map +1 -1
  254. package/lib/propertyFactory.js +309 -252
  255. package/lib/propertyFactory.js.map +1 -1
  256. package/lib/propertyTemplate.d.ts +17 -17
  257. package/lib/propertyTemplate.d.ts.map +1 -1
  258. package/lib/propertyTemplate.js +64 -45
  259. package/lib/propertyTemplate.js.map +1 -1
  260. package/lib/propertyTemplateWrapper.d.ts.map +1 -1
  261. package/lib/propertyTemplateWrapper.js +40 -25
  262. package/lib/propertyTemplateWrapper.js.map +1 -1
  263. package/lib/propertyUtils.d.ts.map +1 -1
  264. package/lib/propertyUtils.js.map +1 -1
  265. package/package.json +28 -28
  266. package/src/index.d.ts +2750 -2681
@@ -8,107 +8,121 @@
8
8
  */
9
9
  var PropertyFactory, BaseProperty, OurTestTemplate, OurArrayTestTemplate2, error, DeterministicRandomGenerator, _, ChangeSet, deepCopy;
10
10
  var possibleChanges = {
11
- 0: 'insert',
12
- 1: 'modify',
13
- 2: 'remove',
14
- 3: 'set',
11
+ 0: "insert",
12
+ 1: "modify",
13
+ 2: "remove",
14
+ 3: "set",
15
15
  };
16
16
  var createTestArrayProp = function () {
17
- return PropertyFactory.create('autodesk.tests:CustomArrayTestID-1.0.0')._properties.MyCustomArray;
17
+ return PropertyFactory.create("autodesk.tests:CustomArrayTestID-1.0.0")._properties
18
+ .MyCustomArray;
18
19
  };
19
20
  var createRandomProperty = function () {
20
- var node1 = PropertyFactory.create('autodesk.tests:TestID-1.0.0');
21
+ var node1 = PropertyFactory.create("autodesk.tests:TestID-1.0.0");
21
22
  node1._properties.MyFloatProp.value = Math.random() * 100;
22
23
  node1._properties.MyIntProp.value = Math.random() * 100;
23
24
  return node1;
24
25
  };
25
- describe('CustomArrayProperty', function () {
26
+ describe("CustomArrayProperty", function () {
26
27
  /**
27
28
  * Get all the objects we need in this test here.
28
29
  */
29
30
  before(function () {
30
- PropertyFactory = require('../..').PropertyFactory;
31
- BaseProperty = require('../..').BaseProperty;
32
- DeterministicRandomGenerator = require('@fluid-experimental/property-common').DeterministicRandomGenerator;
33
- ChangeSet = require('@fluid-experimental/property-changeset').ChangeSet;
34
- _ = require('lodash');
31
+ PropertyFactory = require("../..").PropertyFactory;
32
+ BaseProperty = require("../..").BaseProperty;
33
+ DeterministicRandomGenerator =
34
+ require("@fluid-experimental/property-common").DeterministicRandomGenerator;
35
+ ChangeSet = require("@fluid-experimental/property-changeset").ChangeSet;
36
+ _ = require("lodash");
35
37
  deepCopy = _.cloneDeep;
36
38
  OurTestTemplate = {
37
- typeid: 'autodesk.tests:TestID-1.0.0',
38
- properties: [{
39
- id: 'MyFloatProp', typeid: 'Float32',
40
- }, {
41
- id: 'MyIntProp', typeid: 'Int32',
39
+ typeid: "autodesk.tests:TestID-1.0.0",
40
+ properties: [
41
+ {
42
+ id: "MyFloatProp",
43
+ typeid: "Float32",
44
+ },
45
+ {
46
+ id: "MyIntProp",
47
+ typeid: "Int32",
42
48
  },
43
49
  ],
44
50
  };
45
51
  PropertyFactory._reregister(OurTestTemplate);
46
52
  OurArrayTestTemplate2 = {
47
- typeid: 'autodesk.tests:CustomArrayTestID-1.0.0',
53
+ typeid: "autodesk.tests:CustomArrayTestID-1.0.0",
48
54
  properties: [
49
- { id: 'MyCustomArray', typeid: 'autodesk.tests:TestID-1.0.0', context: 'array' },
50
- { id: 'SomeOtherProperty', typeid: 'String' },
55
+ { id: "MyCustomArray", typeid: "autodesk.tests:TestID-1.0.0", context: "array" },
56
+ { id: "SomeOtherProperty", typeid: "String" },
51
57
  ],
52
58
  };
53
59
  PropertyFactory._reregister(OurArrayTestTemplate2);
54
60
  var NamedPropertyWithStringTemplate = {
55
- typeid: 'autodesk.tests:Array.NamedPropertyWithString-1.0.0',
56
- inherits: 'NamedProperty',
57
- properties: [{
58
- id: 'stringProperty', typeid: 'String',
59
- }],
61
+ typeid: "autodesk.tests:Array.NamedPropertyWithString-1.0.0",
62
+ inherits: "NamedProperty",
63
+ properties: [
64
+ {
65
+ id: "stringProperty",
66
+ typeid: "String",
67
+ },
68
+ ],
60
69
  };
61
70
  PropertyFactory._reregister(NamedPropertyWithStringTemplate);
62
71
  });
63
- describe('Checking the generalized squash function of a CustomPropertyArrayProperty', function () {
64
- it('[random number test] should be squashed to the expected changeset', function (done) {
72
+ describe("Checking the generalized squash function of a CustomPropertyArrayProperty", function () {
73
+ it("[random number test] should be squashed to the expected changeset", function (done) {
65
74
  try {
66
75
  var arrayProp = createTestArrayProp();
67
76
  var currentArrayLength = 0;
68
- arrayProp.insertRange(0, [createRandomProperty(), createRandomProperty(),
69
- createRandomProperty(), createRandomProperty()]);
77
+ arrayProp.insertRange(0, [
78
+ createRandomProperty(),
79
+ createRandomProperty(),
80
+ createRandomProperty(),
81
+ createRandomProperty(),
82
+ ]);
70
83
  arrayProp.cleanDirty();
71
84
  // Create a copy of this state
72
85
  var arrayPropCopy = createTestArrayProp();
73
- arrayPropCopy.deserialize(arrayProp.serialize({ 'dirtyOnly': false }));
86
+ arrayPropCopy.deserialize(arrayProp.serialize({ dirtyOnly: false }));
74
87
  arrayPropCopy.cleanDirty();
75
88
  for (var i = 0; i < 500; ++i) {
76
89
  currentArrayLength = arrayProp.length;
77
- var nextOpType = 'insert';
90
+ var nextOpType = "insert";
78
91
  var opOffset = 0;
79
92
  if (currentArrayLength > 0) {
80
93
  nextOpType = possibleChanges[Math.floor(Math.random() * 4)];
81
94
  opOffset = Math.min(Math.floor(Math.random() * currentArrayLength), currentArrayLength - 1);
82
95
  }
83
- var opLength = 1 + Math.min(Math.floor(Math.random() * (currentArrayLength - opOffset)), currentArrayLength - opOffset - 1);
96
+ var opLength = 1 +
97
+ Math.min(Math.floor(Math.random() * (currentArrayLength - opOffset)), currentArrayLength - opOffset - 1);
84
98
  switch (nextOpType) {
85
- case 'remove': {
99
+ case "remove": {
86
100
  arrayProp.removeRange(opOffset, opLength);
87
101
  break;
88
102
  }
89
- case 'insert': {
103
+ case "insert": {
90
104
  arrayProp.insertRange(opOffset, [createRandomProperty()]);
91
105
  break;
92
106
  }
93
- case 'modify': {
107
+ case "modify": {
94
108
  var childProperty = arrayProp.get(opOffset);
95
109
  childProperty._properties.MyFloatProp.value = Math.random() * 100;
96
110
  childProperty._properties.MyIntProp.value = Math.random() * 100;
97
111
  break;
98
112
  }
99
- case 'set': {
113
+ case "set": {
100
114
  arrayProp.set(opOffset, createRandomProperty());
101
115
  break;
102
116
  }
103
117
  // no default
104
118
  }
105
119
  var serializedDirtyChanges = arrayProp.serialize({
106
- 'dirtyOnly': true,
107
- 'includeRootTypeid': false,
108
- 'dirtinessType': BaseProperty.MODIFIED_STATE_FLAGS.DIRTY,
120
+ dirtyOnly: true,
121
+ includeRootTypeid: false,
122
+ dirtinessType: BaseProperty.MODIFIED_STATE_FLAGS.DIRTY,
109
123
  });
110
124
  var arrayPropTest = createTestArrayProp();
111
- arrayPropTest.deserialize(arrayPropCopy.serialize({ 'dirtyOnly': false }));
125
+ arrayPropTest.deserialize(arrayPropCopy.serialize({ dirtyOnly: false }));
112
126
  arrayPropTest.cleanDirty();
113
127
  arrayPropTest.applyChangeSet(serializedDirtyChanges);
114
128
  }
@@ -119,130 +133,142 @@ describe('CustomArrayProperty', function () {
119
133
  finally {
120
134
  expect(error).to.equal(undefined);
121
135
  expect(arrayProp).to.not.equal(null);
122
- expect(arrayProp.serialize({ 'dirtyOnly': false })).to.deep.equal(arrayPropTest.serialize({ 'dirtyOnly': false }));
136
+ expect(arrayProp.serialize({ dirtyOnly: false })).to.deep.equal(arrayPropTest.serialize({ dirtyOnly: false }));
123
137
  done();
124
138
  }
125
139
  });
126
140
  });
127
- describe('Path resolution', function () {
128
- it('should work for array properties', function () {
129
- var arrayParent = PropertyFactory.create('autodesk.tests:CustomArrayTestID-1.0.0');
141
+ describe("Path resolution", function () {
142
+ it("should work for array properties", function () {
143
+ var arrayParent = PropertyFactory.create("autodesk.tests:CustomArrayTestID-1.0.0");
130
144
  var arrayProp = arrayParent._properties.MyCustomArray;
131
145
  // prepare initial state
132
146
  var entries = [];
133
147
  for (var i = 0; i < 10; i++) {
134
- var entry = PropertyFactory.create('autodesk.tests:TestID-1.0.0');
148
+ var entry = PropertyFactory.create("autodesk.tests:TestID-1.0.0");
135
149
  entry._properties.MyIntProp.value = i;
136
150
  entries.push(entry);
137
151
  }
138
152
  arrayParent._properties.MyCustomArray.insertRange(0, entries);
139
153
  // Make sure that arrray access works
140
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(0);
141
- expect(arrayProp.resolvePath('[2]')._properties.MyIntProp.value).to.equal(2);
154
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(0);
155
+ expect(arrayProp.resolvePath("[2]")._properties.MyIntProp.value).to.equal(2);
142
156
  // Test out of bounds access
143
- expect(arrayParent.resolvePath('MyCustomArray[-1]')).to.be.undefined;
144
- expect(arrayParent.resolvePath('MyCustomArray[10]')).to.be.undefined;
157
+ expect(arrayParent.resolvePath("MyCustomArray[-1]")).to.be.undefined;
158
+ expect(arrayParent.resolvePath("MyCustomArray[10]")).to.be.undefined;
145
159
  var myTestArrayProp = arrayProp.get(5);
146
- expect(myTestArrayProp.getAbsolutePath()).to.equal('/MyCustomArray[5]');
147
- expect(myTestArrayProp.getRelativePath(arrayProp)).to.equal('[5]');
160
+ expect(myTestArrayProp.getAbsolutePath()).to.equal("/MyCustomArray[5]");
161
+ expect(myTestArrayProp.getRelativePath(arrayProp)).to.equal("[5]");
148
162
  // Test exception on parsing error
149
- expect(function () { arrayParent.resolvePath('MyCustomArray["abcd"]'); }).to.throw();
163
+ expect(function () {
164
+ arrayParent.resolvePath('MyCustomArray["abcd"]');
165
+ }).to.throw();
150
166
  // Test path resolution after insertion
151
- var newEntry = PropertyFactory.create('autodesk.tests:TestID-1.0.0');
167
+ var newEntry = PropertyFactory.create("autodesk.tests:TestID-1.0.0");
152
168
  newEntry._properties.MyIntProp.value = -1;
153
169
  arrayParent._properties.MyCustomArray.insertRange(0, [newEntry]);
154
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(-1);
155
- expect(myTestArrayProp.getAbsolutePath()).to.equal('/MyCustomArray[6]');
170
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(-1);
171
+ expect(myTestArrayProp.getAbsolutePath()).to.equal("/MyCustomArray[6]");
156
172
  // Test path resolution after setting
157
173
  // TODO: set currently broken
158
- var newEntry2 = PropertyFactory.create('autodesk.tests:TestID-1.0.0');
174
+ var newEntry2 = PropertyFactory.create("autodesk.tests:TestID-1.0.0");
159
175
  newEntry2._properties.MyIntProp.value = -2;
160
176
  arrayParent._properties.MyCustomArray.set(0, newEntry2);
161
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(-2);
177
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(-2);
162
178
  // Test path resolution after removal
163
179
  arrayParent._properties.MyCustomArray.removeRange(0, 1);
164
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(0);
165
- expect(myTestArrayProp.getAbsolutePath()).to.equal('/MyCustomArray[5]');
180
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(0);
181
+ expect(myTestArrayProp.getAbsolutePath()).to.equal("/MyCustomArray[5]");
166
182
  // Test path resolution after insertion via applyChangeSet
167
183
  arrayParent._properties.MyCustomArray.applyChangeSet({
168
- insert: [[0, [{
169
- typeid: 'autodesk.tests:TestID-1.0.0',
184
+ insert: [
185
+ [
186
+ 0,
187
+ [
188
+ {
189
+ typeid: "autodesk.tests:TestID-1.0.0",
170
190
  Float32: {
171
191
  MyFloatProp: 16,
172
192
  },
173
193
  Int32: {
174
194
  MyIntProp: 17,
175
195
  },
176
- }, {
177
- typeid: 'autodesk.tests:TestID-1.0.0',
196
+ },
197
+ {
198
+ typeid: "autodesk.tests:TestID-1.0.0",
178
199
  Float32: {
179
200
  MyFloatProp: 18,
180
201
  },
181
202
  Int32: {
182
203
  MyIntProp: 19,
183
204
  },
184
- }]],
205
+ },
206
+ ],
207
+ ],
185
208
  ],
186
209
  });
187
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(17);
188
- expect(myTestArrayProp.getAbsolutePath()).to.equal('/MyCustomArray[7]');
189
- var serialied = arrayParent._properties.MyCustomArray.serialize({ 'dirtyOnly': false });
210
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(17);
211
+ expect(myTestArrayProp.getAbsolutePath()).to.equal("/MyCustomArray[7]");
212
+ var serialied = arrayParent._properties.MyCustomArray.serialize({ dirtyOnly: false });
190
213
  // Test path resolution after removal
191
214
  arrayParent._properties.MyCustomArray.applyChangeSet({
192
215
  remove: [[0, 1]],
193
216
  });
194
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(19);
195
- expect(myTestArrayProp.getAbsolutePath()).to.equal('/MyCustomArray[6]');
196
- expect(arrayParent.resolvePath('MyCustomArray[11]')).to.be.undefined;
217
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(19);
218
+ expect(myTestArrayProp.getAbsolutePath()).to.equal("/MyCustomArray[6]");
219
+ expect(arrayParent.resolvePath("MyCustomArray[11]")).to.be.undefined;
197
220
  // Test Path resolution after deserialize
198
221
  arrayParent._properties.MyCustomArray.deserialize(serialied);
199
- expect(arrayParent.resolvePath('MyCustomArray[0]')._properties.MyIntProp.value).to.equal(17);
200
- expect(arrayParent.resolvePath('MyCustomArray[11]')).not.to.be.undefined;
222
+ expect(arrayParent.resolvePath("MyCustomArray[0]")._properties.MyIntProp.value).to.equal(17);
223
+ expect(arrayParent.resolvePath("MyCustomArray[11]")).not.to.be.undefined;
201
224
  arrayParent._properties.MyCustomArray.deserialize({});
202
- expect(arrayParent.resolvePath('MyCustomArray[0]')).to.be.undefined;
203
- expect(arrayParent.resolvePath('MyCustomArray[11]')).to.be.undefined;
225
+ expect(arrayParent.resolvePath("MyCustomArray[0]")).to.be.undefined;
226
+ expect(arrayParent.resolvePath("MyCustomArray[11]")).to.be.undefined;
204
227
  // Try multiple levels
205
- var leaf = PropertyFactory.create('NodeProperty');
206
- expect(leaf.resolvePath('/')).to.equal(leaf);
207
- var array1 = PropertyFactory.create('NodeProperty', 'array');
228
+ var leaf = PropertyFactory.create("NodeProperty");
229
+ expect(leaf.resolvePath("/")).to.equal(leaf);
230
+ var array1 = PropertyFactory.create("NodeProperty", "array");
208
231
  array1.push(leaf);
209
- expect(leaf.resolvePath('/')).to.equal(array1);
210
- var array2 = PropertyFactory.create(undefined, 'array');
232
+ expect(leaf.resolvePath("/")).to.equal(array1);
233
+ var array2 = PropertyFactory.create(undefined, "array");
211
234
  array2.push(array1);
212
- expect(leaf.resolvePath('/')).to.equal(array2);
213
- var array3 = PropertyFactory.create(undefined, 'array');
235
+ expect(leaf.resolvePath("/")).to.equal(array2);
236
+ var array3 = PropertyFactory.create(undefined, "array");
214
237
  array3.push(array2);
215
- expect(leaf.resolvePath('/')).to.equal(array3);
238
+ expect(leaf.resolvePath("/")).to.equal(array3);
216
239
  });
217
240
  });
218
- describe('Sized arrays', function () {
241
+ describe("Sized arrays", function () {
219
242
  // Test fix for an issue where custom array templates with non-zero sizes
220
243
  // resulted in the array initially containing objects without a parent.
221
- it('should work for custom array property templates with size specified', function () {
244
+ it("should work for custom array property templates with size specified", function () {
222
245
  var TestString = {
223
- typeid: 'autodesk.test:test.string-1.0.0',
224
- properties: [
225
- { id: 'data', typeid: 'String' },
226
- ],
246
+ typeid: "autodesk.test:test.string-1.0.0",
247
+ properties: [{ id: "data", typeid: "String" }],
227
248
  };
228
249
  var TestCustomArray = {
229
- typeid: 'autodesk.test:test.customarray-1.0.0',
250
+ typeid: "autodesk.test:test.customarray-1.0.0",
230
251
  properties: [
231
- { id: 'data', typeid: 'autodesk.test:test.string-1.0.0', context: 'array', length: 3 },
252
+ {
253
+ id: "data",
254
+ typeid: "autodesk.test:test.string-1.0.0",
255
+ context: "array",
256
+ length: 3,
257
+ },
232
258
  ],
233
259
  };
234
260
  PropertyFactory._reregister(TestString);
235
261
  PropertyFactory._reregister(TestCustomArray);
236
- var sizedArray = PropertyFactory.create('autodesk.test:test.customarray-1.0.0');
262
+ var sizedArray = PropertyFactory.create("autodesk.test:test.customarray-1.0.0");
237
263
  // Prior to the fix to properly parent initial elements, clear() would result in an exception with
238
264
  // the message 'Trying to remove a property from an array that has not the array as parent.'
239
265
  var clearArrayFn = function () {
240
- sizedArray.resolvePath('data').clear();
266
+ sizedArray.resolvePath("data").clear();
241
267
  };
242
268
  expect(clearArrayFn).to.not.throw();
243
269
  });
244
270
  });
245
- describe('Commit', function () {
271
+ describe("Commit", function () {
246
272
  /* it('should not appear in the changeset when committing a change on its sibling', function() {
247
273
  // TODO: This test cannot be implemented in Fluid
248
274
  let cm = new HFDM();
@@ -268,57 +294,57 @@ describe('CustomArrayProperty', function () {
268
294
  return cm._commit(null, checkoutView);
269
295
  });
270
296
  }); */
271
- describe('Nested collections', function () {
272
- it('should support squashing of nested maps', function () {
273
- var nodeProp = PropertyFactory.create('NodeProperty');
274
- var arrayProp = PropertyFactory.create('array<BaseProperty>');
275
- var testMap = PropertyFactory.create('map<Bool>');
276
- nodeProp.insert('array', arrayProp);
277
- testMap.set('test', true);
297
+ describe("Nested collections", function () {
298
+ it("should support squashing of nested maps", function () {
299
+ var nodeProp = PropertyFactory.create("NodeProperty");
300
+ var arrayProp = PropertyFactory.create("array<BaseProperty>");
301
+ var testMap = PropertyFactory.create("map<Bool>");
302
+ nodeProp.insert("array", arrayProp);
303
+ testMap.set("test", true);
278
304
  arrayProp.push(testMap);
279
- var CS1 = nodeProp.serialize({ 'dirtyOnly': false });
305
+ var CS1 = nodeProp.serialize({ dirtyOnly: false });
280
306
  nodeProp.cleanDirty();
281
- testMap.set('test', false);
282
- var CS2 = nodeProp.serialize({ 'dirtyOnly': true });
307
+ testMap.set("test", false);
308
+ var CS2 = nodeProp.serialize({ dirtyOnly: true });
283
309
  var CS = new ChangeSet(CS1);
284
310
  CS.applyChangeSet(new ChangeSet(CS2));
285
- var arrayChanges = CS.getSerializedChangeSet().insert['array<>'].array;
286
- expect(arrayChanges.insert[0][1][0]).to.have.all.keys('insert', 'typeid');
287
- expect(arrayChanges.insert[0][1][0].insert['test']).to.equal(false);
311
+ var arrayChanges = CS.getSerializedChangeSet().insert["array<>"].array;
312
+ expect(arrayChanges.insert[0][1][0]).to.have.all.keys("insert", "typeid");
313
+ expect(arrayChanges.insert[0][1][0].insert["test"]).to.equal(false);
288
314
  });
289
- it('should support basic rebasing of nested maps', function () {
290
- var nodeProp = PropertyFactory.create('NodeProperty');
291
- var arrayProp = PropertyFactory.create('array<BaseProperty>');
292
- var testMap = PropertyFactory.create('map<Bool>');
293
- nodeProp.insert('array', arrayProp);
294
- testMap.set('test', true);
315
+ it("should support basic rebasing of nested maps", function () {
316
+ var nodeProp = PropertyFactory.create("NodeProperty");
317
+ var arrayProp = PropertyFactory.create("array<BaseProperty>");
318
+ var testMap = PropertyFactory.create("map<Bool>");
319
+ nodeProp.insert("array", arrayProp);
320
+ testMap.set("test", true);
295
321
  arrayProp.push(testMap);
296
322
  nodeProp.cleanDirty();
297
- testMap.set('test', false);
298
- var CS1 = nodeProp.serialize({ 'dirtyOnly': true });
323
+ testMap.set("test", false);
324
+ var CS1 = nodeProp.serialize({ dirtyOnly: true });
299
325
  var CS2 = deepCopy(CS1);
300
326
  var CS = new ChangeSet(CS1);
301
327
  var conflicts = [];
302
328
  CS._rebaseChangeSet(CS2, conflicts);
303
329
  expect(conflicts.length).to.equal(1);
304
330
  expect(conflicts[0].type).to.be.equal(ChangeSet.ConflictType.COLLIDING_SET);
305
- expect(conflicts[0].path).to.be.equal('array[0][test]');
331
+ expect(conflicts[0].path).to.be.equal("array[0][test]");
306
332
  });
307
- it('should be deserializable', function () {
308
- var testArray = PropertyFactory.create('array<>');
309
- testArray.push(PropertyFactory.create('array<>'));
310
- var serialized = testArray.serialize({ 'dirtyOnly': false });
311
- var testArray2 = PropertyFactory.create('array<>');
333
+ it("should be deserializable", function () {
334
+ var testArray = PropertyFactory.create("array<>");
335
+ testArray.push(PropertyFactory.create("array<>"));
336
+ var serialized = testArray.serialize({ dirtyOnly: false });
337
+ var testArray2 = PropertyFactory.create("array<>");
312
338
  testArray2.deserialize(serialized);
313
- expect(testArray2.serialize({ 'dirtyOnly': false })).to.deep.equal(testArray.serialize({ 'dirtyOnly': false }));
339
+ expect(testArray2.serialize({ dirtyOnly: false })).to.deep.equal(testArray.serialize({ dirtyOnly: false }));
314
340
  });
315
341
  });
316
- describe('deserialize', function () {
342
+ describe("deserialize", function () {
317
343
  // Returns a sequence of random NamedProperties
318
344
  var createRandomEntries = function (in_count) {
319
345
  return _.map(_.range(in_count), function () {
320
- var property = PropertyFactory.create('autodesk.tests:Array.NamedPropertyWithString-1.0.0');
321
- property._properties.stringProperty.value = 'initial';
346
+ var property = PropertyFactory.create("autodesk.tests:Array.NamedPropertyWithString-1.0.0");
347
+ property._properties.stringProperty.value = "initial";
322
348
  return property;
323
349
  });
324
350
  };
@@ -326,12 +352,13 @@ describe('CustomArrayProperty', function () {
326
352
  // here since we want to test that function below and don't want
327
353
  // an error here to affect the comparison)
328
354
  var manuallyCopyArray = function (arrayProperty) {
329
- var copiedArray = PropertyFactory.create('autodesk.tests:Array.NamedPropertyWithString-1.0.0', 'array');
355
+ var copiedArray = PropertyFactory.create("autodesk.tests:Array.NamedPropertyWithString-1.0.0", "array");
330
356
  var copiedEntries = _.map(arrayProperty.getEntriesReadOnly(), function (entry) {
331
357
  // Create a named property with the same guid
332
- var newNode = PropertyFactory.create('autodesk.tests:Array.NamedPropertyWithString-1.0.0');
358
+ var newNode = PropertyFactory.create("autodesk.tests:Array.NamedPropertyWithString-1.0.0");
333
359
  newNode._properties.guid.value = entry.getGuid();
334
- newNode._properties.stringProperty.value = entry._properties.stringProperty.value;
360
+ newNode._properties.stringProperty.value =
361
+ entry._properties.stringProperty.value;
335
362
  return newNode;
336
363
  });
337
364
  copiedArray.insertRange(0, copiedEntries);
@@ -340,7 +367,7 @@ describe('CustomArrayProperty', function () {
340
367
  // Prepare the initial state
341
368
  var initializeArrayForComparison = function (in_count) {
342
369
  // Create an array with named properties
343
- var arrayProperty = PropertyFactory.create('NamedProperty', 'array');
370
+ var arrayProperty = PropertyFactory.create("NamedProperty", "array");
344
371
  var entries = createRandomEntries(in_count);
345
372
  arrayProperty.insertRange(0, entries);
346
373
  var copiedArray = manuallyCopyArray(arrayProperty);
@@ -355,12 +382,12 @@ describe('CustomArrayProperty', function () {
355
382
  var copy2 = manuallyCopyArray(in_testArray.copy);
356
383
  // deserialize the changes into the copied array property
357
384
  in_testArray.copy.cleanDirty();
358
- var deserialized = in_testArray.copy.deserialize(in_testArray.original.serialize({ 'dirtyOnly': false }));
359
- expect(in_testArray.copy.serialize({ 'dirtyOnly': false })).to.deep.equal(in_testArray.original.serialize({ 'dirtyOnly': false }));
360
- expect(deserialized).to.deep.equal(in_testArray.copy.serialize({ 'dirtyOnly': true }));
385
+ var deserialized = in_testArray.copy.deserialize(in_testArray.original.serialize({ dirtyOnly: false }));
386
+ expect(in_testArray.copy.serialize({ dirtyOnly: false })).to.deep.equal(in_testArray.original.serialize({ dirtyOnly: false }));
387
+ expect(deserialized).to.deep.equal(in_testArray.copy.serialize({ dirtyOnly: true }));
361
388
  // Make sure the returned ChangeSet is correct
362
389
  copy2.applyChangeSet(deserialized);
363
- expect(copy2.serialize({ 'dirtyOnly': false })).to.deep.equal(in_testArray.original.serialize({ 'dirtyOnly': false }));
390
+ expect(copy2.serialize({ dirtyOnly: false })).to.deep.equal(in_testArray.original.serialize({ dirtyOnly: false }));
364
391
  // Count insert, modify and remove operations
365
392
  var insertedCount = _.reduce(deserialized.insert, function (last, insertedRange) {
366
393
  return last + insertedRange[1].length;
@@ -381,7 +408,7 @@ describe('CustomArrayProperty', function () {
381
408
  modifiedRanges: deserialized.modify ? deserialized.modify.length : 0,
382
409
  };
383
410
  };
384
- it('should report an empty ChangeSet for deserialize without changes', function () {
411
+ it("should report an empty ChangeSet for deserialize without changes", function () {
385
412
  var testArray = initializeArrayForComparison(50);
386
413
  // Check the returned ChangeSet
387
414
  var changed = countChanges(testArray);
@@ -395,7 +422,7 @@ describe('CustomArrayProperty', function () {
395
422
  modifiedRanges: 0,
396
423
  });
397
424
  });
398
- it('should report an empty ChangeSet for a length 0 array', function () {
425
+ it("should report an empty ChangeSet for a length 0 array", function () {
399
426
  var testArray = initializeArrayForComparison(0);
400
427
  // Check the returned ChangeSet
401
428
  var changed = countChanges(testArray);
@@ -409,7 +436,7 @@ describe('CustomArrayProperty', function () {
409
436
  modifiedRanges: 0,
410
437
  });
411
438
  });
412
- it('should report a compact ChangeSet for simple move in an array of NamedProperties', function () {
439
+ it("should report a compact ChangeSet for simple move in an array of NamedProperties", function () {
413
440
  var testArray = initializeArrayForComparison(50);
414
441
  // Move a segment in the array
415
442
  var entries = [
@@ -431,7 +458,7 @@ describe('CustomArrayProperty', function () {
431
458
  modifiedRanges: 0,
432
459
  });
433
460
  });
434
- it('should report a compact ChangeSet for simple inserts in an array of NamedProperties', function () {
461
+ it("should report a compact ChangeSet for simple inserts in an array of NamedProperties", function () {
435
462
  var testArray = initializeArrayForComparison(50);
436
463
  testArray.original.insertRange(0, createRandomEntries(5));
437
464
  testArray.original.insertRange(25, createRandomEntries(5));
@@ -447,7 +474,7 @@ describe('CustomArrayProperty', function () {
447
474
  modifiedRanges: 0,
448
475
  });
449
476
  });
450
- it('should report a compact ChangeSet for simple removes in an array of NamedProperties', function () {
477
+ it("should report a compact ChangeSet for simple removes in an array of NamedProperties", function () {
451
478
  var testArray = initializeArrayForComparison(50);
452
479
  testArray.original.removeRange(0, 5);
453
480
  testArray.original.removeRange(15, 5);
@@ -463,7 +490,7 @@ describe('CustomArrayProperty', function () {
463
490
  modifiedRanges: 0,
464
491
  });
465
492
  });
466
- it('should report a compact ChangeSet for simple replaces in an array of NamedProperties', function () {
493
+ it("should report a compact ChangeSet for simple replaces in an array of NamedProperties", function () {
467
494
  var testArray = initializeArrayForComparison(50);
468
495
  testArray.original.removeRange(0, 5);
469
496
  testArray.original.insertRange(0, createRandomEntries(5));
@@ -482,14 +509,14 @@ describe('CustomArrayProperty', function () {
482
509
  modifiedRanges: 0,
483
510
  });
484
511
  });
485
- it('should report a compact ChangeSet for modifies after inserts and removes', function () {
512
+ it("should report a compact ChangeSet for modifies after inserts and removes", function () {
486
513
  var testArray = initializeArrayForComparison(50);
487
514
  testArray.original.removeRange(5, 5);
488
- testArray.original.get(7)._properties.stringProperty.value = 'NewValue1';
515
+ testArray.original.get(7)._properties.stringProperty.value = "NewValue1";
489
516
  testArray.original.insertRange(10, createRandomEntries(5));
490
- testArray.original.get(20)._properties.stringProperty.value = 'NewValue2';
491
- testArray.original.get(21)._properties.stringProperty.value = 'NewValue3';
492
- testArray.original.get(22)._properties.stringProperty.value = 'NewValue4';
517
+ testArray.original.get(20)._properties.stringProperty.value = "NewValue2";
518
+ testArray.original.get(21)._properties.stringProperty.value = "NewValue3";
519
+ testArray.original.get(22)._properties.stringProperty.value = "NewValue4";
493
520
  var changed = countChanges(testArray);
494
521
  expect(changed).to.deep.equal({
495
522
  insertedCount: 5,
@@ -501,8 +528,8 @@ describe('CustomArrayProperty', function () {
501
528
  modifiedRanges: 2,
502
529
  });
503
530
  });
504
- it('should report a compact ChangeSet for a randomized array of NamedProperties', function () {
505
- var generator = new DeterministicRandomGenerator('931cff4d-392f-2f41-5c52-2e17965270dc');
531
+ it("should report a compact ChangeSet for a randomized array of NamedProperties", function () {
532
+ var generator = new DeterministicRandomGenerator("931cff4d-392f-2f41-5c52-2e17965270dc");
506
533
  this.timeout(90000);
507
534
  for (var i = 0; i < 20; i++) {
508
535
  var numInitialEntries = generator.irandom(300);
@@ -534,13 +561,13 @@ describe('CustomArrayProperty', function () {
534
561
  var rangeStart = generator.irandom(testArray.original.length);
535
562
  var rangeLength = generator.irandom(testArray.original.length - rangeStart);
536
563
  for (var j = rangeStart; j < rangeStart + rangeLength; j++) {
537
- testArray.original.get(j)._properties.stringProperty.value += 'modified';
564
+ testArray.original.get(j)._properties.stringProperty.value += "modified";
538
565
  }
539
566
  modifiedEntries += rangeLength;
540
567
  }
541
568
  break;
542
569
  default:
543
- throw new Error('Should never happen');
570
+ throw new Error("Should never happen");
544
571
  }
545
572
  }
546
573
  // Check whether the reported changes are as compact as the modifications