scratch – Blame information for rev 133

Subversion Repositories:
Rev:
Rev Author Line No. Line
75 office 1 /*
2 Copyright (c) 2008-2013 Pivotal Labs
3  
4 Permission is hereby granted, free of charge, to any person obtaining
5 a copy of this software and associated documentation files (the
6 "Software"), to deal in the Software without restriction, including
7 without limitation the rights to use, copy, modify, merge, publish,
8 distribute, sublicense, and/or sell copies of the Software, and to
9 permit persons to whom the Software is furnished to do so, subject to
10 the following conditions:
11  
12 The above copyright notice and this permission notice shall be
13 included in all copies or substantial portions of the Software.
14  
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */
23 jasmineRequire.html = function(j$) {
24 j$.ResultsNode = jasmineRequire.ResultsNode();
25 j$.HtmlReporter = jasmineRequire.HtmlReporter(j$);
26 j$.QueryString = jasmineRequire.QueryString();
27 j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter();
28 };
29  
30 jasmineRequire.HtmlReporter = function(j$) {
31  
32 var noopTimer = {
33 start: function() {},
34 elapsed: function() { return 0; }
35 };
36  
37 function HtmlReporter(options) {
38 var env = options.env || {},
39 getContainer = options.getContainer,
40 createElement = options.createElement,
41 createTextNode = options.createTextNode,
42 onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {},
43 timer = options.timer || noopTimer,
44 results = [],
45 specsExecuted = 0,
46 failureCount = 0,
47 pendingSpecCount = 0,
48 htmlReporterMain,
49 symbols;
50  
51 this.initialize = function() {
52 htmlReporterMain = createDom("div", {className: "html-reporter"},
53 createDom("div", {className: "banner"},
54 createDom("span", {className: "title"}, "Jasmine"),
55 createDom("span", {className: "version"}, j$.version)
56 ),
57 createDom("ul", {className: "symbol-summary"}),
58 createDom("div", {className: "alert"}),
59 createDom("div", {className: "results"},
60 createDom("div", {className: "failures"})
61 )
62 );
63 getContainer().appendChild(htmlReporterMain);
64  
65 symbols = find(".symbol-summary");
66 };
67  
68 var totalSpecsDefined;
69 this.jasmineStarted = function(options) {
70 totalSpecsDefined = options.totalSpecsDefined || 0;
71 timer.start();
72 };
73  
74 var summary = createDom("div", {className: "summary"});
75  
76 var topResults = new j$.ResultsNode({}, "", null),
77 currentParent = topResults;
78  
79 this.suiteStarted = function(result) {
80 currentParent.addChild(result, "suite");
81 currentParent = currentParent.last();
82 };
83  
84 this.suiteDone = function(result) {
85 if (currentParent == topResults) {
86 return;
87 }
88  
89 currentParent = currentParent.parent;
90 };
91  
92 this.specStarted = function(result) {
93 currentParent.addChild(result, "spec");
94 };
95  
96 var failures = [];
97 this.specDone = function(result) {
98 if (result.status != "disabled") {
99 specsExecuted++;
100 }
101  
102 symbols.appendChild(createDom("li", {
103 className: result.status,
104 id: "spec_" + result.id,
105 title: result.fullName
106 }
107 ));
108  
109 if (result.status == "failed") {
110 failureCount++;
111  
112 var failure =
113 createDom("div", {className: "spec-detail failed"},
114 createDom("div", {className: "description"},
115 createDom("a", {title: result.fullName, href: specHref(result)}, result.fullName)
116 ),
117 createDom("div", {className: "messages"})
118 );
119 var messages = failure.childNodes[1];
120  
121 for (var i = 0; i < result.failedExpectations.length; i++) {
122 var expectation = result.failedExpectations[i];
123 messages.appendChild(createDom("div", {className: "result-message"}, expectation.message));
124 messages.appendChild(createDom("div", {className: "stack-trace"}, expectation.stack));
125 }
126  
127 failures.push(failure);
128 }
129  
130 if (result.status == "pending") {
131 pendingSpecCount++;
132 }
133 };
134  
135 this.jasmineDone = function() {
136 var banner = find(".banner");
137 banner.appendChild(createDom("span", {className: "duration"}, "finished in " + timer.elapsed() / 1000 + "s"));
138  
139 var alert = find(".alert");
140  
141 alert.appendChild(createDom("span", { className: "exceptions" },
142 createDom("label", { className: "label", 'for': "raise-exceptions" }, "raise exceptions"),
143 createDom("input", {
144 className: "raise",
145 id: "raise-exceptions",
146 type: "checkbox"
147 })
148 ));
149 var checkbox = find("input");
150  
151 checkbox.checked = !env.catchingExceptions();
152 checkbox.onclick = onRaiseExceptionsClick;
153  
154 if (specsExecuted < totalSpecsDefined) {
155 < totalSpecsDefined) { var skippedMessage = "Ran " + specsExecuted + " of " + totalSpecsDefined + " specs - run all";
156 < totalSpecsDefined) { alert.appendChild(
157 < totalSpecsDefined) { createDom("span", {className: "bar skipped"},
158 < totalSpecsDefined) { createDom("a", {href: "?", title: "Run all specs"}, skippedMessage)
159 < totalSpecsDefined) { )
160 < totalSpecsDefined) { );
161 < totalSpecsDefined) { }
162 < totalSpecsDefined) { var statusBarMessage = "" + pluralize("spec", specsExecuted) + ", " + pluralize("failure", failureCount);
163 < totalSpecsDefined) { if (pendingSpecCount) { statusBarMessage += ", " + pluralize("pending spec", pendingSpecCount); }
164  
165 < totalSpecsDefined) { var statusBarClassName = "bar " + ((failureCount > 0) ? "failed" : "passed");
166 < totalSpecsDefined) { alert.appendChild(createDom("span", {className: statusBarClassName}, statusBarMessage));
167  
168 < totalSpecsDefined) { var results = find(".results");
169 < totalSpecsDefined) { results.appendChild(summary);
170  
171 < totalSpecsDefined) { summaryList(topResults, summary);
172  
173 < totalSpecsDefined) { function summaryList(resultsTree, domParent) {
174 < totalSpecsDefined) { var specListNode;
175 < totalSpecsDefined) { for (var i = 0; i < resultsTree.children.length; i++) {
176 < totalSpecsDefined) {< resultsTree.children.length; i++) { var resultNode = resultsTree.children[i];
177 < totalSpecsDefined) {< resultsTree.children.length; i++) { if (resultNode.type == "suite") {
178 < totalSpecsDefined) {< resultsTree.children.length; i++) { var suiteListNode = createDom("ul", {className: "suite", id: "suite-" + resultNode.result.id},
179 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("li", {className: "suite-detail"},
180 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("a", {href: specHref(resultNode.result)}, resultNode.result.description)
181 < totalSpecsDefined) {< resultsTree.children.length; i++) { )
182 < totalSpecsDefined) {< resultsTree.children.length; i++) { );
183  
184 < totalSpecsDefined) {< resultsTree.children.length; i++) { summaryList(resultNode, suiteListNode);
185 < totalSpecsDefined) {< resultsTree.children.length; i++) { domParent.appendChild(suiteListNode);
186 < totalSpecsDefined) {< resultsTree.children.length; i++) { }
187 < totalSpecsDefined) {< resultsTree.children.length; i++) { if (resultNode.type == "spec") {
188 < totalSpecsDefined) {< resultsTree.children.length; i++) { if (domParent.getAttribute("class") != "specs") {
189 < totalSpecsDefined) {< resultsTree.children.length; i++) { specListNode = createDom("ul", {className: "specs"});
190 < totalSpecsDefined) {< resultsTree.children.length; i++) { domParent.appendChild(specListNode);
191 < totalSpecsDefined) {< resultsTree.children.length; i++) { }
192 < totalSpecsDefined) {< resultsTree.children.length; i++) { specListNode.appendChild(
193 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("li", {
194 < totalSpecsDefined) {< resultsTree.children.length; i++) { className: resultNode.result.status,
195 < totalSpecsDefined) {< resultsTree.children.length; i++) { id: "spec-" + resultNode.result.id
196 < totalSpecsDefined) {< resultsTree.children.length; i++) { },
197 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("a", {href: specHref(resultNode.result)}, resultNode.result.description)
198 < totalSpecsDefined) {< resultsTree.children.length; i++) { )
199 < totalSpecsDefined) {< resultsTree.children.length; i++) { );
200 < totalSpecsDefined) {< resultsTree.children.length; i++) { }
201 < totalSpecsDefined) {< resultsTree.children.length; i++) { }
202 < totalSpecsDefined) {< resultsTree.children.length; i++) { }
203  
204 < totalSpecsDefined) {< resultsTree.children.length; i++) { if (failures.length) {
205 < totalSpecsDefined) {< resultsTree.children.length; i++) { alert.appendChild(
206 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom('span', {className: "menu bar spec-list"},
207 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("span", {}, "Spec List | "),
208 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom('a', {className: "failures-menu", href: "#"}, "Failures")));
209 < totalSpecsDefined) {< resultsTree.children.length; i++) { alert.appendChild(
210 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom('span', {className: "menu bar failure-list"},
211 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom('a', {className: "spec-list-menu", href: "#"}, "Spec List"),
212 < totalSpecsDefined) {< resultsTree.children.length; i++) { createDom("span", {}, " | Failures ")));
213  
214 < totalSpecsDefined) {< resultsTree.children.length; i++) { find(".failures-menu").onclick = function() {
215 < totalSpecsDefined) {< resultsTree.children.length; i++) { setMenuModeTo('failure-list');
216 < totalSpecsDefined) {< resultsTree.children.length; i++) { };
217 < totalSpecsDefined) {< resultsTree.children.length; i++) { find(".spec-list-menu").onclick = function() {
218 < totalSpecsDefined) {< resultsTree.children.length; i++) { setMenuModeTo('spec-list');
219 < totalSpecsDefined) {< resultsTree.children.length; i++) { };
220  
221 < totalSpecsDefined) {< resultsTree.children.length; i++) { setMenuModeTo('failure-list');
222  
223 < totalSpecsDefined) {< resultsTree.children.length; i++) { var failureNode = find(".failures");
224 < totalSpecsDefined) {< resultsTree.children.length; i++) { for (var i = 0; i < failures.length; i++) {
225 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { failureNode.appendChild(failures[i]);
226 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { }
227 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { }
228 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { };
229  
230 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { return this;
231  
232 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { function find(selector) {
233 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { return getContainer().querySelector(selector);
234 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { }
235  
236 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { function createDom(type, attrs, childrenVarArgs) {
237 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { var el = createElement(type);
238  
239 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) { for (var i = 2; i < arguments.length; i++) {
240 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var child = arguments[i];
241  
242 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { if (typeof child === 'string') {
243 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { el.appendChild(createTextNode(child));
244 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { } else {
245 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { if (child) {
246 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { el.appendChild(child);
247 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
248 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
249 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
250  
251 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { for (var attr in attrs) {
252 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { if (attr == "className") {
253 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { el[attr] = attrs[attr];
254 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { } else {
255 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { el.setAttribute(attr, attrs[attr]);
256 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
257 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
258  
259 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return el;
260 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
261  
262 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function pluralize(singular, count) {
263 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var word = (count == 1 ? singular : singular + "s");
264  
265 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return "" + count + " " + word;
266 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
267  
268 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function specHref(result) {
269 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return "?spec=" + encodeURIComponent(result.fullName);
270 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
271  
272 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function setMenuModeTo(mode) {
273 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { htmlReporterMain.setAttribute("class", "html-reporter " + mode);
274 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
275 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
276  
277 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return HtmlReporter;
278 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {};
279  
280 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {jasmineRequire.HtmlSpecFilter = function() {
281 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function HtmlSpecFilter(options) {
282 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
283 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var filterPattern = new RegExp(filterString);
284  
285 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.matches = function(specName) {
286 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return filterPattern.test(specName);
287 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { };
288 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
289  
290 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return HtmlSpecFilter;
291 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {};
292  
293 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {jasmineRequire.ResultsNode = function() {
294 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function ResultsNode(result, type, parent) {
295 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.result = result;
296 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.type = type;
297 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.parent = parent;
298  
299 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.children = [];
300  
301 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.addChild = function(result, type) {
302 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.children.push(new ResultsNode(result, type, this));
303 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { };
304  
305 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.last = function() {
306 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return this.children[this.children.length - 1];
307 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { };
308 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
309  
310 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return ResultsNode;
311 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {};
312  
313 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {jasmineRequire.QueryString = function() {
314 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function QueryString(options) {
315  
316 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.setParam = function(key, value) {
317 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var paramMap = queryStringToParamMap();
318 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { paramMap[key] = value;
319 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { options.getWindowLocation().search = toQueryString(paramMap);
320 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { };
321  
322 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { this.getParam = function(key) {
323 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return queryStringToParamMap()[key];
324 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { };
325  
326 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return this;
327  
328 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function toQueryString(paramMap) {
329 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var qStrPairs = [];
330 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { for (var prop in paramMap) {
331 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { qStrPairs.push(encodeURIComponent(prop) + "=" + encodeURIComponent(paramMap[prop]));
332 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
333 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { return "?" + qStrPairs.join('&');
334 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { }
335  
336 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { function queryStringToParamMap() {
337 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { var paramStr = options.getWindowLocation().search.substring(1),
338 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { params = [],
339 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { paramMap = {};
340  
341 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { if (paramStr.length > 0) {
342 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { params = paramStr.split('&');
343 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) { for (var i = 0; i < params.length; i++) {
344 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { var p = params[i].split('=');
345 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { var value = decodeURIComponent(p[1]);
346 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { if (value === "true" || value === "false") {
347 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { value = JSON.parse(value);
348 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { }
349 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { paramMap[decodeURIComponent(p[0])] = value;
350 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { }
351 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { }
352  
353 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { return paramMap;
354 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { }
355  
356 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { }
357  
358 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) { return QueryString;
359 < totalSpecsDefined) {< resultsTree.children.length; i++) {< failures.length; i++) {< arguments.length; i++) {< params.length; i++) {};