-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
10011: Add DebugProtocolSource and DebugProtocolBreakpoint
Add "DebugProtocolSource" and "DebugProtocolEndpoint" to the plug-in API, as well as the methods using these interfaces: - DebugSession.getDebugProtocolBreakpoint() - debug.asDebugSourceUri() 10011: Fix asDebugSourceUri - Rename asDebugSourceURI to getDebugSourceUri to avoid name clash - Fix the way the debug source query is built - Add tests 10011: Minor code improvements - Improve test description to be consistent with other tests - Move the SCHEME and SCHEME_PATTERN constants to debug/common for reusability 10011: Rebase on master - Rebase on master and resolve conflicts Contributed on behalf of STMicroelectronics Signed-off-by: Camille Letavernier <cletavernier@eclipsesource.com>
- Loading branch information
1 parent
84b317a
commit ef2ce1e
Showing
12 changed files
with
227 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/******************************************************************************** | ||
* Copyright (C) 2022 STMicroelectronics and others. | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Eclipse Public License v. 2.0 which is available at | ||
* http://www.eclipse.org/legal/epl-2.0. | ||
* | ||
* This Source Code may also be made available under the following Secondary | ||
* Licenses when the conditions for such availability set forth in the Eclipse | ||
* Public License v. 2.0 are satisfied: GNU General Public License, version 2 | ||
* with the GNU Classpath Exception which is available at | ||
* https://www.gnu.org/software/classpath/license.html. | ||
* | ||
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | ||
********************************************************************************/ | ||
|
||
/** | ||
* The URI scheme for debug URIs. | ||
*/ | ||
export const DEBUG_SCHEME = 'debug'; | ||
/** | ||
* The pattern for URI schemes. | ||
*/ | ||
export const SCHEME_PATTERN = /^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
/******************************************************************************** | ||
* Copyright (C) 2022 STMicroelectronics and others. | ||
* | ||
* This program and the accompanying materials are made available under the | ||
* terms of the Eclipse Public License v. 2.0 which is available at | ||
* http://www.eclipse.org/legal/epl-2.0. | ||
* | ||
* This Source Code may also be made available under the following Secondary | ||
* Licenses when the conditions for such availability set forth in the Eclipse | ||
* Public License v. 2.0 are satisfied: GNU General Public License, version 2 | ||
* with the GNU Classpath Exception which is available at | ||
* https://www.gnu.org/software/classpath/license.html. | ||
* | ||
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | ||
********************************************************************************/ | ||
import { DebugSession } from '@theia/plugin'; | ||
import * as chai from 'chai'; | ||
import { ProxyIdentifier, RPCProtocol } from '../../../common/rpc-protocol'; | ||
|
||
import { DebugExtImpl } from '../../debug/debug-ext'; | ||
|
||
const expect = chai.expect; | ||
|
||
describe('Debug API', () => { | ||
|
||
describe('#asDebugSourceURI', () => { | ||
|
||
const mockRPCProtocol: RPCProtocol = { | ||
getProxy<T>(_proxyId: ProxyIdentifier<T>): T { | ||
return {} as T; | ||
}, | ||
set<T, R extends T>(_id: ProxyIdentifier<T>, instance: R): R { | ||
return instance; | ||
}, | ||
dispose(): void { | ||
// Nothing | ||
} | ||
}; | ||
|
||
const debug = new DebugExtImpl(mockRPCProtocol); | ||
|
||
it('should use sourceReference, path and sessionId', () => { | ||
const source = { | ||
sourceReference: 3, | ||
path: 'test/path' | ||
}; | ||
const session = { id: 'test-session' } as DebugSession; | ||
const uri = debug.asDebugSourceUri(source, session); | ||
expect(uri.toString(true)).to.be.equal('debug:test/path?ref=3&session=test-session'); | ||
}); | ||
|
||
it('should use sourceReference', () => { | ||
const source = { | ||
sourceReference: 5 | ||
}; | ||
const uri = debug.asDebugSourceUri(source); | ||
expect(uri.toString(true)).to.be.equal('debug:?ref=5'); | ||
}); | ||
|
||
it('should use sourceReference and session', () => { | ||
const source = { | ||
sourceReference: 5 | ||
}; | ||
const session = { id: 'test-session' } as DebugSession; | ||
const uri = debug.asDebugSourceUri(source, session); | ||
expect(uri.toString(true)).to.be.equal('debug:?ref=5&session=test-session'); | ||
}); | ||
|
||
it('should use sourceReference and path', () => { | ||
const source = { | ||
sourceReference: 4, | ||
path: 'test/path' | ||
}; | ||
const uri = debug.asDebugSourceUri(source); | ||
expect(uri.toString(true)).to.be.equal('debug:test/path?ref=4'); | ||
}); | ||
|
||
it('should use path', () => { | ||
const source = { | ||
path: 'scheme:/full/path' | ||
}; | ||
const uri = debug.asDebugSourceUri(source); | ||
expect(uri.toString(true)).to.be.equal('scheme:/full/path'); | ||
}); | ||
|
||
it('should use file path', () => { | ||
const source = { | ||
path: '/full/path' | ||
}; | ||
const uri = debug.asDebugSourceUri(source); | ||
expect(uri.toString(true)).to.be.equal('file:///full/path'); | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters