@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
@@ -1 +1 @@
1
- {"version":3,"file":"containerProperty.spec.js","sourceRoot":"","sources":["../../../src/test/properties/containerProperty.spec.js"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * @fileoverview In this file, we will test the functions related Container property object\n * this will also tests parts of Property Factory that creates Container property\n */\n\nconst MSG = require('@fluid-experimental/property-common').constants.MSG;\nconst PropertyFactory = require('../..').PropertyFactory;\n\ndescribe('ContainerProperty', function() {\n beforeEach(() => {\n PropertyFactory._clear();\n });\n\n describe('Changeset', function() {\n it('should not add created properties to the changeset on creation', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32' },\n { id: 'bool', typeid: 'Bool' },\n { id: 'string', typeid: 'String' },\n ],\n };\n\n const changeset = {\n Uint32: { num: 0 },\n Bool: { bool: false },\n String: { string: '' },\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n expect(instance._serialize(false, false)).to.deep.equal(changeset);\n expect(instance._serialize(true, false)).to.be.empty;\n });\n\n it('should add optional properties that have default values to the changeset on creation', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', value: 111, optional: true },\n { id: 'bool', typeid: 'Bool', value: true, optional: true },\n { id: 'string', typeid: 'String', value: 'basic', optional: true },\n ],\n };\n\n const changeset = {\n insert: {\n Uint32: { num: 111 },\n Bool: { bool: true },\n String: { string: 'basic' },\n },\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n expect(instance._serialize(true, false)).to.deep.equal(changeset);\n });\n\n it('should not add optional properties that do not have default values to the changeset on creation', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', optional: true },\n { id: 'bool', typeid: 'Bool', optional: true },\n { id: 'string', typeid: 'String', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n expect(instance._serialize(true, false)).to.be.empty;\n });\n });\n\n describe('Optional Properties', function() {\n it('should not exist on creation if no value is specified', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', optional: true },\n { id: 'bool', typeid: 'Bool', optional: true },\n { id: 'string', typeid: 'String', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n expect(instance.get('num')).to.be.undefined;\n expect(instance.get('bool')).to.be.undefined;\n expect(instance.get('string')).to.be.undefined;\n });\n\n it('should exist on creation if value is specified', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', value: 111, optional: true },\n { id: 'bool', typeid: 'Bool', value: true, optional: true },\n { id: 'string', typeid: 'String', value: 'basic', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n expect(instance.get('num').getValue()).to.equal(111);\n expect(instance.get('bool').getValue()).to.equal(true);\n expect(instance.get('string').getValue()).to.equal('basic');\n });\n\n it('can be inserted', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', optional: true },\n { id: 'bool', typeid: 'Bool', optional: true },\n { id: 'string', typeid: 'String', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n const num = PropertyFactory.create('Uint32');\n num.setValue(111);\n\n const string = PropertyFactory.create('String');\n string.setValue('basic');\n\n const bool = PropertyFactory.create('Bool');\n bool.setValue(true);\n\n instance.insert('num', num);\n instance.insert('bool', bool);\n instance.insert('string', string);\n\n expect(instance.get('num').getValue()).to.equal(111);\n expect(instance.get('bool').getValue()).to.equal(true);\n expect(instance.get('string').getValue()).to.equal('basic');\n });\n\n it('can be removed', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', value: 111, optional: true },\n { id: 'bool', typeid: 'Bool', value: true, optional: true },\n { id: 'string', typeid: 'String', value: 'basic', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n instance.remove('num');\n instance.remove('bool');\n instance.remove('string');\n\n expect(instance.get('num')).to.be.undefined;\n expect(instance.get('bool')).to.be.undefined;\n expect(instance.get('string')).to.be.undefined;\n });\n\n it('throws error if inserted property has unknown id', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', value: 111, optional: true },\n { id: 'bool', typeid: 'Bool', value: true, optional: true },\n { id: 'string', typeid: 'String', value: 'basic', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n const prop = PropertyFactory.create('String');\n\n expect(() => { instance.insert('badId', prop); }).to.throw(MSG.CANNOT_INSERT_UNKNOWN_PROPERTY + 'badId');\n });\n\n it('throws error if inserted property typeid does not match corresponding typeid', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', optional: true },\n { id: 'bool', typeid: 'Bool', optional: true },\n { id: 'string', typeid: 'String', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n const prop = PropertyFactory.create('String');\n\n expect(() => { instance.insert('num', prop); }).to.throw(MSG.MISMATCHING_PROPERTY_TYPEID);\n });\n\n it('throws error if attempting to remove a not optional property', function() {\n const DefaultPrimitive = {\n typeid: 'SimpleTest:OptionalPrimitive-1.0.0',\n properties: [\n { id: 'num', typeid: 'Uint32', value: 111 },\n { id: 'bool', typeid: 'Bool', value: true, optional: true },\n { id: 'string', typeid: 'String', value: 'basic', optional: true },\n ],\n };\n\n PropertyFactory._reregister(DefaultPrimitive);\n\n const instance = PropertyFactory.create('SimpleTest:OptionalPrimitive-1.0.0');\n\n expect(() => { instance.remove('num'); }).to.throw(MSG.CANNOT_REMOVE_NONE_OPTIONAL_PROP + 'num');\n });\n });\n});\n"]}
1
+ {"version":3,"file":"containerProperty.spec.js","sourceRoot":"","sources":["../../../src/test/properties/containerProperty.spec.js"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * @fileoverview In this file, we will test the functions related Container property object\n * this will also tests parts of Property Factory that creates Container property\n */\n\nconst MSG = require(\"@fluid-experimental/property-common\").constants.MSG;\nconst PropertyFactory = require(\"../..\").PropertyFactory;\n\ndescribe(\"ContainerProperty\", function () {\n\tbeforeEach(() => {\n\t\tPropertyFactory._clear();\n\t});\n\n\tdescribe(\"Changeset\", function () {\n\t\tit(\"should not add created properties to the changeset on creation\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\" },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\" },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\" },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tconst changeset = {\n\t\t\t\tUint32: { num: 0 },\n\t\t\t\tBool: { bool: false },\n\t\t\t\tString: { string: \"\" },\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\texpect(instance._serialize(false, false)).to.deep.equal(changeset);\n\t\t\texpect(instance._serialize(true, false)).to.be.empty;\n\t\t});\n\n\t\tit(\"should add optional properties that have default values to the changeset on creation\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", value: 111, optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", value: true, optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", value: \"basic\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tconst changeset = {\n\t\t\t\tinsert: {\n\t\t\t\t\tUint32: { num: 111 },\n\t\t\t\t\tBool: { bool: true },\n\t\t\t\t\tString: { string: \"basic\" },\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\texpect(instance._serialize(true, false)).to.deep.equal(changeset);\n\t\t});\n\n\t\tit(\"should not add optional properties that do not have default values to the changeset on creation\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\texpect(instance._serialize(true, false)).to.be.empty;\n\t\t});\n\t});\n\n\tdescribe(\"Optional Properties\", function () {\n\t\tit(\"should not exist on creation if no value is specified\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\t\t\texpect(instance.get(\"num\")).to.be.undefined;\n\t\t\texpect(instance.get(\"bool\")).to.be.undefined;\n\t\t\texpect(instance.get(\"string\")).to.be.undefined;\n\t\t});\n\n\t\tit(\"should exist on creation if value is specified\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", value: 111, optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", value: true, optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", value: \"basic\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\t\t\texpect(instance.get(\"num\").getValue()).to.equal(111);\n\t\t\texpect(instance.get(\"bool\").getValue()).to.equal(true);\n\t\t\texpect(instance.get(\"string\").getValue()).to.equal(\"basic\");\n\t\t});\n\n\t\tit(\"can be inserted\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\tconst num = PropertyFactory.create(\"Uint32\");\n\t\t\tnum.setValue(111);\n\n\t\t\tconst string = PropertyFactory.create(\"String\");\n\t\t\tstring.setValue(\"basic\");\n\n\t\t\tconst bool = PropertyFactory.create(\"Bool\");\n\t\t\tbool.setValue(true);\n\n\t\t\tinstance.insert(\"num\", num);\n\t\t\tinstance.insert(\"bool\", bool);\n\t\t\tinstance.insert(\"string\", string);\n\n\t\t\texpect(instance.get(\"num\").getValue()).to.equal(111);\n\t\t\texpect(instance.get(\"bool\").getValue()).to.equal(true);\n\t\t\texpect(instance.get(\"string\").getValue()).to.equal(\"basic\");\n\t\t});\n\n\t\tit(\"can be removed\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", value: 111, optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", value: true, optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", value: \"basic\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\tinstance.remove(\"num\");\n\t\t\tinstance.remove(\"bool\");\n\t\t\tinstance.remove(\"string\");\n\n\t\t\texpect(instance.get(\"num\")).to.be.undefined;\n\t\t\texpect(instance.get(\"bool\")).to.be.undefined;\n\t\t\texpect(instance.get(\"string\")).to.be.undefined;\n\t\t});\n\n\t\tit(\"throws error if inserted property has unknown id\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", value: 111, optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", value: true, optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", value: \"basic\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\t\t\tconst prop = PropertyFactory.create(\"String\");\n\n\t\t\texpect(() => {\n\t\t\t\tinstance.insert(\"badId\", prop);\n\t\t\t}).to.throw(MSG.CANNOT_INSERT_UNKNOWN_PROPERTY + \"badId\");\n\t\t});\n\n\t\tit(\"throws error if inserted property typeid does not match corresponding typeid\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", optional: true },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\t\t\tconst prop = PropertyFactory.create(\"String\");\n\n\t\t\texpect(() => {\n\t\t\t\tinstance.insert(\"num\", prop);\n\t\t\t}).to.throw(MSG.MISMATCHING_PROPERTY_TYPEID);\n\t\t});\n\n\t\tit(\"throws error if attempting to remove a not optional property\", function () {\n\t\t\tconst DefaultPrimitive = {\n\t\t\t\ttypeid: \"SimpleTest:OptionalPrimitive-1.0.0\",\n\t\t\t\tproperties: [\n\t\t\t\t\t{ id: \"num\", typeid: \"Uint32\", value: 111 },\n\t\t\t\t\t{ id: \"bool\", typeid: \"Bool\", value: true, optional: true },\n\t\t\t\t\t{ id: \"string\", typeid: \"String\", value: \"basic\", optional: true },\n\t\t\t\t],\n\t\t\t};\n\n\t\t\tPropertyFactory._reregister(DefaultPrimitive);\n\n\t\t\tconst instance = PropertyFactory.create(\"SimpleTest:OptionalPrimitive-1.0.0\");\n\n\t\t\texpect(() => {\n\t\t\t\tinstance.remove(\"num\");\n\t\t\t}).to.throw(MSG.CANNOT_REMOVE_NONE_OPTIONAL_PROP + \"num\");\n\t\t});\n\t});\n});\n"]}