aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKolen Cheung <christian.kolen@gmail.com>2021-12-10 16:18:35 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2021-12-11 09:42:30 -0800
commita9a9a2c62a811d0e64062b0be628f55ba541dad7 (patch)
tree2ff6ebe370be9e0b58d300cec8a29ba3c0ae1b0c /test
parente88224621de1a8f1be4ea7ad9bf05fe635ddc3cc (diff)
downloadpandoc-a9a9a2c62a811d0e64062b0be628f55ba541dad7.tar.gz
fix(IpynbOutput)!: rank always favors output format
Previously, both `fmt == f` case and Image have a rank of 1. In the end, e.g. from ipynb to html conversion, if both html and image exists, it actually prefers the image. This commit changes this, so that fmt == f is always highest rank, and rank never collides. This is achieved by keeping fmt == f case having rank 1, and every other rank increased by 1.
Diffstat (limited to 'test')
-rw-r--r--test/Tests/Old.hs2
-rw-r--r--test/ipynb/rank.ipynb60
-rw-r--r--test/ipynb/rank.out.html10
3 files changed, 72 insertions, 0 deletions
diff --git a/test/Tests/Old.hs b/test/Tests/Old.hs
index 1d5b0b04e..e03d94e85 100644
--- a/test/Tests/Old.hs
+++ b/test/Tests/Old.hs
@@ -225,6 +225,8 @@ tests pandocPath =
, test' "writer" ["-f", "native", "-t", "ipynb",
"--wrap=preserve"]
"ipynb/mime.native" "ipynb/mime.out.ipynb"
+ , test' "reader" ["-f", "ipynb", "-t", "html"]
+ "ipynb/rank.ipynb" "ipynb/rank.out.html"
]
]
where
diff --git a/test/ipynb/rank.ipynb b/test/ipynb/rank.ipynb
new file mode 100644
index 000000000..c03ed7d99
--- /dev/null
+++ b/test/ipynb/rank.ipynb
@@ -0,0 +1,60 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "5cf8f54d-bf3c-4db2-996d-22662a86ad43",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "a0228622-9ff8-4392-9ddd-f70a90f0e106",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": "<p><em>you should see this when converting from ipynb to html instead of the image below.</em></p>",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAACdAAAAnQGPcuduAAAASUlEQVR4nGNkYGBgc1HM+/lfkI/hqQ0XAwsDAwPDzSphBi6h/wwlahsgAiJCHxkkBL4zWLA8YGBkYGBgZGBg4GRgYPjDwMDABADgfgxL+wQIRAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<Figure size 4x4 with 1 Axes>"
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots(figsize=(1, 1), dpi=4)\n",
+ "ax.imshow([[0, 1], [2, 3]]);"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/test/ipynb/rank.out.html b/test/ipynb/rank.out.html
new file mode 100644
index 000000000..eb5176509
--- /dev/null
+++ b/test/ipynb/rank.out.html
@@ -0,0 +1,10 @@
+<div id="5cf8f54d-bf3c-4db2-996d-22662a86ad43" class="cell code" data-execution_count="1">
+<div class="sourceCode" id="cb1"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> matplotlib.pyplot <span class="im">as</span> plt</span></code></pre></div>
+</div>
+<div id="a0228622-9ff8-4392-9ddd-f70a90f0e106" class="cell code" data-execution_count="2">
+<div class="sourceCode" id="cb2"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>fig, ax <span class="op">=</span> plt.subplots(figsize<span class="op">=</span>(<span class="dv">1</span>, <span class="dv">1</span>), dpi<span class="op">=</span><span class="dv">4</span>)</span>
+<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>ax.imshow([[<span class="dv">0</span>, <span class="dv">1</span>], [<span class="dv">2</span>, <span class="dv">3</span>]])<span class="op">;</span></span></code></pre></div>
+<div class="output display_data">
+<p><em>you should see this when converting from ipynb to html instead of the image below.</em></p>
+</div>
+</div>