@@ -14,11 +14,11 @@ const mockWriteFileSync = jest
1414) ;
1515
1616describe ( "generate" , ( ) => {
17- test . each < [ string [ ] , string [ ] ] > ( [
17+ test . each < [ string [ ] , any [ ] ] > ( [
1818 [
1919 [ "en" ] ,
2020 [
21- ' import lunr from "lunr";' ,
21+ expect . stringMatching ( / ^ i m p o r t l u n r f r o m " . + \/ l u n r \/ l u n r \. j s " ; $ / ) ,
2222 'export const indexHash = "abc";' ,
2323 "export const searchResultLimits = 8;" ,
2424 "export const searchResultContextMaxLength = 50;" ,
@@ -27,9 +27,11 @@ describe("generate", () => {
2727 [
2828 [ "zh" ] ,
2929 [
30- 'import lunr from "lunr";' ,
31- 'require("lunr-languages/lunr.stemmer.support")(lunr);' ,
32- 'require("./client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
30+ expect . stringMatching ( / ^ i m p o r t l u n r f r o m " .+ \/ l u n r \/ l u n r \. j s " ; $ / ) ,
31+ expect . stringMatching (
32+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. s t e m m e r \. s u p p o r t \. j s " \) \( l u n r \) ; $ /
33+ ) ,
34+ 'require("@easyops-cn/docusaurus-search-local/dist/client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
3335 'export const indexHash = "abc";' ,
3436 "export const searchResultLimits = 8;" ,
3537 "export const searchResultContextMaxLength = 50;" ,
@@ -38,9 +40,13 @@ describe("generate", () => {
3840 [
3941 [ "es" ] ,
4042 [
41- 'import lunr from "lunr";' ,
42- 'require("lunr-languages/lunr.stemmer.support")(lunr);' ,
43- 'require("lunr-languages/lunr.es")(lunr);' ,
43+ expect . stringMatching ( / ^ i m p o r t l u n r f r o m " .+ \/ l u n r \/ l u n r \. j s " ; $ / ) ,
44+ expect . stringMatching (
45+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. s t e m m e r \. s u p p o r t \. j s " \) \( l u n r \) ; $ /
46+ ) ,
47+ expect . stringMatching (
48+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. e s \. j s " \) \( l u n r \) ; $ /
49+ ) ,
4450 'export const indexHash = "abc";' ,
4551 "export const searchResultLimits = 8;" ,
4652 "export const searchResultContextMaxLength = 50;" ,
@@ -49,10 +55,14 @@ describe("generate", () => {
4955 [
5056 [ "en" , "zh" ] ,
5157 [
52- 'import lunr from "lunr";' ,
53- 'require("lunr-languages/lunr.stemmer.support")(lunr);' ,
54- 'require("./client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
55- 'require("lunr-languages/lunr.multi")(lunr);' ,
58+ expect . stringMatching ( / ^ i m p o r t l u n r f r o m " .+ \/ l u n r \/ l u n r \. j s " ; $ / ) ,
59+ expect . stringMatching (
60+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. s t e m m e r \. s u p p o r t \. j s " \) \( l u n r \) ; $ /
61+ ) ,
62+ 'require("@easyops-cn/docusaurus-search-local/dist/client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
63+ expect . stringMatching (
64+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. m u l t i \. j s " \) \( l u n r \) ; $ /
65+ ) ,
5666 'export const indexHash = "abc";' ,
5767 "export const searchResultLimits = 8;" ,
5868 "export const searchResultContextMaxLength = 50;" ,
@@ -61,25 +71,38 @@ describe("generate", () => {
6171 [
6272 [ "en" , "es" , "zh" ] ,
6373 [
64- 'import lunr from "lunr";' ,
65- 'require("lunr-languages/lunr.stemmer.support")(lunr);' ,
66- 'require("lunr-languages/lunr.es")(lunr);' ,
67- 'require("./client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
68- 'require("lunr-languages/lunr.multi")(lunr);' ,
74+ expect . stringMatching ( / ^ i m p o r t l u n r f r o m " .+ \/ l u n r \/ l u n r \. j s " ; $ / ) ,
75+ expect . stringMatching (
76+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. s t e m m e r \. s u p p o r t \. j s " \) \( l u n r \) ; $ /
77+ ) ,
78+ expect . stringMatching (
79+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. e s \. j s " \) \( l u n r \) ; $ /
80+ ) ,
81+ 'require("@easyops-cn/docusaurus-search-local/dist/client/shared/lunrLanguageZh").lunrLanguageZh(lunr);' ,
82+ expect . stringMatching (
83+ / ^ r e q u i r e \( " .+ \/ l u n r - l a n g u a g e s \/ l u n r \. m u l t i \. j s " \) \( l u n r \) ; $ /
84+ ) ,
6985 'export const indexHash = "abc";' ,
7086 "export const searchResultLimits = 8;" ,
7187 "export const searchResultContextMaxLength = 50;" ,
7288 ] ,
7389 ] ,
74- ] ) ( "generate({ language: %j }) should work" , ( language , contents ) => {
75- generate ( {
76- language,
77- searchResultLimits : 8 ,
78- searchResultContextMaxLength : 50 ,
79- } as ProcessedPluginOptions ) ;
90+ ] ) ( "generate({ language: %j }, dir) should work" , ( language , contents ) => {
91+ generate (
92+ {
93+ language,
94+ searchResultLimits : 8 ,
95+ searchResultContextMaxLength : 50 ,
96+ } as ProcessedPluginOptions ,
97+ "/tmp"
98+ ) ;
8099 expect ( mockWriteFileSync ) . toBeCalledWith (
81- expect . stringContaining ( "generated.js" ) ,
82- contents . join ( "\n" )
100+ "/tmp/generated.js" ,
101+ expect . any ( String )
102+ ) ;
103+ const calledContents = ( mockWriteFileSync . mock . calls [ 0 ] [ 1 ] as string ) . split (
104+ "\n"
83105 ) ;
106+ expect ( calledContents ) . toEqual ( contents ) ;
84107 } ) ;
85108} ) ;
0 commit comments