Add experiment support to gentest
Summary: This diff does two things - Clean up some of the generated code making the files smaller. - Add experiment support to generated tests allowing us to use gentest for things still being experimented with such as more compliant flex-basis behavior. Reviewed By: gkassabli Differential Revision: D4226734 fbshipit-source-id: 2cc1471c21883e8e326f16e7a8bb1a3657acd84b
This commit is contained in:
committed by
Facebook Github Bot
parent
a0d560a24b
commit
22b0fdb3e6
@@ -46,36 +46,7 @@ function printTest(e, LTRContainer, RTLContainer, genericContainer) {
|
||||
' * of patent rights can be found in the PATENTS file in the same directory.',
|
||||
' */',
|
||||
'',
|
||||
'/**',
|
||||
' * @Generated by gentest/gentest.sh with the following input',
|
||||
' *',
|
||||
]);
|
||||
|
||||
var indentation = 0;
|
||||
e.push(genericContainer.innerHTML.split('\n').map(function(line) {
|
||||
return line.trim();
|
||||
}).filter(function(line) {
|
||||
return line.length > 0 && line !== '<div id="default"></div>';
|
||||
}).map(function(line) {
|
||||
var result;
|
||||
if (line.indexOf('</div') == 0) {
|
||||
result = ' '.repeat(indentation - 1) + line;
|
||||
} else {
|
||||
result = ' '.repeat(indentation) + line;
|
||||
}
|
||||
|
||||
indentation += (line.match(/<div/g) || []).length;
|
||||
indentation -= (line.match(/<\/div/g) || []).length;
|
||||
return result;
|
||||
}).reduce(function(curr, prev) {
|
||||
if (prev.indexOf('<div') == 0) {
|
||||
prev = '\n' + prev;
|
||||
}
|
||||
return curr + '\n' + prev;
|
||||
}));
|
||||
e.push([
|
||||
' *',
|
||||
' */',
|
||||
' // @Generated by gentest/gentest.rb from gentest/fixtures/' + document.title + '.html',
|
||||
'',
|
||||
]);
|
||||
e.emitPrologue();
|
||||
@@ -86,7 +57,7 @@ function printTest(e, LTRContainer, RTLContainer, genericContainer) {
|
||||
|
||||
|
||||
for (var i = 0; i < genericLayoutTree.length; i++) {
|
||||
e.emitTestPrologue(genericLayoutTree[i].name);
|
||||
e.emitTestPrologue(genericLayoutTree[i].name, genericLayoutTree[i].experiments);
|
||||
|
||||
if (genericLayoutTree[i].name == 'wrap_column') {
|
||||
// Modify width and left values due to both safari and chrome not abiding by the
|
||||
@@ -127,7 +98,7 @@ function printTest(e, LTRContainer, RTLContainer, genericContainer) {
|
||||
|
||||
assertTestTree(e, RTLLayoutTree[i], 'root', null);
|
||||
|
||||
e.emitTestEpilogue();
|
||||
e.emitTestEpilogue(genericLayoutTree[i].experiments);
|
||||
}
|
||||
e.emitEpilogue();
|
||||
|
||||
@@ -443,6 +414,9 @@ function calculateTree(root) {
|
||||
style: getCSSLayoutStyle(child),
|
||||
declaredStyle: child.style,
|
||||
rawStyle: child.getAttribute('style'),
|
||||
experiments: child.getAttribute('experiments')
|
||||
? child.getAttribute('experiments').split(' ')
|
||||
: [],
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user