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>
<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-consts-test.js"></script>
</body>
</html>

View File

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