From 40cd3b8bdd9fa65799ffabebd68681aca94ee90c Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 6 Oct 2020 10:25:24 +0200 Subject: [PATCH] update search file, remove unused functions, https://github.com/microsoft/vscode/issues/103454 --- .vscode/searches/es6.code-search | 16 +++--- src/vs/base/browser/dom.ts | 9 ---- src/vs/base/test/browser/dom.test.ts | 76 ++++++++++++---------------- 3 files changed, 38 insertions(+), 63 deletions(-) diff --git a/.vscode/searches/es6.code-search b/.vscode/searches/es6.code-search index 1de25cd22e4..6808e123dc4 100644 --- a/.vscode/searches/es6.code-search +++ b/.vscode/searches/es6.code-search @@ -2,24 +2,20 @@ # Flags: CaseSensitive WordMatch # ContextLines: 2 -7 results - 2 files +5 results - 2 files src/vs/base/browser/dom.ts: - 74 }; - 75 - 76: /** @deprecated ES6 - use classList*/ - 77 export function hasClass(node: HTMLElement | SVGElement, className: string): boolean { return _classList.hasClass(node, className); } + 76 }; + 77 78: /** @deprecated ES6 - use classList*/ 79 export function addClass(node: HTMLElement | SVGElement, className: string): void { return _classList.addClass(node, className); } 80: /** @deprecated ES6 - use classList*/ 81 export function addClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.addClasses(node, ...classNames); } 82: /** @deprecated ES6 - use classList*/ - 83 export function removeClass(node: HTMLElement | SVGElement, className: string): void { return _classList.removeClass(node, className); } + 83 export function removeClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.removeClasses(node, ...classNames); } 84: /** @deprecated ES6 - use classList*/ - 85 export function removeClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.removeClasses(node, ...classNames); } - 86: /** @deprecated ES6 - use classList*/ - 87 export function toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void { return _classList.toggleClass(node, className, shouldHaveIt); } - 88 + 85 export function toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void { return _classList.toggleClass(node, className, shouldHaveIt); } + 86 src/vs/base/common/strings.ts: 15 diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index c65a61f2e7b..50bef5f7feb 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -40,18 +40,13 @@ export function isInDOM(node: Node | null): boolean { } interface IDomClassList { - hasClass(node: HTMLElement | SVGElement, className: string): boolean; addClass(node: HTMLElement | SVGElement, className: string): void; addClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void; - removeClass(node: HTMLElement | SVGElement, className: string): void; removeClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void; toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void; } const _classList: IDomClassList = new class implements IDomClassList { - hasClass(node: HTMLElement, className: string): boolean { - return Boolean(className) && node.classList && node.classList.contains(className); - } addClasses(node: HTMLElement, ...classNames: string[]): void { classNames.forEach(nameValue => nameValue.split(' ').forEach(name => this.addClass(node, name))); @@ -80,15 +75,11 @@ const _classList: IDomClassList = new class implements IDomClassList { } }; -/** @deprecated ES6 - use classList*/ -export function hasClass(node: HTMLElement | SVGElement, className: string): boolean { return _classList.hasClass(node, className); } /** @deprecated ES6 - use classList*/ export function addClass(node: HTMLElement | SVGElement, className: string): void { return _classList.addClass(node, className); } /** @deprecated ES6 - use classList*/ export function addClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.addClasses(node, ...classNames); } /** @deprecated ES6 - use classList*/ -export function removeClass(node: HTMLElement | SVGElement, className: string): void { return _classList.removeClass(node, className); } -/** @deprecated ES6 - use classList*/ export function removeClasses(node: HTMLElement | SVGElement, ...classNames: string[]): void { return _classList.removeClasses(node, ...classNames); } /** @deprecated ES6 - use classList*/ export function toggleClass(node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean): void { return _classList.toggleClass(node, className, shouldHaveIt); } diff --git a/src/vs/base/test/browser/dom.test.ts b/src/vs/base/test/browser/dom.test.ts index f5c8e65dac6..0c0cd4b6dfb 100644 --- a/src/vs/base/test/browser/dom.test.ts +++ b/src/vs/base/test/browser/dom.test.ts @@ -13,12 +13,12 @@ suite('dom', () => { let element = document.createElement('div'); element.className = 'foobar boo far'; - assert(dom.hasClass(element, 'foobar')); - assert(dom.hasClass(element, 'boo')); - assert(dom.hasClass(element, 'far')); - assert(!dom.hasClass(element, 'bar')); - assert(!dom.hasClass(element, 'foo')); - assert(!dom.hasClass(element, '')); + assert(element.classList.contains('foobar')); + assert(element.classList.contains('boo')); + assert(element.classList.contains('far')); + assert(!element.classList.contains('bar')); + assert(!element.classList.contains('foo')); + assert(!element.classList.contains('')); }); test('removeClass', () => { @@ -26,64 +26,52 @@ suite('dom', () => { let element = document.createElement('div'); element.className = 'foobar boo far'; - dom.removeClass(element, 'boo'); - assert(dom.hasClass(element, 'far')); - assert(!dom.hasClass(element, 'boo')); - assert(dom.hasClass(element, 'foobar')); + element.classList.remove('boo'); + assert(element.classList.contains('far')); + assert(!element.classList.contains('boo')); + assert(element.classList.contains('foobar')); assert.equal(element.className, 'foobar far'); element = document.createElement('div'); element.className = 'foobar boo far'; - dom.removeClass(element, 'far'); - assert(!dom.hasClass(element, 'far')); - assert(dom.hasClass(element, 'boo')); - assert(dom.hasClass(element, 'foobar')); + element.classList.remove('far'); + assert(!element.classList.contains('far')); + assert(element.classList.contains('boo')); + assert(element.classList.contains('foobar')); assert.equal(element.className, 'foobar boo'); - dom.removeClass(element, 'boo'); - assert(!dom.hasClass(element, 'far')); - assert(!dom.hasClass(element, 'boo')); - assert(dom.hasClass(element, 'foobar')); + element.classList.remove('boo'); + assert(!element.classList.contains('far')); + assert(!element.classList.contains('boo')); + assert(element.classList.contains('foobar')); assert.equal(element.className, 'foobar'); - dom.removeClass(element, 'foobar'); - assert(!dom.hasClass(element, 'far')); - assert(!dom.hasClass(element, 'boo')); - assert(!dom.hasClass(element, 'foobar')); + element.classList.remove('foobar'); + assert(!element.classList.contains('far')); + assert(!element.classList.contains('boo')); + assert(!element.classList.contains('foobar')); assert.equal(element.className, ''); }); test('removeClass should consider hyphens', function () { let element = document.createElement('div'); - dom.addClass(element, 'foo-bar'); - dom.addClass(element, 'bar'); + element.classList.add('foo-bar'); + element.classList.add('bar'); - assert(dom.hasClass(element, 'foo-bar')); - assert(dom.hasClass(element, 'bar')); + assert(element.classList.contains('foo-bar')); + assert(element.classList.contains('bar')); - dom.removeClass(element, 'bar'); - assert(dom.hasClass(element, 'foo-bar')); - assert(!dom.hasClass(element, 'bar')); + element.classList.remove('bar'); + assert(element.classList.contains('foo-bar')); + assert(!element.classList.contains('bar')); - dom.removeClass(element, 'foo-bar'); - assert(!dom.hasClass(element, 'foo-bar')); - assert(!dom.hasClass(element, 'bar')); + element.classList.remove('foo-bar'); + assert(!element.classList.contains('foo-bar')); + assert(!element.classList.contains('bar')); }); - //test('[perf] hasClass * 100000', () => { - // - // for (let i = 0; i < 100000; i++) { - // let element = document.createElement('div'); - // element.className = 'foobar boo far'; - // - // assert(dom.hasClass(element, 'far')); - // assert(dom.hasClass(element, 'boo')); - // assert(dom.hasClass(element, 'foobar')); - // } - //}); - suite('$', () => { test('should build simple nodes', () => { const div = $('div');