1- import { describe , it } from 'node:test' ;
2- import { deepStrictEqual } from 'node:assert' ;
1+ import { describe , it , mock } from 'node:test' ;
2+ import { deepStrictEqual , strictEqual } from 'node:assert' ;
33import { duplicateStabilityNodes } from '../../rules/duplicate-stability-nodes.mjs' ;
44import { LINT_MESSAGES } from '../../constants.mjs' ;
55
@@ -44,18 +44,20 @@ const createContext = (nodes, path = 'file.md') => ({
4444 children : nodes ,
4545 } ,
4646 path,
47+ report : mock . fn ( ) ,
4748} ) ;
4849
4950describe ( 'duplicateStabilityNodes' , ( ) => {
50- it ( 'returns empty array when there are no stability nodes' , ( ) => {
51+ it ( 'should not report when there are no stability nodes' , ( ) => {
5152 const context = createContext ( [
5253 createHeadingNode ( 1 , 1 ) ,
5354 createHeadingNode ( 2 , 2 ) ,
5455 ] ) ;
55- deepStrictEqual ( duplicateStabilityNodes ( context ) , [ ] ) ;
56+ duplicateStabilityNodes ( context ) ;
57+ strictEqual ( context . report . mock . callCount ( ) , 0 ) ;
5658 } ) ;
5759
58- it ( 'returns empty array when there are no duplicate stability nodes' , ( ) => {
60+ it ( 'should not report when there are no duplicate stability nodes' , ( ) => {
5961 const context = createContext ( [
6062 createHeadingNode ( 1 , 1 ) ,
6163 createStabilityNode ( 0 , 2 ) ,
@@ -64,7 +66,8 @@ describe('duplicateStabilityNodes', () => {
6466 createHeadingNode ( 3 , 5 ) ,
6567 createStabilityNode ( 2 , 6 ) ,
6668 ] ) ;
67- deepStrictEqual ( duplicateStabilityNodes ( context ) , [ ] ) ;
69+ duplicateStabilityNodes ( context ) ;
70+ strictEqual ( context . report . mock . callCount ( ) , 0 ) ;
6871 } ) ;
6972
7073 it ( 'detects duplicate stability nodes within a chain' , ( ) => {
@@ -76,7 +79,13 @@ describe('duplicateStabilityNodes', () => {
7679 duplicateNode , // Duplicate stability node
7780 ] ) ;
7881
79- deepStrictEqual ( duplicateStabilityNodes ( context ) , [
82+ duplicateStabilityNodes ( context ) ;
83+
84+ strictEqual ( context . report . mock . callCount ( ) , 1 ) ;
85+
86+ const call = context . report . mock . calls [ 0 ] ;
87+
88+ deepStrictEqual ( call . arguments , [
8089 {
8190 level : 'warn' ,
8291 message : LINT_MESSAGES . duplicateStabilityNode ,
@@ -99,7 +108,13 @@ describe('duplicateStabilityNodes', () => {
99108 duplicateNode2 , // This should trigger another issue
100109 ] ) ;
101110
102- deepStrictEqual ( duplicateStabilityNodes ( context ) , [
111+ duplicateStabilityNodes ( context ) ;
112+
113+ strictEqual ( context . report . mock . callCount ( ) , 2 ) ;
114+
115+ const calls = context . report . mock . calls . flatMap ( call => call . arguments ) ;
116+
117+ deepStrictEqual ( calls , [
103118 {
104119 level : 'warn' ,
105120 message : LINT_MESSAGES . duplicateStabilityNode ,
@@ -133,7 +148,13 @@ describe('duplicateStabilityNodes', () => {
133148 duplicateNode , // This should trigger an issue
134149 ] ) ;
135150
136- deepStrictEqual ( duplicateStabilityNodes ( context ) , [
151+ duplicateStabilityNodes ( context ) ;
152+
153+ strictEqual ( context . report . mock . callCount ( ) , 1 ) ;
154+
155+ const call = context . report . mock . calls [ 0 ] ;
156+
157+ deepStrictEqual ( call . arguments , [
137158 {
138159 level : 'warn' ,
139160 message : LINT_MESSAGES . duplicateStabilityNode ,
@@ -158,7 +179,13 @@ describe('duplicateStabilityNodes', () => {
158179 duplicateNode2 , // This should trigger another issue
159180 ] ) ;
160181
161- deepStrictEqual ( duplicateStabilityNodes ( context ) , [
182+ duplicateStabilityNodes ( context ) ;
183+
184+ strictEqual ( context . report . mock . callCount ( ) , 2 ) ;
185+
186+ const calls = context . report . mock . calls . flatMap ( call => call . arguments ) ;
187+
188+ deepStrictEqual ( calls , [
162189 {
163190 level : 'warn' ,
164191 message : LINT_MESSAGES . duplicateStabilityNode ,
@@ -199,6 +226,8 @@ describe('duplicateStabilityNodes', () => {
199226 } ,
200227 ] ) ;
201228
202- deepStrictEqual ( duplicateStabilityNodes ( context ) , [ ] ) ;
229+ duplicateStabilityNodes ( context ) ;
230+
231+ strictEqual ( context . report . mock . callCount ( ) , 0 ) ;
203232 } ) ;
204233} ) ;
0 commit comments