Skip to content

Commit b3fa916

Browse files
committed
Add tests for layout to prevent errors [closes bestiejs#16]
1 parent 7a22ba0 commit b3fa916

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

platform.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@
671671
version = [version, doc.documentMode];
672672
if ((data = +data[1] + 4) != version[1]) {
673673
description.push('IE ' + version[1] + ' mode');
674-
layout[1] = '';
674+
layout && (layout[1] = '');
675675
version[1] = data;
676676
}
677677
version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];
@@ -791,14 +791,14 @@
791791
// detect JavaScriptCore
792792
// http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi
793793
if (!useFeatures || (/internal|\n/i.test(toString.toString()) && !data[1])) {
794-
layout[1] = 'like Safari';
794+
layout && (layout[1] = 'like Safari');
795795
data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : '5');
796796
} else {
797-
layout[1] = 'like Chrome';
797+
layout && (layout[1] = 'like Chrome');
798798
data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : '21');
799799
}
800800
// add the postfix of ".x" or "+" for approximate versions
801-
layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+');
801+
layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));
802802
// obscure version for some Safari 1-2 releases
803803
if (name == 'Safari' && (!version || parseInt(version) > 45)) {
804804
version = data;
@@ -816,7 +816,7 @@
816816
}
817817
}
818818
// detect Chrome desktop mode
819-
else if (name == 'Safari' && /Chrome/.exec(layout[1])) {
819+
else if (name == 'Safari' && /Chrome/.exec(layout && layout[1])) {
820820
description.unshift('desktop mode');
821821
name = 'Chrome Mobile';
822822
version = null;

0 commit comments

Comments
 (0)