Add test that makes sure text consts are in sync

This commit is contained in:
Alex Kotliarskyi
2014-09-26 20:38:34 -07:00
parent 08095b7d2c
commit 308d0edc0b
3 changed files with 26 additions and 8 deletions

View File

@@ -18,5 +18,6 @@
<body> <body>
<script type="text/javascript" src="src/Layout-test-utils.js"></script> <script type="text/javascript" src="src/Layout-test-utils.js"></script>
<script type="text/javascript" src="src/__tests__/Layout-test.js"></script> <script type="text/javascript" src="src/__tests__/Layout-test.js"></script>
<script type="text/javascript" src="src/__tests__/Layout-consts-test.js"></script>
</body> </body>
</html> </html>

View File

@@ -269,15 +269,17 @@ var layoutTestUtils = (function() {
big: 'loooooooooong with space', big: 'loooooooooong with space',
}; };
var preDefinedTextSizes = {
smallWidth: 34.671875,
smallHeight: 18,
bigWidth: 172.421875,
bigHeight: 36,
bigMinWidth: 100.453125
};
var textSizes; var textSizes;
if (typeof require === 'function') { if (typeof require === 'function') {
textSizes = { textSizes = preDefinedTextSizes;
smallWidth: 34.671875,
smallHeight: 18,
bigWidth: 172.421875,
bigHeight: 36,
bigMinWidth: 100.453125
};
} else { } else {
textSizes = { textSizes = {
smallWidth: measureTextSizes(texts.small, 0).width, smallWidth: measureTextSizes(texts.small, 0).width,
@@ -291,6 +293,7 @@ var layoutTestUtils = (function() {
return { return {
texts: texts, texts: texts,
textSizes: textSizes, textSizes: textSizes,
preDefinedTextSizes: preDefinedTextSizes,
testLayout: function(node, expectedLayout) { testLayout: function(node, expectedLayout) {
var layout = computeCSSLayout(node); var layout = computeCSSLayout(node);
var domLayout = computeDOMLayout(node); var domLayout = computeDOMLayout(node);
@@ -333,7 +336,7 @@ var layoutTestUtils = (function() {
fn.toString = function() { return text; }; fn.toString = function() { return text; };
return fn; return fn;
} }
} };
})(); })();
if (typeof module !== 'undefined') { if (typeof module !== 'undefined') {

View File

@@ -0,0 +1,14 @@
/* globals layoutTestUtils */
var textSizes = layoutTestUtils.textSizes;
var preDefinedTextSizes = layoutTestUtils.preDefinedTextSizes;
describe('Layout tests consts', function() {
it('keeps browser text measurements in sync with predefined consts', function() {
expect(preDefinedTextSizes).toEqual(
textSizes,
'Looks like browser has updated its text measurements functions. ' +
'You need to update `preDefinedTextSizes` in Layout-test-utils.js'
);
});
});