@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.
- package/README.md +1 -0
- package/dist/containerSerializer.d.ts.map +1 -1
- package/dist/containerSerializer.js +5 -5
- package/dist/containerSerializer.js.map +1 -1
- package/dist/enableValidations.js.map +1 -1
- package/dist/index.d.ts +19 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/properties/abstractStaticCollectionProperty.d.ts +10 -10
- package/dist/properties/abstractStaticCollectionProperty.d.ts.map +1 -1
- package/dist/properties/abstractStaticCollectionProperty.js +70 -53
- package/dist/properties/abstractStaticCollectionProperty.js.map +1 -1
- package/dist/properties/arrayProperty.d.ts.map +1 -1
- package/dist/properties/arrayProperty.js +152 -103
- package/dist/properties/arrayProperty.js.map +1 -1
- package/dist/properties/baseProperty.d.ts +4 -4
- package/dist/properties/baseProperty.d.ts.map +1 -1
- package/dist/properties/baseProperty.js +69 -47
- package/dist/properties/baseProperty.js.map +1 -1
- package/dist/properties/boolProperty.d.ts.map +1 -1
- package/dist/properties/boolProperty.js +3 -3
- package/dist/properties/boolProperty.js.map +1 -1
- package/dist/properties/containerProperty.d.ts +8 -8
- package/dist/properties/containerProperty.d.ts.map +1 -1
- package/dist/properties/containerProperty.js +33 -26
- package/dist/properties/containerProperty.js.map +1 -1
- package/dist/properties/enumArrayProperty.d.ts.map +1 -1
- package/dist/properties/enumArrayProperty.js +14 -14
- package/dist/properties/enumArrayProperty.js.map +1 -1
- package/dist/properties/enumProperty.d.ts.map +1 -1
- package/dist/properties/enumProperty.js +17 -17
- package/dist/properties/enumProperty.js.map +1 -1
- package/dist/properties/floatProperties.js +4 -4
- package/dist/properties/floatProperties.js.map +1 -1
- package/dist/properties/index.d.ts +23 -23
- package/dist/properties/index.d.ts.map +1 -1
- package/dist/properties/index.js.map +1 -1
- package/dist/properties/indexedCollectionBaseProperty.d.ts.map +1 -1
- package/dist/properties/indexedCollectionBaseProperty.js +47 -37
- package/dist/properties/indexedCollectionBaseProperty.js.map +1 -1
- package/dist/properties/intProperties.d.ts.map +1 -1
- package/dist/properties/intProperties.js +10 -10
- package/dist/properties/intProperties.js.map +1 -1
- package/dist/properties/lazyLoadedProperties.js.map +1 -1
- package/dist/properties/mapProperty.d.ts.map +1 -1
- package/dist/properties/mapProperty.js +21 -17
- package/dist/properties/mapProperty.js.map +1 -1
- package/dist/properties/namedNodeProperty.d.ts.map +1 -1
- package/dist/properties/namedNodeProperty.js +3 -3
- package/dist/properties/namedNodeProperty.js.map +1 -1
- package/dist/properties/namedProperty.d.ts.map +1 -1
- package/dist/properties/namedProperty.js +7 -5
- package/dist/properties/namedProperty.js.map +1 -1
- package/dist/properties/nodeProperty.d.ts.map +1 -1
- package/dist/properties/nodeProperty.js +5 -3
- package/dist/properties/nodeProperty.js.map +1 -1
- package/dist/properties/primitiveTypeCasts.d.ts.map +1 -1
- package/dist/properties/primitiveTypeCasts.js +9 -9
- package/dist/properties/primitiveTypeCasts.js.map +1 -1
- package/dist/properties/referenceArrayProperty.d.ts.map +1 -1
- package/dist/properties/referenceArrayProperty.js +31 -25
- package/dist/properties/referenceArrayProperty.js.map +1 -1
- package/dist/properties/referenceMapProperty.d.ts.map +1 -1
- package/dist/properties/referenceMapProperty.js +18 -18
- package/dist/properties/referenceMapProperty.js.map +1 -1
- package/dist/properties/referenceProperty.d.ts.map +1 -1
- package/dist/properties/referenceProperty.js +33 -29
- package/dist/properties/referenceProperty.js.map +1 -1
- package/dist/properties/setProperty.d.ts.map +1 -1
- package/dist/properties/setProperty.js +31 -29
- package/dist/properties/setProperty.js.map +1 -1
- package/dist/properties/stringProperty.d.ts.map +1 -1
- package/dist/properties/stringProperty.js +56 -40
- package/dist/properties/stringProperty.js.map +1 -1
- package/dist/properties/uintProperties.js +5 -5
- package/dist/properties/uintProperties.js.map +1 -1
- package/dist/properties/valueArrayProperty.d.ts +1 -1
- package/dist/properties/valueArrayProperty.d.ts.map +1 -1
- package/dist/properties/valueArrayProperty.js +30 -29
- package/dist/properties/valueArrayProperty.js.map +1 -1
- package/dist/properties/valueMapProperty.d.ts.map +1 -1
- package/dist/properties/valueMapProperty.js +31 -29
- package/dist/properties/valueMapProperty.js.map +1 -1
- package/dist/properties/valueProperty.d.ts.map +1 -1
- package/dist/properties/valueProperty.js +11 -9
- package/dist/properties/valueProperty.js.map +1 -1
- package/dist/propertyFactory.d.ts.map +1 -1
- package/dist/propertyFactory.js +309 -252
- package/dist/propertyFactory.js.map +1 -1
- package/dist/propertyTemplate.d.ts +17 -17
- package/dist/propertyTemplate.d.ts.map +1 -1
- package/dist/propertyTemplate.js +64 -45
- package/dist/propertyTemplate.js.map +1 -1
- package/dist/propertyTemplateWrapper.d.ts.map +1 -1
- package/dist/propertyTemplateWrapper.js +40 -25
- package/dist/propertyTemplateWrapper.js.map +1 -1
- package/dist/propertyUtils.d.ts.map +1 -1
- package/dist/propertyUtils.js.map +1 -1
- package/dist/test/properties/arrayProperty.spec.js +566 -490
- package/dist/test/properties/arrayProperty.spec.js.map +1 -1
- package/dist/test/properties/baseProperty.spec.js +293 -280
- package/dist/test/properties/baseProperty.spec.js.map +1 -1
- package/dist/test/properties/containerProperty.spec.js +100 -94
- package/dist/test/properties/containerProperty.spec.js.map +1 -1
- package/dist/test/properties/customArrayProperty.spec.js +174 -147
- package/dist/test/properties/customArrayProperty.spec.js.map +1 -1
- package/dist/test/properties/enumArrayProperty.spec.js +67 -63
- package/dist/test/properties/enumArrayProperty.spec.js.map +1 -1
- package/dist/test/properties/enumProperty.spec.js +115 -97
- package/dist/test/properties/enumProperty.spec.js.map +1 -1
- package/dist/test/properties/float32.spec.js +5 -5
- package/dist/test/properties/float32.spec.js.map +1 -1
- package/dist/test/properties/int64ArrayProperty.spec.js +157 -93
- package/dist/test/properties/int64ArrayProperty.spec.js.map +1 -1
- package/dist/test/properties/int64MapProperty.spec.js +185 -166
- package/dist/test/properties/int64MapProperty.spec.js.map +1 -1
- package/dist/test/properties/int64Property.spec.js +109 -109
- package/dist/test/properties/int64Property.spec.js.map +1 -1
- package/dist/test/properties/isLeafNode.spec.js +75 -76
- package/dist/test/properties/isLeafNode.spec.js.map +1 -1
- package/dist/test/properties/mapProperty.spec.js +571 -531
- package/dist/test/properties/mapProperty.spec.js.map +1 -1
- package/dist/test/properties/namedNodeProperty.spec.js +31 -31
- package/dist/test/properties/namedNodeProperty.spec.js.map +1 -1
- package/dist/test/properties/nodeProperty.spec.js +805 -795
- package/dist/test/properties/nodeProperty.spec.js.map +1 -1
- package/dist/test/properties/referenceProperty.spec.js +729 -679
- package/dist/test/properties/referenceProperty.spec.js.map +1 -1
- package/dist/test/properties/relationshipProperty.spec.js +16 -16
- package/dist/test/properties/relationshipProperty.spec.js.map +1 -1
- package/dist/test/properties/setProperty.spec.js +288 -227
- package/dist/test/properties/setProperty.spec.js.map +1 -1
- package/dist/test/properties/stringProperty.spec.js +326 -318
- package/dist/test/properties/stringProperty.spec.js.map +1 -1
- package/dist/test/properties/uint64Property.spec.js +46 -36
- package/dist/test/properties/uint64Property.spec.js.map +1 -1
- package/dist/test/properties/valueMapProperty.spec.js +259 -246
- package/dist/test/properties/valueMapProperty.spec.js.map +1 -1
- package/dist/test/properties/valueProperty.spec.js +49 -43
- package/dist/test/properties/valueProperty.spec.js.map +1 -1
- package/dist/test/propertyFactory.spec.js +2038 -1631
- package/dist/test/propertyFactory.spec.js.map +1 -1
- package/dist/test/propertyTemplateWrapper.spec.js +72 -102
- package/dist/test/propertyTemplateWrapper.spec.js.map +1 -1
- package/dist/test/propertyUtils.spec.js +22 -21
- package/dist/test/propertyUtils.spec.js.map +1 -1
- package/dist/test/reversibleChangeset.spec.js +857 -703
- package/dist/test/reversibleChangeset.spec.js.map +1 -1
- package/dist/test/setup.js +5 -5
- package/dist/test/setup.js.map +1 -1
- package/dist/test/tsconfig.tsbuildinfo +1 -1
- package/dist/test/utils.spec.js +1334 -1144
- package/dist/test/utils.spec.js.map +1 -1
- package/dist/test/validation/badMissingSemverInTypeid.js +20 -20
- package/dist/test/validation/badMissingSemverInTypeid.js.map +1 -1
- package/dist/test/validation/badPrimitiveTypeid.js +12 -12
- package/dist/test/validation/badPrimitiveTypeid.js.map +1 -1
- package/dist/test/validation/goodColorId.js +91 -91
- package/dist/test/validation/goodColorId.js.map +1 -1
- package/dist/test/validation/goodColorPalette.js +4 -4
- package/dist/test/validation/goodColorPalette.js.map +1 -1
- package/dist/test/validation/goodPointId.js +20 -20
- package/dist/test/validation/goodPointId.js.map +1 -1
- package/dist/test/validation/reversibleChangeSetTestData.js +23841 -2
- package/dist/test/validation/reversibleChangeSetTestData.js.map +1 -1
- package/lib/containerSerializer.d.ts.map +1 -1
- package/lib/containerSerializer.js +5 -5
- package/lib/containerSerializer.js.map +1 -1
- package/lib/enableValidations.js.map +1 -1
- package/lib/index.d.ts +19 -19
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +19 -19
- package/lib/index.js.map +1 -1
- package/lib/properties/abstractStaticCollectionProperty.d.ts +10 -10
- package/lib/properties/abstractStaticCollectionProperty.d.ts.map +1 -1
- package/lib/properties/abstractStaticCollectionProperty.js +70 -53
- package/lib/properties/abstractStaticCollectionProperty.js.map +1 -1
- package/lib/properties/arrayProperty.d.ts.map +1 -1
- package/lib/properties/arrayProperty.js +152 -103
- package/lib/properties/arrayProperty.js.map +1 -1
- package/lib/properties/baseProperty.d.ts +4 -4
- package/lib/properties/baseProperty.d.ts.map +1 -1
- package/lib/properties/baseProperty.js +73 -51
- package/lib/properties/baseProperty.js.map +1 -1
- package/lib/properties/boolProperty.d.ts.map +1 -1
- package/lib/properties/boolProperty.js +3 -3
- package/lib/properties/boolProperty.js.map +1 -1
- package/lib/properties/containerProperty.d.ts +8 -8
- package/lib/properties/containerProperty.d.ts.map +1 -1
- package/lib/properties/containerProperty.js +33 -26
- package/lib/properties/containerProperty.js.map +1 -1
- package/lib/properties/enumArrayProperty.d.ts.map +1 -1
- package/lib/properties/enumArrayProperty.js +14 -14
- package/lib/properties/enumArrayProperty.js.map +1 -1
- package/lib/properties/enumProperty.d.ts.map +1 -1
- package/lib/properties/enumProperty.js +17 -17
- package/lib/properties/enumProperty.js.map +1 -1
- package/lib/properties/floatProperties.js +4 -4
- package/lib/properties/floatProperties.js.map +1 -1
- package/lib/properties/index.d.ts +23 -23
- package/lib/properties/index.d.ts.map +1 -1
- package/lib/properties/index.js +23 -23
- package/lib/properties/index.js.map +1 -1
- package/lib/properties/indexedCollectionBaseProperty.d.ts.map +1 -1
- package/lib/properties/indexedCollectionBaseProperty.js +47 -37
- package/lib/properties/indexedCollectionBaseProperty.js.map +1 -1
- package/lib/properties/intProperties.d.ts.map +1 -1
- package/lib/properties/intProperties.js +10 -10
- package/lib/properties/intProperties.js.map +1 -1
- package/lib/properties/lazyLoadedProperties.js.map +1 -1
- package/lib/properties/mapProperty.d.ts.map +1 -1
- package/lib/properties/mapProperty.js +21 -17
- package/lib/properties/mapProperty.js.map +1 -1
- package/lib/properties/namedNodeProperty.d.ts.map +1 -1
- package/lib/properties/namedNodeProperty.js +3 -3
- package/lib/properties/namedNodeProperty.js.map +1 -1
- package/lib/properties/namedProperty.d.ts.map +1 -1
- package/lib/properties/namedProperty.js +7 -5
- package/lib/properties/namedProperty.js.map +1 -1
- package/lib/properties/nodeProperty.d.ts.map +1 -1
- package/lib/properties/nodeProperty.js +5 -3
- package/lib/properties/nodeProperty.js.map +1 -1
- package/lib/properties/primitiveTypeCasts.d.ts.map +1 -1
- package/lib/properties/primitiveTypeCasts.js +9 -9
- package/lib/properties/primitiveTypeCasts.js.map +1 -1
- package/lib/properties/referenceArrayProperty.d.ts.map +1 -1
- package/lib/properties/referenceArrayProperty.js +31 -25
- package/lib/properties/referenceArrayProperty.js.map +1 -1
- package/lib/properties/referenceMapProperty.d.ts.map +1 -1
- package/lib/properties/referenceMapProperty.js +18 -18
- package/lib/properties/referenceMapProperty.js.map +1 -1
- package/lib/properties/referenceProperty.d.ts.map +1 -1
- package/lib/properties/referenceProperty.js +33 -29
- package/lib/properties/referenceProperty.js.map +1 -1
- package/lib/properties/setProperty.d.ts.map +1 -1
- package/lib/properties/setProperty.js +31 -29
- package/lib/properties/setProperty.js.map +1 -1
- package/lib/properties/stringProperty.d.ts.map +1 -1
- package/lib/properties/stringProperty.js +56 -40
- package/lib/properties/stringProperty.js.map +1 -1
- package/lib/properties/uintProperties.js +5 -5
- package/lib/properties/uintProperties.js.map +1 -1
- package/lib/properties/valueArrayProperty.d.ts +1 -1
- package/lib/properties/valueArrayProperty.d.ts.map +1 -1
- package/lib/properties/valueArrayProperty.js +30 -29
- package/lib/properties/valueArrayProperty.js.map +1 -1
- package/lib/properties/valueMapProperty.d.ts.map +1 -1
- package/lib/properties/valueMapProperty.js +31 -29
- package/lib/properties/valueMapProperty.js.map +1 -1
- package/lib/properties/valueProperty.d.ts.map +1 -1
- package/lib/properties/valueProperty.js +11 -9
- package/lib/properties/valueProperty.js.map +1 -1
- package/lib/propertyFactory.d.ts.map +1 -1
- package/lib/propertyFactory.js +309 -252
- package/lib/propertyFactory.js.map +1 -1
- package/lib/propertyTemplate.d.ts +17 -17
- package/lib/propertyTemplate.d.ts.map +1 -1
- package/lib/propertyTemplate.js +64 -45
- package/lib/propertyTemplate.js.map +1 -1
- package/lib/propertyTemplateWrapper.d.ts.map +1 -1
- package/lib/propertyTemplateWrapper.js +40 -25
- package/lib/propertyTemplateWrapper.js.map +1 -1
- package/lib/propertyUtils.d.ts.map +1 -1
- package/lib/propertyUtils.js.map +1 -1
- package/package.json +28 -28
- package/src/index.d.ts +2750 -2681
|
@@ -8,30 +8,30 @@
|
|
|
8
8
|
* described in /src/shared/property_sets/properties/int_property.js
|
|
9
9
|
*/
|
|
10
10
|
var PropertyFactory, nodeProp, containedInt64Prop, directInt64Prop, Int64, Uint64, BaseProperty, ChangeSet, TestInt64ArrayTemplate, MSG;
|
|
11
|
-
describe(
|
|
11
|
+
describe("Test Int64Property", function () {
|
|
12
12
|
/**
|
|
13
13
|
* Get all the objects we need in this test here.
|
|
14
14
|
*/
|
|
15
15
|
before(function () {
|
|
16
|
-
PropertyFactory = require(
|
|
17
|
-
BaseProperty = require(
|
|
18
|
-
ChangeSet = require(
|
|
19
|
-
Int64 = require(
|
|
20
|
-
Uint64 = require(
|
|
21
|
-
MSG = require(
|
|
16
|
+
PropertyFactory = require("../..").PropertyFactory;
|
|
17
|
+
BaseProperty = require("../..").BaseProperty;
|
|
18
|
+
ChangeSet = require("@fluid-experimental/property-changeset").ChangeSet;
|
|
19
|
+
Int64 = require("@fluid-experimental/property-common").Int64;
|
|
20
|
+
Uint64 = require("@fluid-experimental/property-common").Uint64;
|
|
21
|
+
MSG = require("@fluid-experimental/property-common").constants.MSG;
|
|
22
22
|
TestInt64ArrayTemplate = {
|
|
23
|
-
typeid:
|
|
23
|
+
typeid: "autodesk.tests:Int64TestID-1.0.0",
|
|
24
24
|
properties: [
|
|
25
|
-
{ id:
|
|
26
|
-
{ id:
|
|
25
|
+
{ id: "myInt64", typeid: "Int64" },
|
|
26
|
+
{ id: "myUint64", typeid: "Uint64" },
|
|
27
27
|
],
|
|
28
28
|
};
|
|
29
29
|
PropertyFactory._reregister(TestInt64ArrayTemplate);
|
|
30
|
-
nodeProp = PropertyFactory.create(
|
|
30
|
+
nodeProp = PropertyFactory.create("autodesk.tests:Int64TestID-1.0.0");
|
|
31
31
|
containedInt64Prop = nodeProp._properties.myInt64;
|
|
32
|
-
directInt64Prop = PropertyFactory.create(
|
|
32
|
+
directInt64Prop = PropertyFactory.create("Int64");
|
|
33
33
|
});
|
|
34
|
-
it(
|
|
34
|
+
it("should correctly set/get the values", function () {
|
|
35
35
|
containedInt64Prop.setValueHigh(33);
|
|
36
36
|
containedInt64Prop.setValueLow(22);
|
|
37
37
|
expect(containedInt64Prop.getValueLow()).to.be.equal(22);
|
|
@@ -47,97 +47,97 @@ describe('Test Int64Property', function () {
|
|
|
47
47
|
expect(containedInt64Prop.value.setValueLow).to.not.exist;
|
|
48
48
|
expect(containedInt64Prop.value.setValueHigh).to.not.exist;
|
|
49
49
|
});
|
|
50
|
-
it(
|
|
51
|
-
const prop = PropertyFactory.create(
|
|
50
|
+
it("should correctly setValue when passed a number", function () {
|
|
51
|
+
const prop = PropertyFactory.create("Int64");
|
|
52
52
|
const value = 123;
|
|
53
53
|
prop.setValue(value);
|
|
54
54
|
expect(prop.getValueLow()).to.equal(value);
|
|
55
55
|
expect(prop.getValueHigh()).to.equal(0);
|
|
56
56
|
expect(prop.toString()).to.equal(value.toString());
|
|
57
57
|
});
|
|
58
|
-
it(
|
|
59
|
-
const prop = PropertyFactory.create(
|
|
58
|
+
it("should correctly setValue when passed a negative number", function () {
|
|
59
|
+
const prop = PropertyFactory.create("Int64");
|
|
60
60
|
const value = -123;
|
|
61
61
|
prop.setValue(value);
|
|
62
62
|
expect(prop.toString()).to.equal(value.toString());
|
|
63
63
|
});
|
|
64
|
-
it(
|
|
65
|
-
const prop = PropertyFactory.create(
|
|
64
|
+
it("should correctly setValue when passed a large number (above MAX_SAFE_INT)", function () {
|
|
65
|
+
const prop = PropertyFactory.create("Int64");
|
|
66
66
|
const value = Math.pow(2, 53) - 1000;
|
|
67
67
|
prop.setValue(value);
|
|
68
68
|
expect(prop.toString()).to.equal(value.toString());
|
|
69
69
|
expect(prop.getValueLow()).to.equal(4294966296);
|
|
70
70
|
expect(prop.getValueHigh()).to.equal(2097151);
|
|
71
71
|
});
|
|
72
|
-
it(
|
|
73
|
-
const prop = PropertyFactory.create(
|
|
72
|
+
it("should correctly setValue when passed a large negative number (below MIN_SAFE_INT)", function () {
|
|
73
|
+
const prop = PropertyFactory.create("Int64");
|
|
74
74
|
const value = -Math.pow(2, 53) + 1000;
|
|
75
75
|
prop.setValue(value);
|
|
76
76
|
expect(prop.toString()).to.equal(value.toString());
|
|
77
77
|
expect(prop.getValueLow()).to.equal(1000);
|
|
78
78
|
expect(prop.getValueHigh()).to.equal(-2097152);
|
|
79
79
|
});
|
|
80
|
-
it(
|
|
81
|
-
const prop = PropertyFactory.create(
|
|
82
|
-
prop.setValue(
|
|
83
|
-
expect(prop.toString()).to.equal(
|
|
80
|
+
it("should correctly setValue when passed a string", function () {
|
|
81
|
+
const prop = PropertyFactory.create("Int64");
|
|
82
|
+
prop.setValue("1234567890");
|
|
83
|
+
expect(prop.toString()).to.equal("1234567890");
|
|
84
84
|
});
|
|
85
|
-
it(
|
|
86
|
-
const prop = PropertyFactory.create(
|
|
87
|
-
expect(prop.setValue.bind(prop,
|
|
85
|
+
it("should throw error when passed a string with non numbers", function () {
|
|
86
|
+
const prop = PropertyFactory.create("Int64");
|
|
87
|
+
expect(prop.setValue.bind(prop, "error")).to.throw(MSG.CANNOT_PARSE_INVALID_CHARACTERS + "error");
|
|
88
88
|
});
|
|
89
|
-
it(
|
|
89
|
+
it("should correctly convert to string", function () {
|
|
90
90
|
containedInt64Prop.value = new Int64(4294967295, 2147483647); // 2^63-1
|
|
91
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
91
|
+
expect(containedInt64Prop.toString()).to.be.equal("9223372036854775807");
|
|
92
92
|
containedInt64Prop.value = new Int64(0, 2147483648); // -2^63
|
|
93
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
93
|
+
expect(containedInt64Prop.toString()).to.be.equal("-9223372036854775808");
|
|
94
94
|
containedInt64Prop.value = new Int64(845094001, 1810905006);
|
|
95
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
95
|
+
expect(containedInt64Prop.toString()).to.be.equal("7777777777777777777");
|
|
96
96
|
containedInt64Prop.value = new Int64(845094001, 0);
|
|
97
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
97
|
+
expect(containedInt64Prop.toString()).to.be.equal("845094001");
|
|
98
98
|
containedInt64Prop.value = new Int64(0, 845094001);
|
|
99
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
100
|
-
containedInt64Prop.value = new Int64(0,
|
|
101
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
102
|
-
containedInt64Prop.value = new Int64(
|
|
103
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
99
|
+
expect(containedInt64Prop.toString()).to.be.equal("3629651096340791296");
|
|
100
|
+
containedInt64Prop.value = new Int64(0, 0xffffffff);
|
|
101
|
+
expect(containedInt64Prop.toString()).to.be.equal("-4294967296");
|
|
102
|
+
containedInt64Prop.value = new Int64(0xffffffff, 0xffffffff);
|
|
103
|
+
expect(containedInt64Prop.toString()).to.be.equal("-1");
|
|
104
104
|
});
|
|
105
|
-
it(
|
|
105
|
+
it("int64.fromString should work correctly", function () {
|
|
106
106
|
containedInt64Prop.value = new Int64(0, 0);
|
|
107
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
108
|
-
containedInt64Prop.fromString(
|
|
107
|
+
expect(containedInt64Prop.toString()).to.be.equal("0");
|
|
108
|
+
containedInt64Prop.fromString("3629651096340791296");
|
|
109
109
|
expect(containedInt64Prop.value.getValueHigh()).to.be.equal(845094001);
|
|
110
110
|
expect(containedInt64Prop.value.getValueLow()).to.be.equal(0);
|
|
111
|
-
containedInt64Prop.fromString(
|
|
111
|
+
containedInt64Prop.fromString("9223372036854775807");
|
|
112
112
|
expect(containedInt64Prop.value.getValueHigh()).to.be.equal(2147483647);
|
|
113
113
|
expect(containedInt64Prop.value.getValueLow()).to.be.equal(4294967295);
|
|
114
|
-
containedInt64Prop.fromString(
|
|
115
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
116
|
-
containedInt64Prop.fromString(
|
|
117
|
-
expect(containedInt64Prop.toString()).to.be.equal(
|
|
118
|
-
containedInt64Prop.fromString(
|
|
119
|
-
expect(containedInt64Prop.value.getValueHigh()).to.be.equal(
|
|
120
|
-
expect(containedInt64Prop.value.getValueLow()).to.be.equal(
|
|
114
|
+
containedInt64Prop.fromString("-1");
|
|
115
|
+
expect(containedInt64Prop.toString()).to.be.equal("-1");
|
|
116
|
+
containedInt64Prop.fromString("0");
|
|
117
|
+
expect(containedInt64Prop.toString()).to.be.equal("0");
|
|
118
|
+
containedInt64Prop.fromString("18446744073709551615");
|
|
119
|
+
expect(containedInt64Prop.value.getValueHigh()).to.be.equal(0xffffffff);
|
|
120
|
+
expect(containedInt64Prop.value.getValueLow()).to.be.equal(0xffffffff);
|
|
121
121
|
});
|
|
122
|
-
it(
|
|
122
|
+
it("should correctly serialize/deserialize", function () {
|
|
123
123
|
containedInt64Prop.value = new Int64(11, 12);
|
|
124
|
-
var serialized = containedInt64Prop.serialize({
|
|
124
|
+
var serialized = containedInt64Prop.serialize({ dirtyOnly: true });
|
|
125
125
|
expect(serialized).to.deep.equal([11, 12]);
|
|
126
126
|
containedInt64Prop.cleanDirty();
|
|
127
|
-
serialized = containedInt64Prop.serialize({
|
|
127
|
+
serialized = containedInt64Prop.serialize({ dirtyOnly: true });
|
|
128
128
|
assert.deepEqual(serialized, {});
|
|
129
|
-
var deserializeResult = directInt64Prop.deserialize(containedInt64Prop.serialize({
|
|
129
|
+
var deserializeResult = directInt64Prop.deserialize(containedInt64Prop.serialize({ dirtyOnly: false }));
|
|
130
130
|
expect(deserializeResult).to.deep.equal([11, 12]);
|
|
131
|
-
deserializeResult = directInt64Prop.deserialize(containedInt64Prop.serialize({
|
|
131
|
+
deserializeResult = directInt64Prop.deserialize(containedInt64Prop.serialize({ dirtyOnly: false }));
|
|
132
132
|
expect(deserializeResult).to.not.exist;
|
|
133
133
|
expect(directInt64Prop.getValueLow()).to.be.equal(11);
|
|
134
134
|
expect(directInt64Prop.getValueHigh()).to.be.equal(12);
|
|
135
|
-
var otherNodeProp = PropertyFactory.create(
|
|
136
|
-
otherNodeProp.deserialize(nodeProp.serialize({
|
|
135
|
+
var otherNodeProp = PropertyFactory.create("autodesk.tests:Int64TestID-1.0.0");
|
|
136
|
+
otherNodeProp.deserialize(nodeProp.serialize({ dirtyOnly: false }));
|
|
137
137
|
expect(otherNodeProp._properties.myInt64.getValueLow()).to.be.equal(11);
|
|
138
138
|
expect(otherNodeProp._properties.myInt64.getValueHigh()).to.be.equal(12);
|
|
139
139
|
});
|
|
140
|
-
it(
|
|
140
|
+
it("should correctly dirty on set", function () {
|
|
141
141
|
directInt64Prop.cleanDirty();
|
|
142
142
|
expect(directInt64Prop.isDirty()).to.be.false;
|
|
143
143
|
directInt64Prop.value = new Int64(32, 42);
|
|
@@ -157,10 +157,10 @@ describe('Test Int64Property', function () {
|
|
|
157
157
|
directInt64Prop.setValueLow(33);
|
|
158
158
|
expect(directInt64Prop.isDirty()).to.be.false;
|
|
159
159
|
});
|
|
160
|
-
it(
|
|
160
|
+
it("should not violate the ChangeSet Specificaton", function () {
|
|
161
161
|
containedInt64Prop.value = new Int64(32, 42);
|
|
162
162
|
nodeProp._properties.myUint64.value = new Uint64(99, 110);
|
|
163
|
-
expect(nodeProp.serialize({
|
|
163
|
+
expect(nodeProp.serialize({ dirtyOnly: false })).to.deep.equal({
|
|
164
164
|
Int64: {
|
|
165
165
|
myInt64: [32, 42],
|
|
166
166
|
},
|
|
@@ -169,7 +169,7 @@ describe('Test Int64Property', function () {
|
|
|
169
169
|
},
|
|
170
170
|
});
|
|
171
171
|
});
|
|
172
|
-
describe(
|
|
172
|
+
describe("squashing", function () {
|
|
173
173
|
// Helper function to test the squashing for different containers
|
|
174
174
|
var innerTestChangeSetSquashing = function (io_testProperty, io_intProperty, io_initialChangeset, in_options, in_collection) {
|
|
175
175
|
var squashedChangeset = new ChangeSet();
|
|
@@ -178,7 +178,7 @@ describe('Test Int64Property', function () {
|
|
|
178
178
|
var callbacks = in_options.callbacks;
|
|
179
179
|
for (var i = 0; i < callbacks.length; i++) {
|
|
180
180
|
callbacks[i](io_intProperty);
|
|
181
|
-
var changes = io_testProperty.serialize({
|
|
181
|
+
var changes = io_testProperty.serialize({ dirtyOnly: true });
|
|
182
182
|
io_testProperty.cleanDirty(BaseProperty.MODIFIED_STATE_FLAGS.DIRTY |
|
|
183
183
|
BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE);
|
|
184
184
|
squashedChangeset.applyChangeSet(changes);
|
|
@@ -201,35 +201,35 @@ describe('Test Int64Property', function () {
|
|
|
201
201
|
// be given as first parameter
|
|
202
202
|
//
|
|
203
203
|
var testChangeSetSquashing = function (in_options) {
|
|
204
|
-
var testProperty = PropertyFactory.create(
|
|
205
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
206
|
-
var int64InNodeProperty = PropertyFactory.create(
|
|
207
|
-
nodeTestProperty.insert(
|
|
208
|
-
var mapTestProperty = PropertyFactory.create(
|
|
209
|
-
var int64InMapProperty = PropertyFactory.create(
|
|
210
|
-
mapTestProperty.insert(
|
|
204
|
+
var testProperty = PropertyFactory.create("autodesk.tests:Int64TestID-1.0.0");
|
|
205
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
206
|
+
var int64InNodeProperty = PropertyFactory.create("Int64");
|
|
207
|
+
nodeTestProperty.insert("intProperty", int64InNodeProperty);
|
|
208
|
+
var mapTestProperty = PropertyFactory.create("map<>");
|
|
209
|
+
var int64InMapProperty = PropertyFactory.create("Int64");
|
|
210
|
+
mapTestProperty.insert("intProperty", int64InMapProperty);
|
|
211
211
|
if (in_options.pre) {
|
|
212
212
|
in_options.pre(testProperty._properties.intProperty);
|
|
213
213
|
in_options.pre(int64InNodeProperty);
|
|
214
214
|
in_options.pre(int64InMapProperty);
|
|
215
215
|
}
|
|
216
|
-
var initialChangeset = new ChangeSet(testProperty.serialize({
|
|
216
|
+
var initialChangeset = new ChangeSet(testProperty.serialize({ dirtyOnly: false }));
|
|
217
217
|
initialChangeset.setIsNormalized(true);
|
|
218
|
-
var initialChangesetNode = new ChangeSet(nodeTestProperty.serialize({
|
|
218
|
+
var initialChangesetNode = new ChangeSet(nodeTestProperty.serialize({ dirtyOnly: false }));
|
|
219
219
|
initialChangesetNode.setIsNormalized(true);
|
|
220
|
-
var initialChangesetMap = new ChangeSet(mapTestProperty.serialize({
|
|
220
|
+
var initialChangesetMap = new ChangeSet(mapTestProperty.serialize({ dirtyOnly: false }));
|
|
221
221
|
initialChangesetMap.setIsNormalized(true);
|
|
222
222
|
innerTestChangeSetSquashing(testProperty, testProperty._properties.myInt64, initialChangeset, in_options);
|
|
223
223
|
innerTestChangeSetSquashing(nodeTestProperty, int64InNodeProperty, initialChangesetNode, in_options, true);
|
|
224
224
|
innerTestChangeSetSquashing(mapTestProperty, int64InMapProperty, initialChangesetMap, in_options, true);
|
|
225
225
|
var initialChangeset = initialChangeset.getSerializedChangeSet().Int64.intProperty;
|
|
226
|
-
expect(initialChangeset).to.deep.equal(testProperty.serialize({
|
|
226
|
+
expect(initialChangeset).to.deep.equal(testProperty.serialize({ dirtyOnly: false }).Int64.intProperty);
|
|
227
227
|
var nodeInitialChangeset = initialChangesetNode.getSerializedChangeSet().insert.Int64.intProperty;
|
|
228
|
-
expect(nodeInitialChangeset).to.deep.equal(nodeTestProperty.serialize({
|
|
228
|
+
expect(nodeInitialChangeset).to.deep.equal(nodeTestProperty.serialize({ dirtyOnly: false }).insert.Int64.intProperty);
|
|
229
229
|
var mapInitialChangeset = initialChangesetMap.getSerializedChangeSet().insert.Int64.intProperty;
|
|
230
|
-
expect(mapInitialChangeset).to.deep.equal(mapTestProperty.serialize({
|
|
230
|
+
expect(mapInitialChangeset).to.deep.equal(mapTestProperty.serialize({ dirtyOnly: false }).insert.Int64.intProperty);
|
|
231
231
|
};
|
|
232
|
-
it(
|
|
232
|
+
it("should correctly squash 64bit properties", function () {
|
|
233
233
|
testChangeSetSquashing({
|
|
234
234
|
callbacks: [
|
|
235
235
|
function (io_prop) {
|
|
@@ -241,7 +241,7 @@ describe('Test Int64Property', function () {
|
|
|
241
241
|
],
|
|
242
242
|
});
|
|
243
243
|
});
|
|
244
|
-
it(
|
|
244
|
+
it("should correctly squash low/high 64bit property changes", function () {
|
|
245
245
|
testChangeSetSquashing({
|
|
246
246
|
callbacks: [
|
|
247
247
|
function (io_prop) {
|
|
@@ -253,36 +253,36 @@ describe('Test Int64Property', function () {
|
|
|
253
253
|
],
|
|
254
254
|
});
|
|
255
255
|
});
|
|
256
|
-
it(
|
|
257
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
258
|
-
var int64Property = PropertyFactory.create(
|
|
259
|
-
nodeTestProperty.insert(
|
|
256
|
+
it("should squash two ChangeSets, one inserts the other modifies the same Int64 property", function () {
|
|
257
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
258
|
+
var int64Property = PropertyFactory.create("Int64");
|
|
259
|
+
nodeTestProperty.insert("myProp", int64Property);
|
|
260
260
|
var changeSet1 = new ChangeSet(nodeTestProperty.serialize({ dirtyOnly: true }));
|
|
261
261
|
nodeTestProperty.cleanDirty();
|
|
262
|
-
nodeTestProperty.resolvePath(
|
|
262
|
+
nodeTestProperty.resolvePath("myProp").setValueHigh(100);
|
|
263
263
|
var changeSet2 = new ChangeSet(nodeTestProperty.serialize({ dirtyOnly: true }));
|
|
264
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
265
|
-
var int64Property = PropertyFactory.create(
|
|
264
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
265
|
+
var int64Property = PropertyFactory.create("Int64");
|
|
266
266
|
int64Property.setValueHigh(100);
|
|
267
|
-
nodeTestProperty.insert(
|
|
267
|
+
nodeTestProperty.insert("myProp", int64Property);
|
|
268
268
|
var expectedChangeSet = nodeTestProperty.serialize({ dirtyOnly: true });
|
|
269
269
|
changeSet1.applyChangeSet(changeSet2);
|
|
270
270
|
expect(changeSet1.getSerializedChangeSet().insert.Int64.myProp ===
|
|
271
271
|
changeSet2.getSerializedChangeSet().modify.Int64.myProp).to.be.false;
|
|
272
272
|
expect(changeSet1.getSerializedChangeSet()).to.eql(expectedChangeSet);
|
|
273
273
|
});
|
|
274
|
-
it(
|
|
275
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
276
|
-
var Uint64Property = PropertyFactory.create(
|
|
277
|
-
nodeTestProperty.insert(
|
|
274
|
+
it("should squash two ChangeSets, one inserts the other modifies the same Int64 property", function () {
|
|
275
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
276
|
+
var Uint64Property = PropertyFactory.create("Uint64");
|
|
277
|
+
nodeTestProperty.insert("myProp", Uint64Property);
|
|
278
278
|
var changeSet1 = new ChangeSet(nodeTestProperty.serialize({ dirtyOnly: true }));
|
|
279
279
|
nodeTestProperty.cleanDirty();
|
|
280
|
-
nodeTestProperty.resolvePath(
|
|
280
|
+
nodeTestProperty.resolvePath("myProp").setValueHigh(100);
|
|
281
281
|
var changeSet2 = new ChangeSet(nodeTestProperty.serialize({ dirtyOnly: true }));
|
|
282
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
283
|
-
var Uint64Property = PropertyFactory.create(
|
|
282
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
283
|
+
var Uint64Property = PropertyFactory.create("Uint64");
|
|
284
284
|
Uint64Property.setValueHigh(100);
|
|
285
|
-
nodeTestProperty.insert(
|
|
285
|
+
nodeTestProperty.insert("myProp", Uint64Property);
|
|
286
286
|
var expectedChangeSet = nodeTestProperty.serialize({ dirtyOnly: true });
|
|
287
287
|
changeSet1.applyChangeSet(changeSet2);
|
|
288
288
|
expect(changeSet1.getSerializedChangeSet().insert.Uint64.myProp ===
|
|
@@ -290,27 +290,27 @@ describe('Test Int64Property', function () {
|
|
|
290
290
|
expect(changeSet1.getSerializedChangeSet()).to.eql(expectedChangeSet);
|
|
291
291
|
});
|
|
292
292
|
});
|
|
293
|
-
describe(
|
|
293
|
+
describe("rebasing", function () {
|
|
294
294
|
var createPropertyForRebaseTestByTemplate = function () {
|
|
295
|
-
return PropertyFactory.create(
|
|
295
|
+
return PropertyFactory.create("autodesk.tests:Int64TestID-1.0.0");
|
|
296
296
|
};
|
|
297
297
|
var createNodePropertyForRebase = function () {
|
|
298
|
-
var nodeTestProperty = PropertyFactory.create(
|
|
299
|
-
var int64InNodeProperty = PropertyFactory.create(
|
|
300
|
-
nodeTestProperty.insert(
|
|
298
|
+
var nodeTestProperty = PropertyFactory.create("NodeProperty");
|
|
299
|
+
var int64InNodeProperty = PropertyFactory.create("Int64");
|
|
300
|
+
nodeTestProperty.insert("myInt64", int64InNodeProperty);
|
|
301
301
|
return nodeTestProperty;
|
|
302
302
|
};
|
|
303
303
|
var createMapPropertyForRebase = function () {
|
|
304
|
-
var mapTestProperty = PropertyFactory.create(
|
|
305
|
-
var int64InNodeProperty = PropertyFactory.create(
|
|
306
|
-
mapTestProperty.insert(
|
|
304
|
+
var mapTestProperty = PropertyFactory.create("map<>");
|
|
305
|
+
var int64InNodeProperty = PropertyFactory.create("Int64");
|
|
306
|
+
mapTestProperty.insert("myInt64", int64InNodeProperty);
|
|
307
307
|
return mapTestProperty;
|
|
308
308
|
};
|
|
309
309
|
var getIntPropertyFromNode = function (in_testProperty) {
|
|
310
310
|
return in_testProperty._properties.myInt64;
|
|
311
311
|
};
|
|
312
312
|
var getIntPropertyFromMap = function (in_testProperty) {
|
|
313
|
-
return in_testProperty.get(
|
|
313
|
+
return in_testProperty.get("myInt64");
|
|
314
314
|
};
|
|
315
315
|
var testRebasingInner = function (in_creator, in_getInnerProperty, in_options, in_isCollection) {
|
|
316
316
|
// Prepare the initial state
|
|
@@ -320,9 +320,9 @@ describe('Test Int64Property', function () {
|
|
|
320
320
|
}
|
|
321
321
|
// Create two copies of this state
|
|
322
322
|
var baseProperty2 = in_creator();
|
|
323
|
-
baseProperty2.deserialize(baseProperty1.serialize({
|
|
323
|
+
baseProperty2.deserialize(baseProperty1.serialize({ dirtyOnly: false }));
|
|
324
324
|
var baseProperty3 = in_creator();
|
|
325
|
-
baseProperty3.deserialize(baseProperty1.serialize({
|
|
325
|
+
baseProperty3.deserialize(baseProperty1.serialize({ dirtyOnly: false }));
|
|
326
326
|
// Make sure the states are clear
|
|
327
327
|
baseProperty1.cleanDirty(BaseProperty.MODIFIED_STATE_FLAGS.DIRTY |
|
|
328
328
|
BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE);
|
|
@@ -330,7 +330,7 @@ describe('Test Int64Property', function () {
|
|
|
330
330
|
BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE);
|
|
331
331
|
baseProperty3.cleanDirty(BaseProperty.MODIFIED_STATE_FLAGS.DIRTY |
|
|
332
332
|
BaseProperty.MODIFIED_STATE_FLAGS.PENDING_CHANGE);
|
|
333
|
-
var initialChangeSet = baseProperty1.serialize({
|
|
333
|
+
var initialChangeSet = baseProperty1.serialize({ dirtyOnly: false });
|
|
334
334
|
// Apply the operations to the two properties in parallel
|
|
335
335
|
if (in_options.op1) {
|
|
336
336
|
in_options.op1(in_getInnerProperty(baseProperty1));
|
|
@@ -339,8 +339,8 @@ describe('Test Int64Property', function () {
|
|
|
339
339
|
in_options.op2(in_getInnerProperty(baseProperty2));
|
|
340
340
|
}
|
|
341
341
|
// Get the ChangeSets
|
|
342
|
-
var changeSet1 = new ChangeSet(baseProperty1.serialize({
|
|
343
|
-
var changeSet2 = baseProperty2.serialize({
|
|
342
|
+
var changeSet1 = new ChangeSet(baseProperty1.serialize({ dirtyOnly: true }));
|
|
343
|
+
var changeSet2 = baseProperty2.serialize({ dirtyOnly: true });
|
|
344
344
|
// Perform the actual rebase
|
|
345
345
|
var conflicts = [];
|
|
346
346
|
changeSet1._rebaseChangeSet(changeSet2, conflicts);
|
|
@@ -356,7 +356,7 @@ describe('Test Int64Property', function () {
|
|
|
356
356
|
if (in_options.op2) {
|
|
357
357
|
in_options.op2(in_getInnerProperty(baseProperty3));
|
|
358
358
|
}
|
|
359
|
-
var finalChangeSet = baseProperty3.serialize({
|
|
359
|
+
var finalChangeSet = baseProperty3.serialize({ dirtyOnly: false });
|
|
360
360
|
if (in_isCollection && finalChangeSet.insert) {
|
|
361
361
|
finalChangeSet = finalChangeSet.insert;
|
|
362
362
|
}
|
|
@@ -378,7 +378,7 @@ describe('Test Int64Property', function () {
|
|
|
378
378
|
testRebasingInner(createNodePropertyForRebase, getIntPropertyFromNode, in_options, true);
|
|
379
379
|
testRebasingInner(createMapPropertyForRebase, getIntPropertyFromMap, in_options, true);
|
|
380
380
|
};
|
|
381
|
-
it(
|
|
381
|
+
it("with two modifies should be possible and report a conflict", function () {
|
|
382
382
|
testRebasing({
|
|
383
383
|
op1: function (io_prop) {
|
|
384
384
|
io_prop.setValueHigh(1);
|
|
@@ -394,7 +394,7 @@ describe('Test Int64Property', function () {
|
|
|
394
394
|
},
|
|
395
395
|
});
|
|
396
396
|
});
|
|
397
|
-
it(
|
|
397
|
+
it("with low/high modifies should be possible and report a conflict", function () {
|
|
398
398
|
testRebasing({
|
|
399
399
|
op1: function (io_prop) {
|
|
400
400
|
io_prop.setValueHigh(1);
|