(context)
| 664 | var isUndefinedOrNull = function (x) { return isUndefined(x) || x === null; }; |
| 665 | |
| 666 | var HTML = function(context) { |
| 667 | |
| 668 | if (isUndefinedOrNull(context)) return ''; |
| 669 | |
| 670 | var a = arguments, r, i, obj, k, k2, t, v, css, mSub, j, mn, sk, skk, f, |
| 671 | content = '', attrs = {}; |
| 672 | |
| 673 | if (a.length > 1) { |
| 674 | for (content = [], i = 0; i < a.length; ++i) |
| 675 | content.push(a[i]); |
| 676 | return HTML(content); |
| 677 | } |
| 678 | |
| 679 | if (!isArray(context)) return '' + context; |
| 680 | |
| 681 | var n = context.length, tag = context[0] + ''; |
| 682 | |
| 683 | if (!n) return ''; |
| 684 | |
| 685 | if (n && (isArray(context[0]) || isUndefinedOrNull(context[0]) || !tag.match(htmlTagRe))) { |
| 686 | for (r = '', i = 0; i < n; i++) { |
| 687 | if (isFunction(context[i+1])) { |
| 688 | mn = mapNext(context, i); |
| 689 | r += mn.r; |
| 690 | i = mn.i; |
| 691 | } else { |
| 692 | r += HTML(context[i]); |
| 693 | } |
| 694 | |
| 695 | } |
| 696 | return r; |
| 697 | } |
| 698 | |
| 699 | for (i = 1; i < n; i++) if (!isUndefinedOrNull(context[i])) { |
| 700 | obj = context[i]; |
| 701 | if (isArray(obj)) { |
| 702 | if (isFunction(context[i+1])) { |
| 703 | mn = mapNext(context, i); |
| 704 | content += mn.r; |
| 705 | i = mn.i; |
| 706 | } else { |
| 707 | content += HTML(obj); |
| 708 | } |
| 709 | } else if (isObject(obj)) { |
| 710 | for (k in obj) { |
| 711 | v = obj[k]; |
| 712 | t = trim(k).toLowerCase(); |
| 713 | if (t == 'style' && !isObject(v)) { |
| 714 | v += ''; |
| 715 | css = {}; |
| 716 | while (mSub = cssPropRe.exec(v)) |
| 717 | css[mSub[1]] = mSub[2]; |
| 718 | v = css; |
| 719 | } |
| 720 | if (obj.hasOwnProperty(k) && !isUndefinedOrNull(v)) { |
| 721 | if (isObject(v)) { |
| 722 | if (!attrs.hasOwnProperty(k) || !isObject(attrs[k])) |
| 723 | attrs[k] = {}; |
no test coverage detected