Make all tests pass again

This commit is contained in:
Julian Viereck 2011-01-27 00:25:19 +01:00
commit fc111989ec
5 changed files with 22 additions and 10 deletions

View file

@ -318,18 +318,18 @@ var EditSession = function(text, mode) {
}; };
this.getWidth = function() { this.getWidth = function() {
this.$computeWidth(!this.width); this.$computeWidth();
return this.width; return this.width;
}; };
this.getScreenWidth = function() { this.getScreenWidth = function() {
this.$computeWidth(!this.screenWidth); this.$computeWidth();
return this.screenWidth; return this.screenWidth;
}; };
this.$computeWidth = function(force) { this.$computeWidth = function(force) {
if (this.modified || force) { if (this.$modified || force) {
this.modified = false; this.$modified = false;
var lines = this.doc.getAllLines(); var lines = this.doc.getAllLines();
var longestLine = 0; var longestLine = 0;
@ -340,7 +340,7 @@ var EditSession = function(text, mode) {
var len = lines[i].length; var len = lines[i].length;
longestLine = Math.max(longestLine, len); longestLine = Math.max(longestLine, len);
lines[i].replace("\t", function(m) { lines[i].replace(/\t/g, function(m) {
len += tabSize-1; len += tabSize-1;
return m; return m;
}); });

View file

@ -58,6 +58,8 @@ var TextInput = function(parentNode, host) {
style.height = "30px"; style.height = "30px";
var changeCursor = function() { var changeCursor = function() {
if (host.renderer.isMockRenderer) return;
var cursor = host.getCursorPosition(); var cursor = host.getCursorPosition();
var pos = host.renderer.textToScreenCoordinates(cursor.row, cursor.column); var pos = host.renderer.textToScreenCoordinates(cursor.row, cursor.column);
var epos = parentNode.getBoundingClientRect(); var epos = parentNode.getBoundingClientRect();

View file

@ -285,7 +285,7 @@ var Test = {
var splits; var splits;
var tabSize = 4; var tabSize = 4;
var wrapLimit = 12; var wrapLimit = 12;
var computeWrapSplits = Document.prototype.$computeWrapSplits; var computeWrapSplits = EditSession.prototype.$computeWrapSplits;
var c = 0; var c = 0;
function computeAndAssert(line, assertEqual) { function computeAndAssert(line, assertEqual) {

View file

@ -257,6 +257,7 @@ var Test = {
session.doc.insertNewLine(0); session.doc.insertNewLine(0);
session.doc.insertLines(1, ["\t\t"]); session.doc.insertLines(1, ["\t\t"]);
assert.equal(session.getWidth(), 3); assert.equal(session.getWidth(), 3);
assert.equal(session.getScreenWidth(), 8); assert.equal(session.getScreenWidth(), 8);

View file

@ -50,6 +50,8 @@ MockRenderer = function(visibleRowCount) {
firstVisibleRow : 0, firstVisibleRow : 0,
lastVisibleRow : this.visibleRowCount lastVisibleRow : this.visibleRowCount
}; };
this.isMockRenderer = true;
}; };
@ -132,5 +134,12 @@ MockRenderer.prototype.visualizeFocus = function() {
MockRenderer.prototype.setAnnotations = function() { MockRenderer.prototype.setAnnotations = function() {
}; };
MockRenderer.prototype.textToScreenCoordinates = function() {
return {
pageX: 0,
pageY: 0
}
};
return MockRenderer; return MockRenderer;
}); });