const $ = require('../index'); const config = require('./config'); const jc1 = require('./code/simple1'); const jc2 = require('./code/simple2'); const jTryout = require('./code/simple-tryout'); const hc1 = require('./code/simple1.html'); test('$.remove: no selector', () => { expect(()=>{ const G = $('var a = 1;'); G.remove(); }).toThrow(); }) test('$.remove: siple code', () => { expect(()=>{ const G = $('var a = 1;'); G.remove('var $_$ '); }).not.toThrow(); }) test('$.remove: this[0] is null', () => { expect(()=>{ const G = $('var a = 1;'); G[0] = null G.remove(); }).not.toThrow(); }) test('$.remove: simple code 2', () => { expect(() => { const code = ` function parent(){ let name = 'jerry'; let city = 'bj'; function eat(){ console.log('do eat'); } } parent(); ` const G = $(code).remove('let $_$ = \'$_$\''); }).not.toThrow() }) test('$.remove: simple code 2', () => { expect(() => { const code = ` function parent(){ let name = 'jerry'; let city = 'bj'; function eat(){ console.log('do eat'); } } parent(); ` const G = $(code).remove('let $_$ = \'$_$\''); }).not.toThrow() }) test('$.remove: simple code 2 result should be ok', () => { const code = ` function parent(){ let name = 'jerry'; let city = 'bj'; function eat(){ console.log('do eat'); } } parent(); ` const G = $(code).remove('let $_$ = \'$_$\''); const result = G.generate(); expect(result.indexOf(`let name = 'jerry'` < 0)).toBeTruthy(); }) test('$.remove: remove code use find result should be ok', () => { const code = ` function parent(){ let name = 'jerry'; let city = 'bj'; function eat(){ console.log('do eat'); } } parent(); ` const G = $(code).find('parent()').remove(); const result = G.root().generate(); expect(result.indexOf(`parent()` < 0)).toBeTruthy(); }) // test('$.remove: simple2 code result should be ok', () => { // const G = $(jc2); // // G.remove('await this.fetchData();'); // const result = G.generate(); // expect(result.indexOf(`await this.fetchData()` < 0)).toBeTruthy(); // }) test('$.remove: simple tryout js code if condition should be remove', () => { // 删除掉非 391试用功能代码 const code = $(jTryout).find(`if(!Tryout.TRYOUT_SID_391){$_$}`).remove() .root() .generate(); const result = code.indexOf(`if (!Tryout.TRYOUT_SID_391)`) < 0 expect(result).toBeTruthy(); }) test('$.remove: simple1 html code', () => { expect(() => { const G = $(hc1, config.html); G.remove('test') }).not.toThrow(); }) test('$.remove: simple1 html code result should be ok', () => { const G = $(hc1, config.html); G.remove('test'); const code = G.generate(); expect(code.indexOf('test') < 0).toBeTruthy(); }) test('$.remove: find result to remove ,result should be ok', () => { const G = $(hc1, config.html).find('
$_$
'); G.remove('test'); const code = G.generate(); expect(code.indexOf('test') < 0).toBeTruthy(); }) test('$.remove: find result to remove use $_$,result should be ok', () => { const G = $(hc1, config.html).find('
$_$
'); G.remove('$_$'); const code = G.generate(); expect(code.indexOf('') < 0).toBeTruthy(); }) // todo 属性还不能这么匹配 // test('$.remove: remove attr ,result should be ok', () => { // const G = $(hc1, config.html); // G.remove('id="1"'); // //待定 // const code = G.generate(); // expect(code.indexOf('id="1"') < 0).toBeTruthy(); // }) test('$.remove: remove attr ,result should be ok', () => { const G = $(hc1, config.html); G.remove('
'); //待定 const code = G.generate(); expect(code.indexOf('id="1"') < 0).toBeTruthy(); })