11import * as path from "path"
22import { describe , it , expect , beforeEach , afterEach , vi } from "vitest"
33
4- // Access the original console.log that was saved in vitest.setup.ts
5- const originalConsoleLog = ( global as any ) . originalConsoleLog || console . error
6-
74// Use vi.hoisted to ensure mocks are available during hoisting
85const { mockHomedir, mockStat, mockReadFile, mockReaddir, mockGetRooDirectoriesForCwd, mockGetGlobalRooDirectory } =
96 vi . hoisted ( ( ) => ( {
@@ -77,14 +74,10 @@ describe("custom-instructions global .roo support", () => {
7774
7875 const result = await loadRuleFiles ( mockCwd )
7976
80- originalConsoleLog ( "Result:" , result )
81- originalConsoleLog ( "mockStat calls:" , mockStat . mock . calls )
82- originalConsoleLog ( "mockReaddir calls:" , mockReaddir . mock . calls )
83- originalConsoleLog ( "mockReadFile calls:" , mockReadFile . mock . calls )
84-
85- expect ( result ) . toContain ( "# Global rules:" )
77+ expect ( result ) . toContain ( "# Rules from" )
78+ expect ( result ) . toContain ( "rules.md:" )
8679 expect ( result ) . toContain ( "global rule content" )
87- expect ( result ) . not . toContain ( "# Project-specific rules: " )
80+ expect ( result ) . not . toContain ( "project rule content " )
8881 } )
8982
9083 it ( "should load project rules only when global rules do not exist" , async ( ) => {
@@ -104,9 +97,10 @@ describe("custom-instructions global .roo support", () => {
10497
10598 const result = await loadRuleFiles ( mockCwd )
10699
107- expect ( result ) . toContain ( "# Project-specific rules:" )
100+ expect ( result ) . toContain ( "# Rules from" )
101+ expect ( result ) . toContain ( "rules.md:" )
108102 expect ( result ) . toContain ( "project rule content" )
109- expect ( result ) . not . toContain ( "# Global rules: " )
103+ expect ( result ) . not . toContain ( "global rule content " )
110104 } )
111105
112106 it ( "should merge global and project rules with project rules after global" , async ( ) => {
@@ -127,14 +121,15 @@ describe("custom-instructions global .roo support", () => {
127121
128122 const result = await loadRuleFiles ( mockCwd )
129123
130- expect ( result ) . toContain ( "# Global rules:" )
124+ expect ( result ) . toContain ( "# Rules from" )
125+ expect ( result ) . toContain ( "global.md:" )
131126 expect ( result ) . toContain ( "global rule content" )
132- expect ( result ) . toContain ( "# Project-specific rules :" )
127+ expect ( result ) . toContain ( "project.md :" )
133128 expect ( result ) . toContain ( "project rule content" )
134129
135130 // Ensure project rules come after global rules
136- const globalIndex = result . indexOf ( "# Global rules: " )
137- const projectIndex = result . indexOf ( "# Project-specific rules: " )
131+ const globalIndex = result . indexOf ( "global rule content " )
132+ const projectIndex = result . indexOf ( "project rule content " )
138133 expect ( globalIndex ) . toBeLessThan ( projectIndex )
139134 } )
140135
@@ -203,9 +198,10 @@ describe("custom-instructions global .roo support", () => {
203198
204199 const result = await addCustomInstructions ( "" , "" , mockCwd , mode )
205200
206- expect ( result ) . toContain ( "# Global mode-specific rules:" )
201+ expect ( result ) . toContain ( "# Rules from" )
202+ expect ( result ) . toContain ( "global-mode.md:" )
207203 expect ( result ) . toContain ( "global mode rule content" )
208- expect ( result ) . toContain ( "# Project-specific mode-specific rules :" )
204+ expect ( result ) . toContain ( "project- mode.md :" )
209205 expect ( result ) . toContain ( "project mode rule content" )
210206 } )
211207
0 commit comments