Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 496207
Collapse All | Expand All

(-)a/bundles/org.eclipse.orion.client.javascript/web/javascript/ternPlugins/quickfixes.js (-9 / +19 lines)
Lines 278-294 define([ Link Here
278
				var node = Finder.findNode(annot.start, file.ast, {parents:true});
278
				var node = Finder.findNode(annot.start, file.ast, {parents:true});
279
				if(node) {
279
				if(node) {
280
					var p = node.parents[node.parents.length-1];
280
					var p = node.parents[node.parents.length-1];
281
					if(p.type === 'AssignmentExpression') {
281
					switch(p.type) {
282
						var end = p.range[1];
282
						case 'AssignmentExpression' : {
283
						var tok = Finder.findToken(end, file.ast.tokens);
283
							var end = p.range[1];
284
						if(tok) {
284
							var tokens = file.ast.tokens;
285
							//we want the next one, ignoring whitespace
285
							var tok = Finder.findToken(end, tokens);
286
							tok = file.ast.tokens[tok.index+1];
286
							if(tok) {
287
							if(tok &&  tok.type === 'Punctuator' && tok.value === ';') {
287
								//we want the next one, ignoring whitespace
288
								end = tok.range[1]; //clean up trailing semicolons
288
								if((tok.type !== 'Punctuator' || tok.value !== ';') && tokens.length > tok.index + 1) {
289
									tok = tokens[tok.index+1];
290
								}
291
								if(tok &&  tok.type === 'Punctuator' && tok.value === ';') {
292
									end = tok.range[1]; //clean up trailing semicolons
293
								}
289
							}
294
							}
295
							return {text: '', start: p.range[0], end: end};
296
						}
297
						case 'VariableDeclarator' : {
298
							// init is the same name as the id
299
							var variableDeclarator = p;
300
							return {text: '', start: variableDeclarator.id.range[1], end: variableDeclarator.range[1]};
290
						}
301
						}
291
						return {text: '', start: p.range[0], end: end};
292
					}
302
					}
293
				}
303
				}
294
			});
304
			});
(-)a/bundles/org.eclipse.orion.client.javascript/web/js-tests/javascript/quickfixTests.js (-3 / +33 lines)
Lines 1173-1179 define([ Link Here
1173
		describe("no-self-assign", function() {
1173
		describe("no-self-assign", function() {
1174
			it("no-self-assign single 1", function(done) {
1174
			it("no-self-assign single 1", function(done) {
1175
				var rule = createTestRule("no-self-assign");
1175
				var rule = createTestRule("no-self-assign");
1176
				var expected = {value:'', start: 14, end: 23};
1176
				var expected = {value:'', start: 14, end: 24};
1177
				return getFixes({
1177
				return getFixes({
1178
					buffer: "var foo = 10; foo = foo;",
1178
					buffer: "var foo = 10; foo = foo;",
1179
					rule: rule,
1179
					rule: rule,
Lines 1224-1231 define([ Link Here
1224
			it("no-self-assign multi 1", function(done) {
1224
			it("no-self-assign multi 1", function(done) {
1225
				var rule = createTestRule("no-self-assign");
1225
				var rule = createTestRule("no-self-assign");
1226
				var expected = [
1226
				var expected = [
1227
					{value:'', start: 14, end: 23},
1227
					{value:'', start: 14, end: 24},
1228
					{value:'', start: 40, end: 49}
1228
					{value:'', start: 40, end: 50}
1229
				];
1229
				];
1230
				return getFixes({
1230
				return getFixes({
1231
					buffer: "var foo = 10; foo = foo; var bar = foo; bar = bar;",
1231
					buffer: "var foo = 10; foo = foo; var bar = foo; bar = bar;",
Lines 1247-1252 define([ Link Here
1247
					callback: done
1247
					callback: done
1248
				});
1248
				});
1249
			});
1249
			});
1250
			it("no-self-assign variable declarator init same as id", function(done) {
1251
				var rule = createTestRule("no-self-assign");
1252
				var expected = {value:'', start: 7, end: 13};
1253
				return getFixes({
1254
					buffer: "var foo = foo;",
1255
					rule: rule,
1256
					expected: expected,
1257
					callback: done
1258
				});
1259
			});
1260
			it("no-self-assign variable declarator init same as id 2", function(done) {
1261
				var rule = createTestRule("no-self-assign");
1262
				var expected = {value:'', start: 7, end: 15};
1263
				return getFixes({
1264
					buffer: "var foo = (foo);",
1265
					rule: rule,
1266
					expected: expected,
1267
					callback: done
1268
				});
1269
			});
1270
			it("no-self-assign variable declarator init same as id 3", function(done) {
1271
				var rule = createTestRule("no-self-assign");
1272
				var expected = {value:'', start: 17, end: 25};
1273
				return getFixes({
1274
					buffer: "var bar = 10, foo = (foo);",
1275
					rule: rule,
1276
					expected: expected,
1277
					callback: done
1278
				});
1279
			});
1250
		});
1280
		});
1251
		//NEW-PARENS
1281
		//NEW-PARENS
1252
		describe("new-parens", function() {
1282
		describe("new-parens", function() {

Return to bug 496207