- Included a new launch config that supports running with code coverage.
- Coverage is stored in a coverage folder as both LCOV file and HTML report (in sub folder)
- Added new scripts in our build machine to run with code coverage. Will enable a run that uses code coverage once this is merged
- To view code coverage while developing, install the LCOV VSCode extension, enable it and then hit F1 -> LCOV Menu -> Enable Decorations. This will highlight covered / missed lines in green and red.
Note: The HTMLContent codebase is not currently covered. With recent changes to minify this it breaks the remapping tool we use.
Detailed notes
- Coverage uses a config file to load settings. This is copied at the start of each task
- If tests fail, the process exit code will be 1. We should still write out code coverage in these cases as this is a useful detail even on runs with some test failures.
- On Windows, the extension is loaded (pulling in all source files via require) before the test runner is configured. Since instrumentation happens by hooking the require call, this meant that instrumentation never happened on Windows. To resolve this, we invalidate the Module cache for our source files so they are reloaded the next time anything requires them. At this point they are instrumented as expected. There is a minor risk to this if we had some global state or deeper integration test, but this doesn't impact any existing unit tests and is needed to unblock code coverage
* Skip coverage of HTMLContent due to crash
- With the latest HTMLContent changes to minify & uglify the code, the remap-istanbul component responsible for js -> ts remapping crashes trying to parse the sourceMap entries in the file. This is due to lack of whitespace between code which it expects - basically, it's not set up to run against such compact code
- Disabling coverage of this part of the code until this issue is resolved
* added select all event to context menu; added events for save as and select all
* added shortcuts to context menu when present
* fixed build errors
* fixed select all
* added refresh (#195)
* fixed null values in grid (#218)
* added config
Adding a new command for cancelling queries
* WIP
* Creating a cancelling spinner
* Removing keyboard shortcut as per @erickangMSFT
* Changes as per code review feedback
* Fit and finish for CTP1 connection functionality
* Fix so that MRU items not associated with a profile forget passwords
* Minor UI string change
* Addressing feedback
* Minor bugfix related to saving authentication type for MRU items
* Prevent saving plaintext passwords on new profiles
* Fix issue with MRU ordering edge case
* Changed commands from 'MSSQL' to 'MS SQL'
* Rename 'Switch database' -> 'Change database'
* Fix capitalization
* Added disconnected state for new SQL files
* Limit status bar text length
* Finalized tooltip text for connection status
* Added log messages for connect events
* Fix broken unit test
* Minor changes
* Addressing feedback
* Revert change to execute query shortcut
* Add openLink pipe line
* Change post data
* Handle save from untitle file
* Open file with content
* Add formatter for xml field
* Open xml links in new editor pane
* Remove extra space
* Pretty print xml
* Remove console.log
* Delete .BROWSE.VC.DB-shm
* Delete .BROWSE.VC.DB-wal
* Code cleanup
* Make enableAsyncPostRender an input into slickgrid
* Remove Xml FieldType
* Showing an error in the status bar if downloading the service failed. Hiding the installed service message after 5 seconds
* updating vscode-languageclinet to 2.5.0
* Initial commit of profile file saving support
* Fix path used on mac/linux
* Fixed issue with loading profiles from settings file
* Refactored out file logic to separate class to fix tests
* Fixed all existing tests
* Fixed unhandled exceptions leaking in tests
* Added unit tests for connection config
* Minor fix for edge case
* Addressing feedback
* MRU support in ConnectionStore
- Core functionality including tests to support most recently used list
- Configuration option to let users define the size of the MRU list
* Recent Connection added on Connect
- ConnectionManager.Connect will save a connection to the recently used list
- Unit Tests added to cover this
- Default value from the user settings is now filtered out as this change caused it to be shown (and we do not want the sample value visible)
* CredentialStore support via ServiceLayer
- Removed Node-based credential implementation as it send password over the command line
- Replaced with implementation via the ServiceLayer
- Improved error handling to catch rejected Thenables
- Removed no longer used npm dependencies
* Save Password fixes
- Renamed RecentConnections to ConnectionStore to accurately reflect status (it stores Profile info and in the future will also have MRU)
- Added a unit test to cover not saving password in the settings. Will update to include in the secret store instead in a future checkin
* Save and Remove password from credential store
- Password is now saved to credential store and removed from it when RemoveProfile is called
* ConnectionUI constructor requires ConnectionStore
* Fix casing for Credential objects
* Multiple fixes for Connection Behavior
- Integrated authentication handled correctly in the Create Profile workflow
- Error Handling in the main events so that rejected promises are not lost
- Handle Escape from Connection workflows correctly
* Use SqlLogin as authenticationType
* Use VSCodeWrapper for calls to ShowErrorMessage
* Update Nuget Dependency to 0.0.8
Added AuthenticationType as an option in the Create Profile workflow.
Created new test class and added a single test to verify the basic question flow.
TODO: Add serialization of this property across the API boundary and more tests
* Refactored the project to run the front end code as a separate npm package
* Added Slickgrid as UI component rather than Backgrid
* Added Gulp scripts for building