From c530a8266315f570e8e6acc3459a22ad0b97bcff Mon Sep 17 00:00:00 2001 From: Deivid Willyan Date: Mon, 23 Aug 2021 21:03:09 -0300 Subject: [PATCH] Add Menu Order, Fix Test not exist and Add Output Log Notification with running command --- .DS_Store | Bin 6148 -> 6148 bytes package.json | 6 +++--- src/data-provider.ts | 32 ++++++++++++++++++++++++++------ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/.DS_Store b/.DS_Store index 0965197dc4c6f1d43e56ed0f1922986a8e852c59..9e191249e249e3495cc9ff42b0f0331d0728f4ab 100644 GIT binary patch delta 31 ncmZoMXfc@J&&aniU^g=(-(((^nVWyJ@Gwto2;0og@s}R}qIL>b delta 100 zcmZoMXfc@J&&aBU^`N>H+`AG~63<3-cjNO~3u}Cv-X6N|J4*+}S7Eu5I diff --git a/package.json b/package.json index c377edf..060c867 100644 --- a/package.json +++ b/package.json @@ -96,17 +96,17 @@ { "command": "flutter-coverage.runTestCoverage", "when": "view == flutter-coverage", - "group": "navigation" + "group": "navigation@1" }, { "command": "flutter-coverage.clearCoverage", "when": "view == flutter-coverage", - "group": "navigation" + "group": "navigation@2" }, { "command": "flutter-coverage.refresh", "when": "view == flutter-coverage", - "group": "navigation" + "group": "navigation@3" } ], "view/item/context": [ diff --git a/src/data-provider.ts b/src/data-provider.ts index 377633d..738d78b 100644 --- a/src/data-provider.ts +++ b/src/data-provider.ts @@ -2,6 +2,7 @@ import * as vscodeLogging from '@vscode-logging/logger'; import * as iopath from 'path'; import * as vscode from 'vscode'; import * as cp from 'child_process'; +import * as fs from 'fs'; import { ConfigStore } from './config-store'; import { CoverageParser } from './coverage-parser'; import { FilesLoader } from './files-loader'; @@ -150,12 +151,31 @@ export class FileCoverageDataProvider implements vscode.TreeDataProvider { - if (err) { - this.logger.error(err.toString()); - } - this.logger.info(out); - }); + if (fs.existsSync(rootProjectPath + '/test')) { + + vscode.window.withProgress({ + location: vscode.ProgressLocation.Notification, + title: "Running Test coverage...", + cancellable: true + }, (_, token) => { + token.onCancellationRequested(() => { + console.log("User canceled the long running operation"); + }); + + const result = new Promise((resolve, reject) => { + cp.exec(`cd ${rootProjectPath} && flutter test --coverage`, (err, out) => { + if (err) { + return reject(err); + } + return resolve(out); + }); + }); + + return result; + }); + } else { + this.logger.info('Directory not found'); + } } }