Merge pull request #11 from frantic/keep-consts-in-sync

Add test that makes sure text consts are in sync
This commit is contained in:
Christopher Chedeau
2014-09-27 07:19:19 -07:00
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'
);
});
});