diff --git a/src/core/utils.js b/src/core/utils.js
index 0f247b52..c9435715 100644
--- a/src/core/utils.js
+++ b/src/core/utils.js
@@ -186,24 +186,17 @@ export function formatXml (xml) {
"other->other": 0
}
fn = function(ln) {
- var fromTo, key, padding, type, types, value
- types = {
- single: Boolean(ln.match(/<.+\/>/)),
- closing: Boolean(ln.match(/<\/.+>/)),
- opening: Boolean(ln.match(/<[^!?].*>/))
- }
- type = ((function() {
- var results
- results = []
- for (key in types) {
- value = types[key]
- if (value) {
- results.push(key)
- }
- }
- return results
- })())[0]
- type = type === void 0 ? "other" : type
+ var fromTo, padding, type
+
+ if (Boolean(ln.match(/<.+\/>/))) {
+ type = "single"
+ } else if (Boolean(ln.match(/<\/.+>/))) {
+ type = "closing"
+ } else if (Boolean(ln.match(/<[^!?].*>/))) {
+ type = "opening"
+ } else {
+ type = "other"
+ }
fromTo = lastType + "->" + type
lastType = type
padding = ""
diff --git a/test/core/utils.js b/test/core/utils.js
index dd37a518..1f027b96 100644
--- a/test/core/utils.js
+++ b/test/core/utils.js
@@ -16,7 +16,8 @@ import {
fromJSOrdered,
getAcceptControllingResponse,
createDeepLinkPath,
- escapeDeepLinkPath
+ escapeDeepLinkPath,
+ formatXml
} from "core/utils"
import win from "core/window"
@@ -885,4 +886,15 @@ describe("utils", function() {
expect(result).toEqual("hello\\#world")
})
})
+
+ describe("formatXml", function() {
+ it("simple xml formatting", function() {
+ const startTime = Date.now()
+ const result = formatXml("john doe")
+ let duration = Date.now() - startTime
+ expect(result).toEqual("\n john doe\n\n")
+ expect(duration).toBeLessThan(5)
+ })
+ })
+
})