@@ -389,12 +389,34 @@ TEST(dbmem_parse_mdx_keeps_import_export_prose_and_indented_code) {
389389}
390390
391391TEST (dbmem_parse_mdx_real_docs_file ) {
392- const char * path = "/Users/marco/SQLiteCloud/website/docs-website/content/docs/sqlite-cloud/multi-code-example.mdx" ;
393- if (!dbmem_file_exists (path )) return ;
394-
395- int64_t len = 0 ;
396- char * input = dbmem_file_read (path , & len );
397- ASSERT (input != NULL );
392+ const char * input =
393+ "---\n"
394+ "title: Multi Code Component Examples\n"
395+ "description: Multi Code Component Examples\n"
396+ "slug: multicode\n"
397+ "---\n"
398+ "import MultiCode from '@commons-components/Code/MultiCode.astro';\n"
399+ "\n"
400+ "In this examples, we will show how to use the `MultiCode` component:\n"
401+ "\n"
402+ "---\n"
403+ "## First example\n"
404+ "\n"
405+ "export const WebliteSourceCode = `<script>\n"
406+ " async function searchData(event) {\n"
407+ " const query = document.getElementById('query').value;\n"
408+ " }\n"
409+ "</script>`;\n"
410+ "\n"
411+ "export const codeExamplesOne = [\n"
412+ " {\n"
413+ " sliderItem: \"Web\",\n"
414+ " codeLines: WebliteSourceCode,\n"
415+ " lang: \"html\",\n"
416+ " }\n"
417+ "];\n"
418+ "\n"
419+ "<MultiCode id=\"first\" copyCode={true} codeItems={codeExamplesOne} />\n" ;
398420
399421 dbmem_parse_settings settings = default_settings ();
400422 settings .mdx_mode = true;
@@ -403,7 +425,7 @@ TEST(dbmem_parse_mdx_real_docs_file) {
403425 settings .callback = test_callback ;
404426 settings .xdata = & ctx ;
405427
406- int rc = dbmem_parse (input , ( size_t ) len , & settings );
428+ int rc = dbmem_parse (input , strlen ( input ) , & settings );
407429 ASSERT_EQ (rc , 0 );
408430 ASSERT (ctx .count >= 1 );
409431 ASSERT (test_ctx_contains (& ctx , "Multi Code Component Examples" ));
@@ -412,7 +434,6 @@ TEST(dbmem_parse_mdx_real_docs_file) {
412434 ASSERT (!test_ctx_contains (& ctx , "WebliteSourceCode" ));
413435 ASSERT (!test_ctx_contains (& ctx , "codeExamplesOne" ));
414436
415- dbmemory_free (input );
416437 free_test_ctx (& ctx );
417438}
418439
@@ -1973,12 +1994,13 @@ TEST(sqlite_sync_directory_removes_deleted) {
19731994 sqlite3 * db = open_test_db ();
19741995 ASSERT (db != NULL );
19751996
1976- const char * test_dir = "/tmp/dbmem_test_sync_del" ;
1977- const char * file_keep = "/tmp/dbmem_test_sync_del/keep.md" ;
1997+ const char * test_dir = TEST_TMP_DIR "/dbmem_test_sync_del" ;
1998+ const char * file_keep = TEST_TMP_DIR "/dbmem_test_sync_del/keep.md" ;
1999+ const char * file_gone = TEST_TMP_DIR "/dbmem_test_sync_del/gone.md" ;
19782000
19792001 // Clean up
19802002 remove (file_keep );
1981- remove ("/tmp/dbmem_test_sync_del/gone.md" );
2003+ remove (file_gone );
19822004 rmdir_p (test_dir );
19832005
19842006 // Create directory with one file
@@ -1996,7 +2018,7 @@ TEST(sqlite_sync_directory_removes_deleted) {
19962018 int rc = insert_fake_content (db , keep_hash , file_keep , NULL , len );
19972019 ASSERT_EQ (rc , SQLITE_OK );
19982020
1999- rc = insert_fake_content (db , 99999 , "/tmp/dbmem_test_sync_del/gone.md" , NULL , 4 );
2021+ rc = insert_fake_content (db , 99999 , file_gone , NULL , 4 );
20002022 ASSERT_EQ (rc , SQLITE_OK );
20012023
20022024 // Verify 2 entries before sync
@@ -2007,7 +2029,7 @@ TEST(sqlite_sync_directory_removes_deleted) {
20072029
20082030 // Sync — should remove the entry for gone.md, skip keep.md (hash match)
20092031 sqlite3_int64 result ;
2010- rc = exec_get_int (db , "SELECT memory_add_directory('/tmp /dbmem_test_sync_del');" , & result );
2032+ rc = exec_get_int (db , "SELECT memory_add_directory('" TEST_TMP_DIR " /dbmem_test_sync_del');" , & result );
20112033 ASSERT_EQ (rc , SQLITE_OK );
20122034
20132035 // Only keep.md entry should remain
@@ -2030,17 +2052,21 @@ TEST(sqlite_sync_directory_removes_all_deleted) {
20302052 sqlite3 * db = open_test_db ();
20312053 ASSERT (db != NULL );
20322054
2033- const char * test_dir = "/tmp/dbmem_test_sync_allgone" ;
2034- remove ("/tmp/dbmem_test_sync_allgone/x.md" );
2055+ const char * test_dir = TEST_TMP_DIR "/dbmem_test_sync_allgone" ;
2056+ const char * file_a = TEST_TMP_DIR "/dbmem_test_sync_allgone/a.md" ;
2057+ const char * file_b = TEST_TMP_DIR "/dbmem_test_sync_allgone/b.md" ;
2058+ const char * file_c = TEST_TMP_DIR "/dbmem_test_sync_allgone/c.md" ;
2059+
2060+ remove (TEST_TMP_DIR "/dbmem_test_sync_allgone/x.md" );
20352061 rmdir_p (test_dir );
20362062 mkdir_p (test_dir ); // empty directory
20372063
20382064 // Insert fake entries pointing to files that don't exist
2039- int rc = insert_fake_content (db , 1001 , "/tmp/dbmem_test_sync_allgone/a.md" , "ctx" , 4 );
2065+ int rc = insert_fake_content (db , 1001 , file_a , "ctx" , 4 );
20402066 ASSERT_EQ (rc , SQLITE_OK );
2041- rc = insert_fake_content (db , 1002 , "/tmp/dbmem_test_sync_allgone/b.md" , "ctx" , 4 );
2067+ rc = insert_fake_content (db , 1002 , file_b , "ctx" , 4 );
20422068 ASSERT_EQ (rc , SQLITE_OK );
2043- rc = insert_fake_content (db , 1003 , "/tmp/dbmem_test_sync_allgone/c.md" , "ctx" , 4 );
2069+ rc = insert_fake_content (db , 1003 , file_c , "ctx" , 4 );
20442070 ASSERT_EQ (rc , SQLITE_OK );
20452071
20462072 // Also insert vault entries to verify cascade delete
@@ -2059,7 +2085,7 @@ TEST(sqlite_sync_directory_removes_all_deleted) {
20592085
20602086 // Sync — all files gone, all entries should be removed
20612087 sqlite3_int64 result ;
2062- rc = exec_get_int (db , "SELECT memory_add_directory('/tmp /dbmem_test_sync_allgone');" , & result );
2088+ rc = exec_get_int (db , "SELECT memory_add_directory('" TEST_TMP_DIR " /dbmem_test_sync_allgone');" , & result );
20632089 ASSERT_EQ (rc , SQLITE_OK );
20642090
20652091 rc = exec_get_int (db , "SELECT COUNT(*) FROM dbmem_content;" , & count );
@@ -2080,8 +2106,8 @@ TEST(sqlite_sync_directory_skips_unchanged) {
20802106 sqlite3 * db = open_test_db ();
20812107 ASSERT (db != NULL );
20822108
2083- const char * test_dir = "/tmp /dbmem_test_sync_skip" ;
2084- const char * file = "/tmp /dbmem_test_sync_skip/note.md" ;
2109+ const char * test_dir = TEST_TMP_DIR " /dbmem_test_sync_skip" ;
2110+ const char * file = TEST_TMP_DIR " /dbmem_test_sync_skip/note.md" ;
20852111 const char * content = "# My Note\nSome content." ;
20862112
20872113 remove (file );
@@ -2096,7 +2122,7 @@ TEST(sqlite_sync_directory_skips_unchanged) {
20962122
20972123 // Sync — file exists with matching hash, should be skipped
20982124 sqlite3_int64 result ;
2099- rc = exec_get_int (db , "SELECT memory_add_directory('/tmp /dbmem_test_sync_skip', 'notes');" , & result );
2125+ rc = exec_get_int (db , "SELECT memory_add_directory('" TEST_TMP_DIR " /dbmem_test_sync_skip', 'notes');" , & result );
21002126 ASSERT_EQ (rc , SQLITE_OK );
21012127
21022128 // Entry still exists unchanged (no duplication)
0 commit comments