diff --git a/test/collection.ts b/test/collection.ts index 40fe888..8efb9bb 100644 --- a/test/collection.ts +++ b/test/collection.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { Collection } from "../"; +import { Collection } from "../src"; describe("Collection", () => { diff --git a/test/convert.ts b/test/convert.ts index 38640f7..cedc64a 100644 --- a/test/convert.ts +++ b/test/convert.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { Convert } from "../"; +import { Convert } from "../src"; describe("Convert", () => { diff --git a/test/converters.ts b/test/converters.ts index fe752f7..f4f6051 100644 --- a/test/converters.ts +++ b/test/converters.ts @@ -1,6 +1,6 @@ import * as assert from "assert"; -import { XmlAttribute, XmlElement, XmlObject } from "../"; -import { XmlBase64Converter, XmlBooleanConverter, XmlNumberConverter } from "../"; +import { XmlAttribute, XmlElement, XmlObject } from "../src"; +import { XmlBase64Converter, XmlBooleanConverter, XmlNumberConverter } from "../src"; // const xmldom = require("xmldom-alpha"); // const DOMParser = xmldom.DOMParser; diff --git a/test/decorators.ts b/test/decorators.ts index 27d3617..17ef504 100644 --- a/test/decorators.ts +++ b/test/decorators.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { Parse, XmlAttribute, XmlBase64Converter, XmlChildElement, XmlCollection, XmlContent, XmlElement, XmlNumberConverter, XmlObject } from "../"; +import { Parse, XmlAttribute, XmlBase64Converter, XmlChildElement, XmlCollection, XmlContent, XmlElement, XmlNumberConverter, XmlObject } from "../src"; // const xmldom = require("xmldom-alpha"); // const DOMParser = xmldom.DOMParser; diff --git a/test/error.ts b/test/error.ts index bb3a45d..220c55d 100644 --- a/test/error.ts +++ b/test/error.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { XE, XmlError } from "../"; +import { XE, XmlError } from "../src"; describe("Error", () => { diff --git a/test/get_load.ts b/test/get_load.ts index eb89b0c..486f3c9 100644 --- a/test/get_load.ts +++ b/test/get_load.ts @@ -1,7 +1,7 @@ import * as assert from "assert"; -import { XmlAttribute, XmlChildElement, XmlElement } from "../"; -import { XmlCollection, XmlObject } from "../"; -import { XmlNumberConverter } from "../"; +import { XmlAttribute, XmlChildElement, XmlElement } from "../src"; +import { XmlCollection, XmlObject } from "../src"; +import { XmlNumberConverter } from "../src"; context("GetXml/LoadXml/HasChanged", () => { diff --git a/test/namespace_manager.ts b/test/namespace_manager.ts index b09fa06..92a4d1d 100644 --- a/test/namespace_manager.ts +++ b/test/namespace_manager.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { NamespaceManager } from "../"; +import { NamespaceManager } from "../src"; context("NamespaceManager", () => { diff --git a/test/object.ts b/test/object.ts index d58d4d1..fd564f2 100644 --- a/test/object.ts +++ b/test/object.ts @@ -1,6 +1,6 @@ import * as assert from "assert"; -import { XmlAttribute, XmlElement } from "../"; -import { XmlObject } from "../"; +import { XmlAttribute, XmlElement } from "../src"; +import { XmlObject } from "../src"; context("XmlObject", () => { diff --git a/test/utils.ts b/test/utils.ts index 1d1664f..855d6f9 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { assign, Parse, SelectNamespaces, SelectSingleNode, Stringify } from "../"; +import { assign, Parse, SelectNamespaces, SelectSingleNode, Stringify } from "../src"; context("utils", () => { diff --git a/test/xml_collection.ts b/test/xml_collection.ts index 93ad9c3..f79567c 100644 --- a/test/xml_collection.ts +++ b/test/xml_collection.ts @@ -1,5 +1,5 @@ import * as assert from "assert"; -import { XmlAttribute, XmlCollection, XmlElement, XmlObject } from "../"; +import { XmlAttribute, XmlCollection, XmlElement, XmlObject } from "../src"; context("XmlCollection", () => { @XmlElement({ @@ -22,6 +22,7 @@ context("XmlCollection", () => { @XmlElement({ localName: "children", namespaceURI: "http://some.com", + parser: Child, }) class Children extends XmlCollection { } @@ -144,4 +145,36 @@ context("XmlCollection", () => { return item.Id === 1; }), false); }); + + context("HasChanged", () => { + + it("Initialized empty collection is not changed", () => { + const col = new Children(); + assert.equal(col.HasChanged(), false); + }); + + it("Update state on item adding", () => { + const col = new Children(); + col.Add(new Child()); + assert.equal(col.HasChanged(), true); + }); + + it("Update state on item removing", () => { + const col = new Children(); + col.Add(new Child()); + col.GetXml(); + assert.equal(col.HasChanged(), false); + col.RemoveAt(0); + assert.equal(col.HasChanged(), true); + }); + + it("Set unchanged state for loaded XML", () => { + const xml = ``; + const col = new Children(); + col.LoadXml(xml); + assert.equal(col.HasChanged(), false); + assert.equal(col.Item(0)!.HasChanged(), false); + }); + + }); });