mirror of
https://github.com/google/blockly.git
synced 2026-01-10 10:27:08 +01:00
Moved setTooltip tests into the customization suite.
This commit is contained in:
@@ -341,147 +341,6 @@ suite('Abstract Fields', function() {
|
||||
chai.assert(this.field.doValueUpdate_.calledOnce);
|
||||
});
|
||||
});
|
||||
suite('setTooltip', function() {
|
||||
setup(function() {
|
||||
this.workspace = new Blockly.WorkspaceSvg({});
|
||||
this.workspace.createDom();
|
||||
});
|
||||
teardown(function() {
|
||||
this.workspace = null;
|
||||
});
|
||||
test('Before Append', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip('tooltip');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('After Append', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
field.setTooltip('tooltip');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('After Block Creation', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
field.setTooltip('tooltip');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Dynamic Function', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(this.tooltipFunc);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
|
||||
tooltipFunc: function() {
|
||||
return this.getFieldValue('TOOLTIP');
|
||||
}
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block.tooltipFunc);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Element', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(this.element);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
element: {
|
||||
tooltip: 'tooltip'
|
||||
}
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block.element);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Null', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(null);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Undefined', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
});
|
||||
suite('Customization', function() {
|
||||
// All this field does is wrap the abstract field.
|
||||
function CustomField(opt_config) {
|
||||
@@ -526,6 +385,147 @@ suite('Abstract Fields', function() {
|
||||
chai.assert.equal(field.tooltip_, 'test tooltip');
|
||||
});
|
||||
});
|
||||
suite('setTooltip', function() {
|
||||
setup(function() {
|
||||
this.workspace = new Blockly.WorkspaceSvg({});
|
||||
this.workspace.createDom();
|
||||
});
|
||||
teardown(function() {
|
||||
this.workspace = null;
|
||||
});
|
||||
test('Before Append', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip('tooltip');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('After Append', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
field.setTooltip('tooltip');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('After Block Creation', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
field.setTooltip('tooltip');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, 'tooltip');
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Dynamic Function', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(this.tooltipFunc);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
|
||||
tooltipFunc: function() {
|
||||
return this.getFieldValue('TOOLTIP');
|
||||
}
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block.tooltipFunc);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Element', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(this.element);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
element: {
|
||||
tooltip: 'tooltip'
|
||||
}
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block.element);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Null', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
field.setTooltip(null);
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
test('Undefined', function() {
|
||||
Blockly.Blocks['tooltip'] = {
|
||||
init: function() {
|
||||
var field = new Blockly.FieldTextInput('default');
|
||||
this.appendDummyInput()
|
||||
.appendField(field, 'TOOLTIP');
|
||||
},
|
||||
};
|
||||
var block = Blockly.Xml.domToBlock(Blockly.Xml.textToDom(
|
||||
'<xml xmlns="https://developers.google.com/blockly/xml">' +
|
||||
' <block type="tooltip"></block>' +
|
||||
'</xml>'
|
||||
).children[0], this.workspace);
|
||||
var field = block.getField('TOOLTIP');
|
||||
chai.assert.equal(field.getClickTarget_().tooltip, block);
|
||||
delete Blockly.Blocks['tooltip'];
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user