mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-20 12:21:13 -05:00
fix: update tests to handle new experimental diff option and increase the default confidence to 1
This commit is contained in:
@@ -107,8 +107,12 @@ export class Cline {
|
||||
task?: string | undefined,
|
||||
images?: string[] | undefined,
|
||||
historyItem?: HistoryItem | undefined,
|
||||
experimentalDiffStrategy?: boolean,
|
||||
experimentalDiffStrategy: boolean = false,
|
||||
) {
|
||||
if (!task && !images && !historyItem) {
|
||||
throw new Error('Either historyItem or task/images must be provided');
|
||||
}
|
||||
|
||||
this.taskId = crypto.randomUUID()
|
||||
this.api = buildApiHandler(apiConfiguration)
|
||||
this.terminalManager = new TerminalManager()
|
||||
@@ -119,7 +123,7 @@ export class Cline {
|
||||
|
||||
// Prioritize experimentalDiffStrategy from history item if available
|
||||
const effectiveExperimentalDiffStrategy = historyItem?.experimentalDiffStrategy ?? experimentalDiffStrategy
|
||||
this.diffStrategy = getDiffStrategy(this.api.getModel().id, fuzzyMatchThreshold, effectiveExperimentalDiffStrategy)
|
||||
this.diffStrategy = getDiffStrategy(this.api.getModel().id, fuzzyMatchThreshold ?? 1.0, effectiveExperimentalDiffStrategy)
|
||||
this.diffViewProvider = new DiffViewProvider(cwd)
|
||||
this.providerRef = new WeakRef(provider)
|
||||
|
||||
|
||||
@@ -322,7 +322,7 @@ describe('Cline', () => {
|
||||
|
||||
expect(cline.diffEnabled).toBe(true);
|
||||
expect(cline.diffStrategy).toBeDefined();
|
||||
expect(getDiffStrategySpy).toHaveBeenCalledWith('claude-3-5-sonnet-20241022', 0.9);
|
||||
expect(getDiffStrategySpy).toHaveBeenCalledWith('claude-3-5-sonnet-20241022', 0.9, false);
|
||||
|
||||
getDiffStrategySpy.mockRestore();
|
||||
});
|
||||
@@ -341,7 +341,7 @@ describe('Cline', () => {
|
||||
|
||||
expect(cline.diffEnabled).toBe(true);
|
||||
expect(cline.diffStrategy).toBeDefined();
|
||||
expect(getDiffStrategySpy).toHaveBeenCalledWith('claude-3-5-sonnet-20241022', 1.0);
|
||||
expect(getDiffStrategySpy).toHaveBeenCalledWith('claude-3-5-sonnet-20241022', 1.0, false);
|
||||
|
||||
getDiffStrategySpy.mockRestore();
|
||||
});
|
||||
|
||||
@@ -7,14 +7,11 @@ import { NewUnifiedDiffStrategy } from './strategies/new-unified'
|
||||
* @param model The name of the model being used (e.g., 'gpt-4', 'claude-3-opus')
|
||||
* @returns The appropriate diff strategy for the model
|
||||
*/
|
||||
export function getDiffStrategy(model: string, fuzzyMatchThreshold?: number, experimentalDiffStrategy?: boolean): DiffStrategy {
|
||||
export function getDiffStrategy(model: string, fuzzyMatchThreshold?: number, experimentalDiffStrategy: boolean = false): DiffStrategy {
|
||||
if (experimentalDiffStrategy) {
|
||||
// Use the fuzzyMatchThreshold with a minimum of 0.8 (80%)
|
||||
const threshold = Math.max(fuzzyMatchThreshold ?? 1.0, 0.8)
|
||||
return new NewUnifiedDiffStrategy(threshold)
|
||||
return new NewUnifiedDiffStrategy(fuzzyMatchThreshold)
|
||||
}
|
||||
// Default to the stable SearchReplaceDiffStrategy
|
||||
return new SearchReplaceDiffStrategy()
|
||||
return new SearchReplaceDiffStrategy(fuzzyMatchThreshold)
|
||||
}
|
||||
|
||||
export type { DiffStrategy }
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('main', () => {
|
||||
describe('constructor', () => {
|
||||
it('should use default confidence threshold when not provided', () => {
|
||||
const defaultStrategy = new NewUnifiedDiffStrategy()
|
||||
expect(defaultStrategy['confidenceThreshold']).toBe(0.9)
|
||||
expect(defaultStrategy['confidenceThreshold']).toBe(1)
|
||||
})
|
||||
|
||||
it('should use provided confidence threshold', () => {
|
||||
|
||||
@@ -6,8 +6,8 @@ import { DiffResult, DiffStrategy } from "../../types"
|
||||
export class NewUnifiedDiffStrategy implements DiffStrategy {
|
||||
private readonly confidenceThreshold: number
|
||||
|
||||
constructor(confidenceThreshold: number = 0.9) {
|
||||
this.confidenceThreshold = Math.max(confidenceThreshold, 0.8)
|
||||
constructor(confidenceThreshold: number = 1) {
|
||||
this.confidenceThreshold = Math.max(confidenceThreshold, 0.8);
|
||||
}
|
||||
|
||||
private parseUnifiedDiff(diff: string): Diff {
|
||||
|
||||
@@ -610,6 +610,8 @@ describe('ClineProvider', () => {
|
||||
true,
|
||||
1.0,
|
||||
'Test task',
|
||||
undefined,
|
||||
undefined,
|
||||
undefined
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user