Add test that makes sure text consts are in sync
This commit is contained in:
@@ -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>
|
||||||
|
@@ -269,15 +269,17 @@ var layoutTestUtils = (function() {
|
|||||||
big: 'loooooooooong with space',
|
big: 'loooooooooong with space',
|
||||||
};
|
};
|
||||||
|
|
||||||
var textSizes;
|
var preDefinedTextSizes = {
|
||||||
if (typeof require === 'function') {
|
|
||||||
textSizes = {
|
|
||||||
smallWidth: 34.671875,
|
smallWidth: 34.671875,
|
||||||
smallHeight: 18,
|
smallHeight: 18,
|
||||||
bigWidth: 172.421875,
|
bigWidth: 172.421875,
|
||||||
bigHeight: 36,
|
bigHeight: 36,
|
||||||
bigMinWidth: 100.453125
|
bigMinWidth: 100.453125
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var textSizes;
|
||||||
|
if (typeof require === 'function') {
|
||||||
|
textSizes = preDefinedTextSizes;
|
||||||
} 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') {
|
||||||
|
14
src/__tests__/Layout-consts-test.js
Normal file
14
src/__tests__/Layout-consts-test.js
Normal 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'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
Reference in New Issue
Block a user