apex-ruby 1.0.29 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -8
- data/apex-ruby.gemspec +14 -3
- data/ext/apex_ext/apex_src/include/apex/apex.h +11 -2
- data/ext/apex_ext/apex_src/src/apex.c +64 -5
- data/ext/apex_ext/apex_src/src/ast_terminal.c +2 -4
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +103 -63
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +3 -2
- data/ext/apex_ext/apex_src/src/extensions/citations.c +15 -2
- data/ext/apex_ext/apex_src/src/extensions/emoji.c +73 -7
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +25 -4
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +4 -1
- data/ext/apex_ext/apex_src/src/extensions/insert.c +49 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +275 -55
- data/ext/apex_ext/apex_src/src/extensions/metadata.h +9 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +172 -254
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +36 -127
- data/ext/apex_ext/apex_src/src/html_renderer.c +99 -157
- data/ext/apex_ext/extconf.rb +31 -79
- data/lib/apex/version.rb +1 -1
- metadata +1 -470
- data/ext/apex_ext/apex_src/AGENTS.md +0 -41
- data/ext/apex_ext/apex_src/BENCHMARK.md +0 -32
- data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +0 -67
- data/ext/apex_ext/apex_src/CHANGELOG.md +0 -3373
- data/ext/apex_ext/apex_src/CMakeLists.txt +0 -481
- data/ext/apex_ext/apex_src/Dockerfile.linux-build +0 -15
- data/ext/apex_ext/apex_src/Formula/apex.rb +0 -43
- data/ext/apex_ext/apex_src/Info.plist.in +0 -27
- data/ext/apex_ext/apex_src/Package.swift +0 -192
- data/ext/apex_ext/apex_src/PackageSupport/README.md +0 -17
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +0 -4
- data/ext/apex_ext/apex_src/README.md +0 -536
- data/ext/apex_ext/apex_src/ROADMAP.md +0 -5
- data/ext/apex_ext/apex_src/VERSION +0 -1
- data/ext/apex_ext/apex_src/apex-debug.log +0 -4
- data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
- data/ext/apex_ext/apex_src/apex-plugins.json.example +0 -20
- data/ext/apex_ext/apex_src/apex.code-workspace +0 -38
- data/ext/apex_ext/apex_src/apex.pc.in +0 -11
- data/ext/apex_ext/apex_src/apex.taskpaper +0 -12
- data/ext/apex_ext/apex_src/apex_deflist_debug.log +0 -25
- data/ext/apex_ext/apex_src/buildnotes.md +0 -1435
- data/ext/apex_ext/apex_src/cli/main.c +0 -4588
- data/ext/apex_ext/apex_src/debug.log +0 -7
- data/ext/apex_ext/apex_src/debug_test.sh +0 -22
- data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +0 -451
- data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +0 -166
- data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +0 -274
- data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +0 -749
- data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +0 -744
- data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +0 -220
- data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +0 -501
- data/ext/apex_ext/apex_src/docs/DEBUGGING.md +0 -73
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +0 -391
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +0 -237
- data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +0 -210
- data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +0 -344
- data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +0 -382
- data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +0 -144
- data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +0 -278
- data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +0 -321
- data/ext/apex_ext/apex_src/docs/PROGRESS.md +0 -167
- data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +0 -174
- data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +0 -243
- data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +0 -316
- data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +0 -803
- data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +0 -91
- data/ext/apex_ext/apex_src/docs/index.md +0 -459
- data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +0 -351
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +0 -745
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +0 -829
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +0 -1148
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +0 -161
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +0 -184
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +0 -211
- data/ext/apex_ext/apex_src/documentation/README.md +0 -160
- data/ext/apex_ext/apex_src/documentation/app-settings-table.md +0 -67
- data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +0 -340
- data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +0 -11
- data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +0 -234
- data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +0 -516
- data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +0 -461
- data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +0 -193
- data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +0 -201
- data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +0 -678
- data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +0 -1367
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +0 -371
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +0 -24
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +0 -2211
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +0 -1194
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +0 -1620
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +0 -6024
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +0 -1877
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +0 -1040
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +0 -1402
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +0 -1656
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +0 -1226
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +0 -1148
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +0 -1478
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +0 -1225
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +0 -2327
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +0 -2041
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +0 -1314
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +0 -1868
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +0 -1731
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +0 -2242
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +0 -1533
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +0 -1362
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +0 -1338
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +0 -3188
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +0 -1405
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +0 -1902
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +0 -4222
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +0 -1781
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +0 -1629
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +0 -1394
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +0 -1132
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +0 -1754
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +0 -2562
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +0 -22
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +0 -914
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +0 -399
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +0 -772
- data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +0 -678
- data/ext/apex_ext/apex_src/documentation/generate_docset.rb +0 -873
- data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +0 -733
- data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +0 -8746
- data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +0 -17073
- data/ext/apex_ext/apex_src/documentation/shared_scripts.js +0 -64
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +0 -651
- data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +0 -260
- data/ext/apex_ext/apex_src/documentation/transform_for_app.md +0 -55
- data/ext/apex_ext/apex_src/escaping-repro.md +0 -103
- data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +0 -119
- data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +0 -11
- data/ext/apex_ext/apex_src/examples/example.html +0 -53
- data/ext/apex_ext/apex_src/examples/example.md +0 -85
- data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +0 -158
- data/ext/apex_ext/apex_src/examples/kbd.md +0 -8
- data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +0 -250
- data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +0 -9
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +0 -8
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +0 -547
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/README.md +0 -33
- data/ext/apex_ext/apex_src/ial.html +0 -24
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
- data/ext/apex_ext/apex_src/man/apex-config.5 +0 -455
- data/ext/apex_ext/apex_src/man/apex-config.5.md +0 -262
- data/ext/apex_ext/apex_src/man/apex-plugins.7 +0 -541
- data/ext/apex_ext/apex_src/man/apex-plugins.7.md +0 -365
- data/ext/apex_ext/apex_src/man/apex.1 +0 -583
- data/ext/apex_ext/apex_src/man/apex.1.html +0 -703
- data/ext/apex_ext/apex_src/man/apex.1.md +0 -803
- data/ext/apex_ext/apex_src/man/apex.1.new +0 -338
- data/ext/apex_ext/apex_src/objc/Apex.swift +0 -316
- data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +0 -79
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +0 -207
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +0 -584
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +0 -76
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +0 -169
- data/ext/apex_ext/apex_src/output.html +0 -87
- data/ext/apex_ext/apex_src/pages/index.md +0 -459
- data/ext/apex_ext/apex_src/plans/quarto-mode.md +0 -442
- data/ext/apex_ext/apex_src/src/_README.md +0 -413
- data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +0 -869
- data/ext/apex_ext/apex_src/test-linux-build.sh +0 -20
- data/ext/apex_ext/apex_src/test.html +0 -103
- data/ext/apex_ext/apex_src/test_coverage.sh +0 -121
- data/ext/apex_ext/apex_src/test_ial_fenced.md +0 -6
- data/ext/apex_ext/apex_src/test_math_norm.py +0 -79
- data/ext/apex_ext/apex_src/test_pandoc_output.html +0 -48
- data/ext/apex_ext/apex_src/test_spm.sh +0 -107
- data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +0 -50
- data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +0 -229
- data/ext/apex_ext/apex_src/tests/CMakeLists.txt +0 -25
- data/ext/apex_ext/apex_src/tests/README.md +0 -152
- data/ext/apex_ext/apex_src/tests/benchmark.sh +0 -113
- data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +0 -166
- data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +0 -31
- data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +0 -25
- data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +0 -24
- data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +0 -33
- data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +0 -26
- data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +0 -260
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +0 -9
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +0 -652
- data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +0 -177
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/filters/filter_output_with_rawblock.json +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/filters/unwrap.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +0 -74
- data/ext/apex_ext/apex_src/tests/fixtures/images/auto-wildcard.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +0 -10
- data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/media_formats_test.md +0 -63
- data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +0 -60
- data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +0 -16
- data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data-semi.csv +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/with space.txt +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +0 -1094
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/mmd-metadata.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/pandoc-meta.md +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/yaml-frontmatter.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +0 -46
- data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +0 -96
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +0 -43
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +0 -53
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +0 -81
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/speed.md +0 -192
- data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +0 -93
- data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +0 -41
- data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +0 -15
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +0 -15
- data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +0 -105
- data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +0 -143
- data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +0 -96
- data/ext/apex_ext/apex_src/tests/gh_api_test.md +0 -6
- data/ext/apex_ext/apex_src/tests/ial_demo.html +0 -186
- data/ext/apex_ext/apex_src/tests/include_code.py +0 -19
- data/ext/apex_ext/apex_src/tests/include_snippet.md +0 -15
- data/ext/apex_ext/apex_src/tests/metadata_cli_test.sh +0 -119
- data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +0 -64
- data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +0 -80
- data/ext/apex_ext/apex_src/tests/sample_data.csv +0 -7
- data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +0 -4
- data/ext/apex_ext/apex_src/tests/terminal_width_test.sh +0 -29
- data/ext/apex_ext/apex_src/tests/test-swift-package.sh +0 -14
- data/ext/apex_ext/apex_src/tests/test_basic.c +0 -74
- data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +0 -301
- data/ext/apex_ext/apex_src/tests/test_cmark_callback.c +0 -189
- data/ext/apex_ext/apex_src/tests/test_concordance.tsv +0 -4
- data/ext/apex_ext/apex_src/tests/test_custom_plugins.c +0 -78
- data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +0 -82
- data/ext/apex_ext/apex_src/tests/test_extensions.c +0 -3337
- data/ext/apex_ext/apex_src/tests/test_helpers.c +0 -183
- data/ext/apex_ext/apex_src/tests/test_helpers.h +0 -91
- data/ext/apex_ext/apex_src/tests/test_ial.c +0 -289
- data/ext/apex_ext/apex_src/tests/test_links.c +0 -418
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +0 -290
- data/ext/apex_ext/apex_src/tests/test_metadata.c +0 -1147
- data/ext/apex_ext/apex_src/tests/test_output.c +0 -2056
- data/ext/apex_ext/apex_src/tests/test_plugins.c +0 -219
- data/ext/apex_ext/apex_src/tests/test_refs.bib +0 -31
- data/ext/apex_ext/apex_src/tests/test_runner.c +0 -268
- data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +0 -198
- data/ext/apex_ext/apex_src/tests/test_tables.c +0 -1298
- data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +0 -9
- data/ext/apex_ext/apex_src/tests/yaml_test.md +0 -13
- data/ext/apex_ext/apex_src/tests.rb +0 -39
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +0 -48
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +0 -43
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +0 -74
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +0 -206
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +0 -30
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +0 -111
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +0 -35
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +0 -1169
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +0 -21
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +0 -9
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +0 -8
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +0 -36
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +0 -3
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +0 -44
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +0 -23
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +0 -24
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +0 -18
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +0 -595
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +0 -19
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +0 -33
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +0 -1245
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +0 -1495
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +0 -119
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +0 -92
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +0 -12
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +0 -91
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +0 -110
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +0 -28
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +0 -133
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +0 -78
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +0 -1041
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +0 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +0 -230
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +0 -7
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +0 -76
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +0 -365
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +0 -114
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +0 -49
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +0 -58
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +0 -105
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +0 -989
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +0 -194
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +0 -160
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +0 -375
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +0 -50
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +0 -4
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +0 -177
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +0 -10212
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +0 -152
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +0 -41
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +0 -319
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +0 -80
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +0 -104
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +0 -6
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +0 -37
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +0 -208
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +0 -109
- data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +0 -160
- data/ext/apex_ext/apex_src/vendor/libyaml/Changes +0 -372
- data/ext/apex_ext/apex_src/vendor/libyaml/License +0 -20
- data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +0 -51
- data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +0 -46
- data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +0 -89
- data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +0 -73
- data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +0 -222
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +0 -24
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +0 -14
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +0 -1999
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +0 -77
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +0 -32
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +0 -23
- data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +0 -1393
- data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +0 -394
- data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +0 -2358
- data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +0 -544
- data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +0 -1416
- data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +0 -469
- data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +0 -3598
- data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +0 -141
- data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +0 -684
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +0 -27
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +0 -9
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +0 -800
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +0 -1127
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +0 -217
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +0 -202
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +0 -314
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +0 -290
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +0 -327
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +0 -196
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +0 -88
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +0 -354
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +0 -16
- data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +0 -74
- data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +0 -22
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +0 -44
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +0 -128
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +0 -5118
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +0 -99
- data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +0 -452
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +0 -52
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +0 -2455
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +0 -171
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +0 -220
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +0 -43
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +0 -7
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +0 -76
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +0 -10
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin System Integration Tests
|
|
3
|
-
*
|
|
4
|
-
* Purely test-side coverage improvements:
|
|
5
|
-
* - Creates temporary plugin manifests/scripts under a temporary XDG_CONFIG_HOME
|
|
6
|
-
* - Enables plugins via apex_options and exercises pre_parse and post_render phases
|
|
7
|
-
* - Exercises both declarative regex plugins and external handler plugins
|
|
8
|
-
* - Exercises APEX_PRE_PARSE_PLUGIN env helper (plugins_env.c)
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
#include "test_helpers.h"
|
|
12
|
-
#include "apex/apex.h"
|
|
13
|
-
|
|
14
|
-
#include <string.h>
|
|
15
|
-
#include <stdlib.h>
|
|
16
|
-
#include <stdio.h>
|
|
17
|
-
#include <sys/stat.h>
|
|
18
|
-
#include <unistd.h>
|
|
19
|
-
|
|
20
|
-
/* Not in a public header, but we want to cover it. */
|
|
21
|
-
char *apex_run_preparse_plugin_env(const char *text, const apex_options *options);
|
|
22
|
-
|
|
23
|
-
static int mkdir_p(const char *path) {
|
|
24
|
-
if (!path || !*path) return -1;
|
|
25
|
-
char tmp[1024];
|
|
26
|
-
snprintf(tmp, sizeof(tmp), "%s", path);
|
|
27
|
-
|
|
28
|
-
for (char *p = tmp + 1; *p; p++) {
|
|
29
|
-
if (*p == '/') {
|
|
30
|
-
*p = '\0';
|
|
31
|
-
mkdir(tmp, 0700);
|
|
32
|
-
*p = '/';
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return mkdir(tmp, 0700);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static int write_file(const char *path, const char *content) {
|
|
39
|
-
FILE *fp = fopen(path, "wb");
|
|
40
|
-
if (!fp) return -1;
|
|
41
|
-
size_t n = fwrite(content, 1, strlen(content), fp);
|
|
42
|
-
fclose(fp);
|
|
43
|
-
return (n == strlen(content)) ? 0 : -1;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static void env_set_restore(const char *key, const char *value, void (*fn)(void *), void *ctx) {
|
|
47
|
-
const char *old = getenv(key);
|
|
48
|
-
char *old_dup = old ? strdup(old) : NULL;
|
|
49
|
-
|
|
50
|
-
if (value) setenv(key, value, 1);
|
|
51
|
-
else unsetenv(key);
|
|
52
|
-
|
|
53
|
-
fn(ctx);
|
|
54
|
-
|
|
55
|
-
if (old_dup) {
|
|
56
|
-
setenv(key, old_dup, 1);
|
|
57
|
-
free(old_dup);
|
|
58
|
-
} else {
|
|
59
|
-
unsetenv(key);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
typedef struct {
|
|
64
|
-
const char *xdg_home;
|
|
65
|
-
} plugin_test_ctx;
|
|
66
|
-
|
|
67
|
-
static void plugin_test_cb(void *vctx) {
|
|
68
|
-
plugin_test_ctx *ctx = (plugin_test_ctx *)vctx;
|
|
69
|
-
|
|
70
|
-
/* Create:
|
|
71
|
-
* $XDG_CONFIG_HOME/apex/plugins/a-regex/plugin.yml
|
|
72
|
-
* $XDG_CONFIG_HOME/apex/plugins/b-handler/plugin.yml + handler.py
|
|
73
|
-
* $XDG_CONFIG_HOME/apex/plugins/c-post/plugin.yml + handler.py
|
|
74
|
-
*/
|
|
75
|
-
char plugins_root[1024];
|
|
76
|
-
snprintf(plugins_root, sizeof(plugins_root), "%s/apex/plugins", ctx->xdg_home);
|
|
77
|
-
mkdir_p(plugins_root);
|
|
78
|
-
|
|
79
|
-
/* a-regex: pre_parse regex replacement, high priority (runs first) */
|
|
80
|
-
{
|
|
81
|
-
char dir[1024];
|
|
82
|
-
snprintf(dir, sizeof(dir), "%s/a-regex", plugins_root);
|
|
83
|
-
mkdir_p(dir);
|
|
84
|
-
|
|
85
|
-
char manifest[1024];
|
|
86
|
-
snprintf(manifest, sizeof(manifest), "%s/plugin.yml", dir);
|
|
87
|
-
const char *yml =
|
|
88
|
-
"---\n"
|
|
89
|
-
"id: a-regex\n"
|
|
90
|
-
"phase: pre_parse\n"
|
|
91
|
-
"priority: 10\n"
|
|
92
|
-
"pattern: \"FOO\"\n"
|
|
93
|
-
"replacement: \"BAR\"\n"
|
|
94
|
-
"---\n";
|
|
95
|
-
write_file(manifest, yml);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* b-handler: pre_parse external handler, runs after regex */
|
|
99
|
-
{
|
|
100
|
-
char dir[1024];
|
|
101
|
-
snprintf(dir, sizeof(dir), "%s/b-handler", plugins_root);
|
|
102
|
-
mkdir_p(dir);
|
|
103
|
-
|
|
104
|
-
char script[1024];
|
|
105
|
-
snprintf(script, sizeof(script), "%s/handler.py", dir);
|
|
106
|
-
const char *py =
|
|
107
|
-
"import json, os, sys\n"
|
|
108
|
-
"req = json.loads(sys.stdin.read() or '{}')\n"
|
|
109
|
-
"text = req.get('text','')\n"
|
|
110
|
-
"# Confirm env vars are set by embedding them into output.\n"
|
|
111
|
-
"plugdir = os.environ.get('APEX_PLUGIN_DIR','')\n"
|
|
112
|
-
"suppdir = os.environ.get('APEX_SUPPORT_DIR','')\n"
|
|
113
|
-
"text = text.replace('BAR', 'BAZ')\n"
|
|
114
|
-
"sys.stdout.write(text + '\\n<!--PLUGIN_DIR=' + plugdir + '-->' + '\\n<!--SUPPORT_DIR=' + suppdir + '-->\\n')\n";
|
|
115
|
-
write_file(script, py);
|
|
116
|
-
|
|
117
|
-
char manifest[1024];
|
|
118
|
-
snprintf(manifest, sizeof(manifest), "%s/plugin.yml", dir);
|
|
119
|
-
const char *yml =
|
|
120
|
-
"---\n"
|
|
121
|
-
"id: b-handler\n"
|
|
122
|
-
"phase: pre_parse\n"
|
|
123
|
-
"priority: 20\n"
|
|
124
|
-
"handler.command: \"/usr/bin/env python3 ${APEX_PLUGIN_DIR}/handler.py\"\n"
|
|
125
|
-
"timeout_ms: 500\n"
|
|
126
|
-
"---\n";
|
|
127
|
-
write_file(manifest, yml);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/* c-post: post_render external handler that appends marker with APEX_FILE_PATH */
|
|
131
|
-
{
|
|
132
|
-
char dir[1024];
|
|
133
|
-
snprintf(dir, sizeof(dir), "%s/c-post", plugins_root);
|
|
134
|
-
mkdir_p(dir);
|
|
135
|
-
|
|
136
|
-
char script[1024];
|
|
137
|
-
snprintf(script, sizeof(script), "%s/handler.py", dir);
|
|
138
|
-
const char *py =
|
|
139
|
-
"import json, os, sys\n"
|
|
140
|
-
"req = json.loads(sys.stdin.read() or '{}')\n"
|
|
141
|
-
"text = req.get('text','')\n"
|
|
142
|
-
"fp = os.environ.get('APEX_FILE_PATH','')\n"
|
|
143
|
-
"sys.stdout.write(text + '\\n<!--POST_RENDER_FILE=' + fp + '-->')\n";
|
|
144
|
-
write_file(script, py);
|
|
145
|
-
|
|
146
|
-
char manifest[1024];
|
|
147
|
-
snprintf(manifest, sizeof(manifest), "%s/plugin.yml", dir);
|
|
148
|
-
const char *yml =
|
|
149
|
-
"---\n"
|
|
150
|
-
"id: c-post\n"
|
|
151
|
-
"phase: post_render\n"
|
|
152
|
-
"priority: 10\n"
|
|
153
|
-
"handler.command: \"/usr/bin/env python3 ${APEX_PLUGIN_DIR}/handler.py\"\n"
|
|
154
|
-
"timeout_ms: 500\n"
|
|
155
|
-
"---\n";
|
|
156
|
-
write_file(manifest, yml);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/* Run a conversion that should exercise:
|
|
160
|
-
* - plugin discovery (XDG_CONFIG_HOME path)
|
|
161
|
-
* - regex plugin application (FOO->BAR)
|
|
162
|
-
* - handler plugin application (BAR->BAZ plus markers)
|
|
163
|
-
* - post_render handler append marker
|
|
164
|
-
*/
|
|
165
|
-
apex_options opts = apex_options_for_mode(APEX_MODE_UNIFIED);
|
|
166
|
-
opts.enable_plugins = true;
|
|
167
|
-
opts.input_file_path = "/tmp/apex-test-input.md";
|
|
168
|
-
|
|
169
|
-
const char *md = "FOO\n";
|
|
170
|
-
char *html = apex_markdown_to_html(md, strlen(md), &opts);
|
|
171
|
-
|
|
172
|
-
assert_contains(html, "BAZ", "plugins: regex + handler transformed text (FOO->BAR->BAZ)");
|
|
173
|
-
assert_contains(html, "PLUGIN_DIR=", "plugins: handler saw APEX_PLUGIN_DIR");
|
|
174
|
-
assert_contains(html, "SUPPORT_DIR=", "plugins: handler saw APEX_SUPPORT_DIR");
|
|
175
|
-
assert_contains(html, "POST_RENDER_FILE=/tmp/apex-test-input.md", "plugins: post_render saw APEX_FILE_PATH");
|
|
176
|
-
|
|
177
|
-
apex_free_string(html);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
void test_plugins_integration(void) {
|
|
181
|
-
int suite_failures = suite_start();
|
|
182
|
-
print_suite_title("Plugin System Integration Tests", false, true);
|
|
183
|
-
|
|
184
|
-
/* Exercise plugins_env.c helper using APEX_PRE_PARSE_PLUGIN */
|
|
185
|
-
{
|
|
186
|
-
/* A command that reads JSON and prints just the text value. */
|
|
187
|
-
const char *cmd =
|
|
188
|
-
"/usr/bin/env python3 -c 'import json,sys; print(json.loads(sys.stdin.read()).get(\"text\",\"\"))'";
|
|
189
|
-
setenv("APEX_PRE_PARSE_PLUGIN", cmd, 1);
|
|
190
|
-
|
|
191
|
-
apex_options opts = apex_options_default();
|
|
192
|
-
char *out = apex_run_preparse_plugin_env("ENV_PLUGIN_OK", &opts);
|
|
193
|
-
test_result(out && strstr(out, "ENV_PLUGIN_OK") != NULL, "APEX_PRE_PARSE_PLUGIN env helper runs");
|
|
194
|
-
if (out) free(out);
|
|
195
|
-
|
|
196
|
-
unsetenv("APEX_PRE_PARSE_PLUGIN");
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/* Create temp XDG_CONFIG_HOME and run full plugin integration. */
|
|
200
|
-
char tmp_template[] = "/tmp/apex-xdg-plugins-XXXXXX";
|
|
201
|
-
char *tmp = mkdtemp(tmp_template);
|
|
202
|
-
if (!tmp) {
|
|
203
|
-
tests_run++;
|
|
204
|
-
tests_failed++;
|
|
205
|
-
printf(COLOR_RED "✗" COLOR_RESET " Failed to create temp directory for plugin tests\n");
|
|
206
|
-
} else {
|
|
207
|
-
plugin_test_ctx ctx = { .xdg_home = tmp };
|
|
208
|
-
env_set_restore("XDG_CONFIG_HOME", tmp, plugin_test_cb, &ctx);
|
|
209
|
-
|
|
210
|
-
/* Best-effort cleanup (not fatal on failure). */
|
|
211
|
-
char rm_cmd[1200];
|
|
212
|
-
snprintf(rm_cmd, sizeof(rm_cmd), "rm -rf '%s'", tmp);
|
|
213
|
-
system(rm_cmd);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
bool had_failures = suite_end(suite_failures);
|
|
217
|
-
print_suite_title("Plugin System Integration Tests", had_failures, false);
|
|
218
|
-
}
|
|
219
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
@article{doe99,
|
|
2
|
-
author = {Doe, John},
|
|
3
|
-
title = {Article Title},
|
|
4
|
-
journal = {Journal Name},
|
|
5
|
-
year = {1999},
|
|
6
|
-
volume = {1},
|
|
7
|
-
pages = {1--10}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@book{smith2000,
|
|
11
|
-
author = {Smith, Jane},
|
|
12
|
-
title = {Book Title},
|
|
13
|
-
publisher = {Publisher},
|
|
14
|
-
year = {2000}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
@article{smith2004,
|
|
18
|
-
author = {Smith, Jane},
|
|
19
|
-
title = {Another Article},
|
|
20
|
-
journal = {Journal},
|
|
21
|
-
year = {2004},
|
|
22
|
-
volume = {2},
|
|
23
|
-
pages = {20--30}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@book{smith04,
|
|
27
|
-
author = {Smith, John},
|
|
28
|
-
title = {Some Book},
|
|
29
|
-
publisher = {Publisher},
|
|
30
|
-
year = {2004}
|
|
31
|
-
}
|
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Apex Test Runner
|
|
3
|
-
* Main test runner that calls all test suites
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
#include "test_helpers.h"
|
|
7
|
-
#include "apex/apex.h"
|
|
8
|
-
|
|
9
|
-
#include <string.h>
|
|
10
|
-
#include <stddef.h>
|
|
11
|
-
#include <signal.h>
|
|
12
|
-
#include <stdlib.h>
|
|
13
|
-
|
|
14
|
-
/* Track current test name for error reporting */
|
|
15
|
-
static const char *current_test_name = NULL;
|
|
16
|
-
|
|
17
|
-
/* Signal handler for assertion failures */
|
|
18
|
-
static void sigabrt_handler(int sig) {
|
|
19
|
-
(void)sig;
|
|
20
|
-
if (current_test_name) {
|
|
21
|
-
fprintf(stderr, "\n*** Assertion failure in test: %s ***\n", current_test_name);
|
|
22
|
-
}
|
|
23
|
-
fprintf(stderr, "This is likely a cmark block finalization issue.\n");
|
|
24
|
-
fprintf(stderr, "Set APEX_SKIP_PROBLEMATIC_TESTS=1 to skip tests that trigger this.\n");
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/* Forward declarations for individual test suites */
|
|
28
|
-
void test_basic_markdown(void);
|
|
29
|
-
void test_gfm_features(void);
|
|
30
|
-
void test_metadata(void);
|
|
31
|
-
void test_metadata_yaml_emit(void);
|
|
32
|
-
void test_mmd_metadata_keys(void);
|
|
33
|
-
void test_metadata_transforms(void);
|
|
34
|
-
void test_metadata_control_options(void);
|
|
35
|
-
void test_syntax_highlight_options(void);
|
|
36
|
-
void test_syntax_highlight_integration(void);
|
|
37
|
-
void test_wiki_links(void);
|
|
38
|
-
void test_image_embedding(void);
|
|
39
|
-
void test_image_width_height_conversion(void);
|
|
40
|
-
void test_math(void);
|
|
41
|
-
void test_critic_markup(void);
|
|
42
|
-
void test_cmark_init_callback(void);
|
|
43
|
-
void test_cmark_callback(void);
|
|
44
|
-
void test_custom_plugins(void);
|
|
45
|
-
void test_processor_modes(void);
|
|
46
|
-
void test_quarto_mode(void);
|
|
47
|
-
void test_multimarkdown_image_attributes(void);
|
|
48
|
-
void test_file_includes(void);
|
|
49
|
-
void test_ial(void);
|
|
50
|
-
void test_bear_image_attributes(void);
|
|
51
|
-
void test_bracketed_spans(void);
|
|
52
|
-
void test_definition_lists(void);
|
|
53
|
-
void test_advanced_tables(void);
|
|
54
|
-
void test_relaxed_tables(void);
|
|
55
|
-
void test_comprehensive_table_features(void);
|
|
56
|
-
void test_table_no_trailing_newline(void);
|
|
57
|
-
void test_table_cr_line_endings(void);
|
|
58
|
-
void test_combine_gitbook_like(void);
|
|
59
|
-
void test_callouts(void);
|
|
60
|
-
void test_blockquote_lists(void);
|
|
61
|
-
void test_toc(void);
|
|
62
|
-
void test_terminal_output(void);
|
|
63
|
-
void test_rtf_output(void);
|
|
64
|
-
void test_html_markdown_attributes(void);
|
|
65
|
-
void test_fenced_divs(void);
|
|
66
|
-
void test_sup_sub(void);
|
|
67
|
-
void test_mixed_lists(void);
|
|
68
|
-
void test_unsafe_mode(void);
|
|
69
|
-
void test_abbreviations(void);
|
|
70
|
-
void test_mmd6_features(void);
|
|
71
|
-
void test_emoji(void);
|
|
72
|
-
void test_special_markers(void);
|
|
73
|
-
void test_inline_tables(void);
|
|
74
|
-
void test_grid_tables(void);
|
|
75
|
-
void test_insert_syntax(void);
|
|
76
|
-
void test_advanced_footnotes(void);
|
|
77
|
-
void test_standalone_output(void);
|
|
78
|
-
void test_pretty_html(void);
|
|
79
|
-
void test_xhtml_output(void);
|
|
80
|
-
void test_header_ids(void);
|
|
81
|
-
void test_image_captions(void);
|
|
82
|
-
void test_indices(void);
|
|
83
|
-
void test_citations(void);
|
|
84
|
-
void test_aria_labels(void);
|
|
85
|
-
void test_marked_integration_features(void);
|
|
86
|
-
void test_plugins_integration(void);
|
|
87
|
-
void test_ast_json_parser(void);
|
|
88
|
-
void test_escaping_repro(void);
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Test suite registry
|
|
92
|
-
*
|
|
93
|
-
* Maps human-friendly suite names (command-line arguments) to the
|
|
94
|
-
* corresponding test functions.
|
|
95
|
-
*/
|
|
96
|
-
typedef void (*test_fn)(void);
|
|
97
|
-
|
|
98
|
-
typedef struct {
|
|
99
|
-
const char *name;
|
|
100
|
-
test_fn fn;
|
|
101
|
-
} test_suite;
|
|
102
|
-
|
|
103
|
-
static test_suite suites[] = {
|
|
104
|
-
{ "tests_basic", test_basic_markdown },
|
|
105
|
-
{ "basic", test_basic_markdown },
|
|
106
|
-
{ "gfm", test_gfm_features },
|
|
107
|
-
{ "metadata", test_metadata },
|
|
108
|
-
{ "metadata_yaml_emit", test_metadata_yaml_emit },
|
|
109
|
-
{ "metadata_transforms", test_metadata_transforms },
|
|
110
|
-
{ "mmd_metadata_keys", test_mmd_metadata_keys },
|
|
111
|
-
{ "metadata_control_options", test_metadata_control_options },
|
|
112
|
-
{ "syntax_highlight_options", test_syntax_highlight_options },
|
|
113
|
-
{ "syntax_highlight_integration", test_syntax_highlight_integration },
|
|
114
|
-
{ "wiki_links", test_wiki_links },
|
|
115
|
-
{ "math", test_math },
|
|
116
|
-
{ "critic_markup", test_critic_markup },
|
|
117
|
-
{ "cmark_init_callback", test_cmark_init_callback },
|
|
118
|
-
{ "cmark_callback", test_cmark_callback },
|
|
119
|
-
{ "multimarkdown_image_attributes",test_multimarkdown_image_attributes },
|
|
120
|
-
{ "processor_modes", test_processor_modes },
|
|
121
|
-
{ "quarto_mode", test_quarto_mode },
|
|
122
|
-
{ "file_includes", test_file_includes },
|
|
123
|
-
{ "ial", test_ial },
|
|
124
|
-
{ "bear_image_attributes", test_bear_image_attributes },
|
|
125
|
-
{ "bracketed_spans", test_bracketed_spans },
|
|
126
|
-
{ "definition_lists", test_definition_lists },
|
|
127
|
-
{ "advanced_tables", test_advanced_tables },
|
|
128
|
-
{ "relaxed_tables", test_relaxed_tables },
|
|
129
|
-
{ "comprehensive_table_features", test_comprehensive_table_features },
|
|
130
|
-
{ "table_no_trailing_newline", test_table_no_trailing_newline },
|
|
131
|
-
{ "table_cr_line_endings", test_table_cr_line_endings },
|
|
132
|
-
{ "combine_gitbook_like", test_combine_gitbook_like },
|
|
133
|
-
{ "callouts", test_callouts },
|
|
134
|
-
{ "blockquote_lists", test_blockquote_lists },
|
|
135
|
-
{ "toc", test_toc },
|
|
136
|
-
{ "terminal_output", test_terminal_output },
|
|
137
|
-
{ "rtf_output", test_rtf_output },
|
|
138
|
-
{ "html_markdown_attributes", test_html_markdown_attributes },
|
|
139
|
-
{ "fenced_divs", test_fenced_divs },
|
|
140
|
-
{ "sup_sub", test_sup_sub },
|
|
141
|
-
{ "mixed_lists", test_mixed_lists },
|
|
142
|
-
{ "unsafe_mode", test_unsafe_mode },
|
|
143
|
-
{ "abbreviations", test_abbreviations },
|
|
144
|
-
{ "mmd6_features", test_mmd6_features },
|
|
145
|
-
{ "emoji", test_emoji },
|
|
146
|
-
{ "special_markers", test_special_markers },
|
|
147
|
-
{ "inline_tables", test_inline_tables },
|
|
148
|
-
{ "grid_tables", test_grid_tables },
|
|
149
|
-
{ "insert_syntax", test_insert_syntax },
|
|
150
|
-
{ "advanced_footnotes", test_advanced_footnotes },
|
|
151
|
-
{ "standalone_output", test_standalone_output },
|
|
152
|
-
{ "pretty_html", test_pretty_html },
|
|
153
|
-
{ "xhtml_output", test_xhtml_output },
|
|
154
|
-
{ "header_ids", test_header_ids },
|
|
155
|
-
{ "image_captions", test_image_captions },
|
|
156
|
-
{ "image_embedding", test_image_embedding },
|
|
157
|
-
{ "image_width_height_conversion", test_image_width_height_conversion },
|
|
158
|
-
{ "indices", test_indices },
|
|
159
|
-
{ "citations", test_citations },
|
|
160
|
-
{ "aria_labels", test_aria_labels },
|
|
161
|
-
{ "marked_integration", test_marked_integration_features },
|
|
162
|
-
{ "plugins_integration", test_plugins_integration },
|
|
163
|
-
{ "plugins_custom", test_custom_plugins },
|
|
164
|
-
{ "ast_json", test_ast_json_parser },
|
|
165
|
-
{ "escaping_repro", test_escaping_repro },
|
|
166
|
-
{ "escaping", test_escaping_repro },
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
static const size_t suite_count = sizeof(suites) / sizeof(suites[0]);
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Main test runner
|
|
173
|
-
*/
|
|
174
|
-
int main(int argc, char *argv[]) {
|
|
175
|
-
/* Install signal handler for better error reporting */
|
|
176
|
-
signal(SIGABRT, sigabrt_handler);
|
|
177
|
-
|
|
178
|
-
/* Parse command-line arguments */
|
|
179
|
-
int errors_only = 0;
|
|
180
|
-
int badge_flag = 0;
|
|
181
|
-
const char *requested_suite = NULL;
|
|
182
|
-
|
|
183
|
-
for (int i = 1; i < argc; i++) {
|
|
184
|
-
if (strcmp(argv[i], "--errors-only") == 0 || strcmp(argv[i], "-e") == 0) {
|
|
185
|
-
errors_only = 1;
|
|
186
|
-
} else if (strcmp(argv[i], "--badge") == 0 || strcmp(argv[i], "-b") == 0) {
|
|
187
|
-
badge_flag = 1;
|
|
188
|
-
} else if (!requested_suite) {
|
|
189
|
-
requested_suite = argv[i];
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/* Set global badge_mode flag in test helpers */
|
|
194
|
-
if (badge_flag) {
|
|
195
|
-
badge_mode = 1;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/* Skip header in badge mode */
|
|
199
|
-
if (!badge_flag) {
|
|
200
|
-
printf("Apex Test Suite v%s\n", apex_version_string());
|
|
201
|
-
printf("==========================================\n");
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/* Propagate errors-only mode to test helpers */
|
|
205
|
-
if (errors_only) {
|
|
206
|
-
errors_only_output = 1;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
/* In badge mode, suppress all output except the final count */
|
|
210
|
-
if (badge_flag) {
|
|
211
|
-
errors_only_output = 1; /* Suppress test output */
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
if (requested_suite) {
|
|
215
|
-
// List available test suites
|
|
216
|
-
if (strcmp(requested_suite, "list") == 0 || strcmp(requested_suite, "--list") == 0) {
|
|
217
|
-
printf("Available test suites:\n");
|
|
218
|
-
for (size_t i = 0; i < suite_count; i++) {
|
|
219
|
-
printf(" %s\n", suites[i].name);
|
|
220
|
-
}
|
|
221
|
-
return 0;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
// Run only the specified test suite
|
|
225
|
-
for (size_t i = 0; i < suite_count; i++) {
|
|
226
|
-
if (strcmp(requested_suite, suites[i].name) == 0) {
|
|
227
|
-
current_test_name = suites[i].name;
|
|
228
|
-
suites[i].fn();
|
|
229
|
-
current_test_name = NULL;
|
|
230
|
-
goto done_single_suite;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
if (!badge_mode) {
|
|
235
|
-
printf("Unknown test suite: %s\n", requested_suite);
|
|
236
|
-
}
|
|
237
|
-
return 2;
|
|
238
|
-
} else {
|
|
239
|
-
// Run all test suites
|
|
240
|
-
for (size_t i = 0; i < suite_count; i++) {
|
|
241
|
-
current_test_name = suites[i].name;
|
|
242
|
-
suites[i].fn();
|
|
243
|
-
current_test_name = NULL;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
done_single_suite:
|
|
248
|
-
|
|
249
|
-
/* In badge mode, output only the count */
|
|
250
|
-
if (badge_flag) {
|
|
251
|
-
printf("%d/%d\n", tests_passed, tests_run);
|
|
252
|
-
return (tests_failed == 0) ? 0 : 1;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/* Print results */
|
|
256
|
-
printf("\n==========================================\n");
|
|
257
|
-
printf("Results: %d total, ", tests_run);
|
|
258
|
-
printf(COLOR_GREEN "%d passed" COLOR_RESET ", ", tests_passed);
|
|
259
|
-
printf(COLOR_RED "%d failed" COLOR_RESET "\n", tests_failed);
|
|
260
|
-
|
|
261
|
-
if (tests_failed == 0) {
|
|
262
|
-
printf(COLOR_GREEN "\nAll tests passed! ✓" COLOR_RESET "\n");
|
|
263
|
-
return 0;
|
|
264
|
-
} else {
|
|
265
|
-
printf(COLOR_RED "\nSome tests failed!" COLOR_RESET "\n");
|
|
266
|
-
return 1;
|
|
267
|
-
}
|
|
268
|
-
}
|