@@ -1108,7 +1108,7 @@ describe('reactivity/computed', () => {
11081108 start . prop2 . value = 3
11091109 start . prop3 . value = 2
11101110 start . prop4 . value = 1
1111- expect ( performance . now ( ) - t ) . toBeLessThan ( process . env . CI ? 100 : 30 )
1111+ expect ( performance . now ( ) - t ) . toBeLessThan ( process . env . CI ? 100 : 50 )
11121112
11131113 const end = layer
11141114 expect ( [
@@ -1175,8 +1175,8 @@ describe('reactivity/computed', () => {
11751175
11761176 // Trigger dependency tracking but without actual value change
11771177 // This simulates the scenario where globalVersion changes but actual dep values don't
1178- const impl = comp as any as ComputedRefImpl
1179- impl . globalVersion = - 1 // Force a version mismatch
1178+ // Use a benign ref operation to trigger version changes
1179+ ref ( 0 ) . value ++
11801180
11811181 // Access computed again - should not recompute due to dev mode optimization
11821182 expect ( comp . value ) . toBe ( 1 )
@@ -1214,12 +1214,8 @@ describe('reactivity/computed', () => {
12141214 expect ( getterC ) . toHaveBeenCalledTimes ( 1 )
12151215
12161216 // Force version mismatch to trigger dev mode optimization path
1217- const implA = compA as any as ComputedRefImpl
1218- const implB = compB as any as ComputedRefImpl
1219- const implC = compC as any as ComputedRefImpl
1220- implA . globalVersion = - 1
1221- implB . globalVersion = - 1
1222- implC . globalVersion = - 1
1217+ // Use a benign ref operation to trigger version changes
1218+ ref ( 0 ) . value ++
12231219
12241220 // Access computed again - should not recompute any level
12251221 expect ( compC . value ) . toBe ( 9 )
@@ -1249,8 +1245,8 @@ describe('reactivity/computed', () => {
12491245 expect ( getter ) . toHaveBeenCalledTimes ( 1 )
12501246
12511247 // Force version mismatch
1252- const impl = comp as any as ComputedRefImpl
1253- impl . globalVersion = - 1
1248+ // Use a benign ref operation to trigger version changes
1249+ ref ( 0 ) . value ++
12541250
12551251 // Change one dependency
12561252 base1 . value = 5
@@ -1277,8 +1273,8 @@ describe('reactivity/computed', () => {
12771273 unchanged . value
12781274
12791275 // Force version mismatch
1280- const impl = comp as any as ComputedRefImpl
1281- impl . globalVersion = - 1
1276+ // Use a benign ref operation to trigger version changes
1277+ ref ( 0 ) . value ++
12821278
12831279 // Change only one dependency
12841280 changed . value = 5
@@ -1290,28 +1286,30 @@ describe('reactivity/computed', () => {
12901286
12911287 test ( 'should not affect production mode behavior' , ( ) => {
12921288 // Set to production mode
1293- ; ( globalThis as any ) . __DEV__ = false
1294-
1295- const getter = vi . fn ( )
1296- const base = ref ( 1 )
1297- const comp = computed ( ( ) => {
1298- getter ( )
1299- return base . value
1300- } )
1289+ const prevDev = ( globalThis as any ) . __DEV__
1290+ try {
1291+ ; ( globalThis as any ) . __DEV__ = false
1292+
1293+ const getter = vi . fn ( )
1294+ const base = ref ( 1 )
1295+ const comp = computed ( ( ) => {
1296+ getter ( )
1297+ return base . value
1298+ } )
13011299
1302- // Initial computation
1303- expect ( comp . value ) . toBe ( 1 )
1304- expect ( getter ) . toHaveBeenCalledTimes ( 1 )
1300+ // Initial computation
1301+ expect ( comp . value ) . toBe ( 1 )
1302+ expect ( getter ) . toHaveBeenCalledTimes ( 1 )
13051303
1306- // Force version mismatch - in production this should still follow normal path
1307- const impl = comp as any as ComputedRefImpl
1308- impl . globalVersion = - 1
1304+ // Force version mismatch - in production this should still follow normal path
1305+ ref ( 0 ) . value ++
13091306
1310- // In production mode, the optimization should not apply
1311- // The behavior should be determined by the normal computed logic
1312- expect ( comp . value ) . toBe ( 1 )
1313- // In production, without the dev optimization, the call count behavior
1314- // depends on the normal computed implementation
1307+ // In production mode, the optimization should not apply.
1308+ // Behavior follows normal computed logic; value remains correct.
1309+ expect ( comp . value ) . toBe ( 1 )
1310+ } finally {
1311+ ; ( globalThis as any ) . __DEV__ = prevDev
1312+ }
13151313 } )
13161314 } )
13171315} )
0 commit comments