Skip to content

Commit

Permalink
chore: verify that #937 is fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
erossignon committed Jun 3, 2023
1 parent 511af5f commit fa05883
Show file tree
Hide file tree
Showing 3 changed files with 152 additions and 0 deletions.
30 changes: 30 additions & 0 deletions packages/node-opcua-address-space/test/test_issue_937.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import * as path from "path";
import "should";

import { nodesets } from "node-opcua-nodesets";
import { AddressSpace } from "..";
import { generateAddressSpace } from "../nodeJS";

const describe = require("node-opcua-leak-detector").describeWithLeakDetector;
describe("Enum with negative values #937", () => {
it("should load a nodeset.xml file containing enums with negative values", async () => {
const addressSpace = AddressSpace.create();

await generateAddressSpace(addressSpace, [
nodesets.standard,
nodesets.di,
path.join(__dirname, "../test_helpers/test_fixtures/issue937_min_enum.nodeset2.xml")
]);
addressSpace.dispose();
});
it("should load a nodeset.xml file containing enums with negative values", async () => {
const addressSpace = AddressSpace.create();

await generateAddressSpace(addressSpace, [
nodesets.standard,
nodesets.di,
path.join(__dirname, "../test_helpers/test_fixtures/issue937_max_enum.nodeset2.xml")
]);
addressSpace.dispose();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"
xmlns:s1="http://yourorganisation.org/max_enum/Types.xsd"
xmlns:ua="http://unifiedautomation.com/Configuration/NodeSet.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<NamespaceUris>
<Uri>http://yourorganisation.org/max_enum/</Uri>
</NamespaceUris>
<Aliases>
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="DateTime">i=13</Alias>
<Alias Alias="ByteString">i=15</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasProperty">i=46</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="IdType">i=256</Alias>
<Alias Alias="NumericRange">i=291</Alias>
<Alias Alias="EnumValueType">i=7594</Alias>
</Aliases>
<UADataType NodeId="ns=1;i=3002" BrowseName="1:MaxEnum">
<DisplayName>MaxEnum</DisplayName>
<References>
<Reference ReferenceType="HasProperty">ns=1;i=6001</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=29</Reference>
</References>
<Definition Name="1:MaxEnum">
<Field Name="Maximum" Value="2147483647"/>
</Definition>
</UADataType>
<UAVariable DataType="EnumValueType" ParentNodeId="ns=1;i=3002" ValueRank="1" NodeId="ns=1;i=6001" BrowseName="EnumValues">
<DisplayName>EnumValues</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=3002</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
</References>
<Value>
<uax:ListOfExtensionObject>
<uax:ExtensionObject>
<uax:TypeId>
<uax:Identifier>i=7616</uax:Identifier>
</uax:TypeId>
<uax:Body>
<uax:EnumValueType>
<uax:Value>2147483647</uax:Value>
<uax:DisplayName>
<uax:Text>Maximum</uax:Text>
</uax:DisplayName>
<uax:Description/>
</uax:EnumValueType>
</uax:Body>
</uax:ExtensionObject>
</uax:ListOfExtensionObject>
</Value>
</UAVariable>
</UANodeSet>
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"
xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"
xmlns:s1="http://yourorganisation.org/min_enum/Types.xsd"
xmlns:ua="http://unifiedautomation.com/Configuration/NodeSet.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<NamespaceUris>
<Uri>http://yourorganisation.org/min_enum/</Uri>
</NamespaceUris>
<Aliases>
<Alias Alias="Boolean">i=1</Alias>
<Alias Alias="String">i=12</Alias>
<Alias Alias="DateTime">i=13</Alias>
<Alias Alias="ByteString">i=15</Alias>
<Alias Alias="HasModellingRule">i=37</Alias>
<Alias Alias="HasTypeDefinition">i=40</Alias>
<Alias Alias="HasSubtype">i=45</Alias>
<Alias Alias="HasProperty">i=46</Alias>
<Alias Alias="HasComponent">i=47</Alias>
<Alias Alias="IdType">i=256</Alias>
<Alias Alias="NumericRange">i=291</Alias>
<Alias Alias="EnumValueType">i=7594</Alias>
</Aliases>
<UADataType NodeId="ns=1;i=3002" BrowseName="1:MinEnum">
<DisplayName>MinEnum</DisplayName>
<References>
<Reference ReferenceType="HasProperty">ns=1;i=6001</Reference>
<Reference ReferenceType="HasSubtype" IsForward="false">i=29</Reference>
</References>
<Definition Name="1:MinEnum">
<Field Name="Minimum" Value="-2147483648"/>
</Definition>
</UADataType>
<UAVariable DataType="EnumValueType" ParentNodeId="ns=1;i=3002" ValueRank="1" NodeId="ns=1;i=6001" BrowseName="EnumValues">
<DisplayName>EnumValues</DisplayName>
<References>
<Reference ReferenceType="HasTypeDefinition">i=68</Reference>
<Reference ReferenceType="HasProperty" IsForward="false">ns=1;i=3002</Reference>
<Reference ReferenceType="HasModellingRule">i=78</Reference>
</References>
<Value>
<uax:ListOfExtensionObject>
<uax:ExtensionObject>
<uax:TypeId>
<uax:Identifier>i=7616</uax:Identifier>
</uax:TypeId>
<uax:Body>
<uax:EnumValueType>
<uax:Value>-2147483648</uax:Value>
<uax:DisplayName>
<uax:Text>Minimum</uax:Text>
</uax:DisplayName>
<uax:Description/>
</uax:EnumValueType>
</uax:Body>
</uax:ExtensionObject>
</uax:ListOfExtensionObject>
</Value>
</UAVariable>
</UANodeSet>

0 comments on commit fa05883

Please sign in to comment.