From f600fe8dbba6e44424dba064a505760dfeedd262 Mon Sep 17 00:00:00 2001 From: HelderSepu Date: Wed, 1 Nov 2017 21:48:18 -0400 Subject: [PATCH] Simplify formatXml --- src/core/utils.js | 29 +++++++++++------------------ test/core/utils.js | 14 +++++++++++++- 2 files changed, 24 insertions(+), 19 deletions(-) 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) + }) + }) + })