{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.ZMIYAHYi/b1/python-inline-snapshot_0.19.3-1_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.ZMIYAHYi/b2/python-inline-snapshot_0.19.3-1_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- 5e9e10b7a7338770da3507ee82cf26e4 535644 doc optional python-inline-snapshot-doc_0.19.3-1_all.deb\n+ 895e18f08bb9e7a72f17df8a6fbd25a6 535668 doc optional python-inline-snapshot-doc_0.19.3-1_all.deb\n 3ddbc791df9158261eb361c3e0c89846 36476 python optional python3-inline-snapshot_0.19.3-1_all.deb\n"}, {"source1": "python-inline-snapshot-doc_0.19.3-1_all.deb", "source2": "python-inline-snapshot-doc_0.19.3-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-01-16 17:36:51.000000 debian-binary\n -rw-r--r-- 0 0 0 3020 2025-01-16 17:36:51.000000 control.tar.xz\n--rw-r--r-- 0 0 0 532432 2025-01-16 17:36:51.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 532456 2025-01-16 17:36:51.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/doc/python-inline-snapshot-doc/html/extra.html", "source2": "./usr/share/doc/python-inline-snapshot-doc/html/extra.html", "unified_diff": "@@ -1052,15 +1052,15 @@\n <a id=\"__codelineno-2-13\" name=\"__codelineno-2-13\" href=\"#__codelineno-2-13\"></a> <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">"some error"</span><span class=\"p\">,</span> <span class=\"n\">file</span><span class=\"o\">=</span><span class=\"n\">sys</span><span class=\"o\">.</span><span class=\"n\">stderr</span><span class=\"p\">)</span>\n </code></pre></div></p>\n </div>\n </div>\n </div>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-63\"> 63</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-64\"> 64</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-65\"> 65</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-66\"> 66</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-67\"> 67</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-68\"> 68</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-69\"> 69</a></span>\n@@ -1265,15 +1265,15 @@\n </span><a id=\"__codelineno-1-7\" name=\"__codelineno-1-7\" href=\"#__codelineno-1-7\"></a> <span class=\"mi\">1</span> <span class=\"o\">/</span> <span class=\"mi\">0</span>\n </code></pre></div></p>\n </div>\n </div>\n </div>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-17\">17</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-18\">18</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-19\">19</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-20\">20</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-21\">21</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-22\">22</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-23\">23</a></span>\n@@ -1471,15 +1471,15 @@\n </span><a id=\"__codelineno-1-8\" name=\"__codelineno-1-8\" href=\"#__codelineno-1-8\"></a> <span class=\"n\">warn</span><span class=\"p\">(</span><span class=\"s2\">"some problem"</span><span class=\"p\">)</span>\n </code></pre></div></p>\n </div>\n </div>\n </div>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-136\">136</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-137\">137</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-138\">138</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-139\">139</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-140\">140</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-141\">141</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-142\">142</a></span>\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -82,15 +82,15 @@\n def test_prints():\n with prints(\n stdout=IsStr(),\n stderr=snapshot(\"some error\\n\"),\n ):\n print(\"hello world\")\n print(\"some error\", file=sys.stderr)\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n extra.py\n @contextlib.contextmanager\n _\b _\b6_\b3 def prints(*, stdout: Snapshot[str] = \"\", stderr: Snapshot[str] = \"\"):\n _\b _\b6_\b4 \"\"\"Uses `contextlib.redirect_stderr/stdout` to capture the output and\n _\b _\b6_\b5 compare it with the snapshots. `dirty_equals.IsStr` can be used to\n _\b _\b6_\b6 ignore\n _\b _\b6_\b7 the output if needed.\n@@ -178,15 +178,15 @@\n from inline_snapshot import snapshot\n from inline_snapshot.extra import raises\n \n \n def test_raises():\n with raises(snapshot(\"ZeroDivisionError: division by zero\")):\n 1 / 0\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n extra.py\n @contextlib.contextmanager\n _\b1_\b7 def raises(exception: Snapshot[str]):\n _\b1_\b8 \"\"\"Check that an exception is raised.\n _\b1_\b9\n _\b2_\b0 Parameters:\n _\b2_\b1 exception: snapshot which is compared with `#!python f\"{type}:\n@@ -265,15 +265,15 @@\n from warnings import warn\n \n \n def test_warns():\n with warns(snapshot([(8, \"UserWarning: some problem\")]),\n include_line=True):\n warn(\"some problem\")\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n extra.py\n @contextlib.contextmanager\n def warns(\n expected_warnings: Snapshot[List[Warning]],\n _\b1_\b3_\b6 /,\n _\b1_\b3_\b7 include_line: bool = False,\n _\b1_\b3_\b8 include_file: bool = False,\n"}]}, {"source1": "./usr/share/doc/python-inline-snapshot-doc/html/outsource.html", "source2": "./usr/share/doc/python-inline-snapshot-doc/html/outsource.html", "unified_diff": "@@ -1169,15 +1169,15 @@\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-137\">137</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-138\">138</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-139\">139</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-140\">140</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-141\">141</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-142\">142</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-143\">143</a></span>\n@@ -1285,15 +1285,15 @@\n \n \n \n \n \n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-76\"> 76</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-77\"> 77</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-78\"> 78</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-79\"> 79</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-80\"> 80</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-81\"> 81</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-82\"> 82</a></span>\n@@ -1433,15 +1433,15 @@\n \n <div class=\"doc doc-contents \">\n \n <p>Two external objects are equal if they have the same hash and\n suffix.</p>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-116\">116</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-117\">117</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-118\">118</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-119\">119</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-120\">120</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-121\">121</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-122\">122</a></span>\n@@ -1519,15 +1519,15 @@\n <em>required</em>\n </td>\n </tr>\n </tbody>\n </table>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-77\">77</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-78\">78</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-79\">79</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-80\">80</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-81\">81</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-82\">82</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-83\">83</a></span>\n@@ -1583,15 +1583,15 @@\n <div class=\"doc doc-contents \">\n \n <p>Returns the representation of the external object.</p>\n <p>The length of the hash can be specified in the\n <a href=\"configuration.html\">config</a>.</p>\n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-103\">103</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-104\">104</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-105\">105</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-106\">106</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-107\">107</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-108\">108</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-109\">109</a></span>\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -115,15 +115,15 @@\n encoded with \"utf-8\".\n overwrite file suffix. The default is \".bin\"\n suffix Optional[str] if data is an instance of bytes and \".txt\" None\n for str.\n Returns:\n T\bTy\byp\bpe\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn\n _\be_\bx_\bt_\be_\br_\bn_\ba_\bl The external data.\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _external.py\n def outsource(data: Union[str, bytes], *, suffix: Optional[str] = None) -\n > external:\n _\b1_\b3_\b7 \"\"\"Outsource some data into an external file.\n _\b1_\b3_\b8\n _\b1_\b3_\b9 ``` pycon\n _\b1_\b4_\b0 >>> png_data = b\"some_bytes\" # should be the replaced with your actual\n@@ -167,15 +167,15 @@\n _\b1_\b7_\b8\n _\b1_\b7_\b9 if not storage.lookup_all(name):\n _\b1_\b8_\b0 path = hash + \"-new\" + suffix\n _\b1_\b8_\b1 storage.save(path, data)\n \n return external(name)\n i\bin\bnl\bli\bin\bne\be_\b_s\bsn\bna\bap\bps\bsh\bho\bot\bt.\b.e\bex\bxt\bte\ber\brn\bna\bal\bl _\b?\b\u00b6\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _external.py\n class external:\n def __init__(self, name: str):\n \"\"\"External objects are used as a representation for outsourced\n _\b _\b7_\b6 data.\n _\b _\b7_\b7 You should not create them directly.\n _\b _\b7_\b8\n@@ -236,15 +236,15 @@\n _\b1_\b3_\b3 return True\n _\b1_\b3_\b4\n def _load_value(self):\n assert storage is not None\n return storage.read(self._path)\n _\b__\b_e\beq\bq_\b__\b_(\b(o\bot\bth\bhe\ber\br)\b) _\b?\b\u00b6\n Two external objects are equal if they have the same hash and suffix.\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _external.py\n _\b1_\b1_\b6 def __eq__(self, other):\n _\b1_\b1_\b7 \"\"\"Two external objects are equal if they have the same hash and\n _\b1_\b1_\b8 suffix.\"\"\"\n _\b1_\b1_\b9 if not isinstance(other, external):\n _\b1_\b2_\b0 return NotImplemented\n _\b1_\b2_\b1\n@@ -265,15 +265,15 @@\n containing the Pytest configuration file, if any. To store data in a different\n location, set the storage-dir option in pyproject.toml. Data which is\n outsourced but not referenced in the source code jet has a '-new' suffix in the\n filename.\n Parameters:\n N\bNa\bam\bme\be T\bTy\byp\bpe\be D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn D\bDe\bef\bfa\bau\bul\blt\bt\n name str the name of the external stored object. r\bre\beq\bqu\bui\bir\bre\bed\bd\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _external.py\n def __init__(self, name: str):\n \"\"\"External objects are used as a representation for outsourced data.\n _\b7_\b7 You should not create them directly.\n _\b7_\b8\n _\b7_\b9 The external data is by default stored inside\n _\b8_\b0 `<pytest_config_dir>/.inline-snapshot/external`,\n@@ -296,15 +296,15 @@\n _\b9_\b7 raise ValueError(\n \"path has to be of the form <hash>.<suffix> or\n <partial_hash>*.<suffix>\"\n )\n _\b__\b_r\bre\bep\bpr\br_\b__\b_(\b()\b) _\b?\b\u00b6\n Returns the representation of the external object.\n The length of the hash can be specified in the _\bc_\bo_\bn_\bf_\bi_\bg.\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _external.py\n _\b1_\b0_\b3 def __repr__(self):\n _\b1_\b0_\b4 \"\"\"Returns the representation of the external object.\n _\b1_\b0_\b5\n _\b1_\b0_\b6 The length of the hash can be specified in the\n _\b1_\b0_\b7 [config](configuration.md).\n _\b1_\b0_\b8 \"\"\"\n"}]}, {"source1": "./usr/share/doc/python-inline-snapshot-doc/html/pytest.html", "source2": "./usr/share/doc/python-inline-snapshot-doc/html/pytest.html", "unified_diff": "@@ -969,16 +969,16 @@\n <a id=\"__codelineno-1-4\" name=\"__codelineno-1-4\" href=\"#__codelineno-1-4\"></a><span class=\"k\">def</span> <span class=\"nf\">test_something</span><span class=\"p\">():</span>\n <a id=\"__codelineno-1-5\" name=\"__codelineno-1-5\" href=\"#__codelineno-1-5\"></a> <span class=\"k\">assert</span> <span class=\"mi\">1</span> <span class=\"o\">==</span> <span class=\"n\">snapshot</span><span class=\"p\">()</span>\n <a id=\"__codelineno-1-6\" name=\"__codelineno-1-6\" href=\"#__codelineno-1-6\"></a> <span class=\"k\">assert</span> <span class=\"mi\">2</span> <span class=\"o\"><=</span> <span class=\"n\">snapshot</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n </code></pre></div>\n <div class=\"highlight\"><pre><span></span><code><a id=\"__codelineno-0-1\" name=\"__codelineno-0-1\" href=\"#__codelineno-0-1\"></a><span class=\" -Color -Color-Bold -Color-Bold-Blue\">> pytest test_something.py --inline-snapshot=create,report</span>\n <a id=\"__codelineno-0-2\" name=\"__codelineno-0-2\" href=\"#__codelineno-0-2\"></a><span class=\" -Color -Color-Bold\">============================= test session starts ==============================</span>\n <a id=\"__codelineno-0-3\" name=\"__codelineno-0-3\" href=\"#__codelineno-0-3\"></a>platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.GZGVqEVxWM\n-<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.lpRrqOmrhn\n+<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n <a id=\"__codelineno-0-6\" name=\"__codelineno-0-6\" href=\"#__codelineno-0-6\"></a>collected 1 item\n <a id=\"__codelineno-0-7\" name=\"__codelineno-0-7\" href=\"#__codelineno-0-7\"></a>\n <a id=\"__codelineno-0-8\" name=\"__codelineno-0-8\" href=\"#__codelineno-0-8\"></a>test_something.py <span class=\" -Color -Color-Green\">. [100%]</span>\n <a id=\"__codelineno-0-9\" name=\"__codelineno-0-9\" href=\"#__codelineno-0-9\"></a>=============================== inline snapshot ================================\n <a id=\"__codelineno-0-10\" name=\"__codelineno-0-10\" href=\"#__codelineno-0-10\"></a>\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Create snapshots \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n <a id=\"__codelineno-0-11\" name=\"__codelineno-0-11\" href=\"#__codelineno-0-11\"></a>+----------------------------- test_something.py ------------------------------+\n <a id=\"__codelineno-0-12\" name=\"__codelineno-0-12\" href=\"#__codelineno-0-12\"></a>| @@ -2,5 +2,5 @@ |\n@@ -1003,51 +1003,51 @@\n <a id=\"__codelineno-0-31\" name=\"__codelineno-0-31\" href=\"#__codelineno-0-31\"></a>| + assert 2 <= snapshot(2) |\n <a id=\"__codelineno-0-32\" name=\"__codelineno-0-32\" href=\"#__codelineno-0-32\"></a>+------------------------------------------------------------------------------+\n <a id=\"__codelineno-0-33\" name=\"__codelineno-0-33\" href=\"#__codelineno-0-33\"></a>These changes are not applied.\n <a id=\"__codelineno-0-34\" name=\"__codelineno-0-34\" href=\"#__codelineno-0-34\"></a>Use --inline-snapshot=trim to apply them, or use the interactive mode with \n <a id=\"__codelineno-0-35\" name=\"__codelineno-0-35\" href=\"#__codelineno-0-35\"></a>--inline-snapshot=review\n <a id=\"__codelineno-0-36\" name=\"__codelineno-0-36\" href=\"#__codelineno-0-36\"></a>\n <a id=\"__codelineno-0-37\" name=\"__codelineno-0-37\" href=\"#__codelineno-0-37\"></a>\n-<a id=\"__codelineno-0-38\" name=\"__codelineno-0-38\" href=\"#__codelineno-0-38\"></a><span class=\" -Color -Color-Green\">============================== </span><span class=\" -Color -Color-Bold -Color-Bold-Green\">1 passed</span><span class=\" -Color -Color-Green\"> in 0.51s ===============================</span>\n+<a id=\"__codelineno-0-38\" name=\"__codelineno-0-38\" href=\"#__codelineno-0-38\"></a><span class=\" -Color -Color-Green\">============================== </span><span class=\" -Color -Color-Bold -Color-Bold-Green\">1 passed</span><span class=\" -Color -Color-Green\"> in 0.82s ===============================</span>\n </code></pre></div>\n <h2 id=\"-inline-snapshotshort-report\">--inline-snapshot=short-report<a class=\"headerlink\" href=\"#-inline-snapshotshort-report\" title=\"Permanent link\">¶</a></h2>\n <p>give a short report over which changes can be made to the snapshots</p>\n <div class=\"highlight\"><pre><span></span><code><a id=\"__codelineno-0-1\" name=\"__codelineno-0-1\" href=\"#__codelineno-0-1\"></a><span class=\" -Color -Color-Bold -Color-Bold-Blue\">> pytest test_something.py --inline-snapshot=short-report</span>\n <a id=\"__codelineno-0-2\" name=\"__codelineno-0-2\" href=\"#__codelineno-0-2\"></a><span class=\" -Color -Color-Bold\">============================= test session starts ==============================</span>\n <a id=\"__codelineno-0-3\" name=\"__codelineno-0-3\" href=\"#__codelineno-0-3\"></a>platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.GmIm9FDPUH\n-<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.STPxwcG61L\n+<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n <a id=\"__codelineno-0-6\" name=\"__codelineno-0-6\" href=\"#__codelineno-0-6\"></a>collected 1 item\n <a id=\"__codelineno-0-7\" name=\"__codelineno-0-7\" href=\"#__codelineno-0-7\"></a>\n <a id=\"__codelineno-0-8\" name=\"__codelineno-0-8\" href=\"#__codelineno-0-8\"></a>test_something.py <span class=\" -Color -Color-Green\">.</span><span class=\" -Color -Color-Red\">E [100%]</span>\n <a id=\"__codelineno-0-9\" name=\"__codelineno-0-9\" href=\"#__codelineno-0-9\"></a>\n <a id=\"__codelineno-0-10\" name=\"__codelineno-0-10\" href=\"#__codelineno-0-10\"></a>==================================== ERRORS ====================================\n <a id=\"__codelineno-0-11\" name=\"__codelineno-0-11\" href=\"#__codelineno-0-11\"></a><span class=\" -Color -Color-Bold -Color-Bold-Red\">_____________________ ERROR at teardown of test_something ______________________</span>\n <a id=\"__codelineno-0-12\" name=\"__codelineno-0-12\" href=\"#__codelineno-0-12\"></a>your snapshot is missing one value.\n <a id=\"__codelineno-0-13\" name=\"__codelineno-0-13\" href=\"#__codelineno-0-13\"></a>=============================== inline snapshot ================================\n <a id=\"__codelineno-0-14\" name=\"__codelineno-0-14\" href=\"#__codelineno-0-14\"></a>Info: one snapshot can be trimmed (--inline-snapshot=trim)\n <a id=\"__codelineno-0-15\" name=\"__codelineno-0-15\" href=\"#__codelineno-0-15\"></a>Error: one snapshot is missing a value (--inline-snapshot=create)\n <a id=\"__codelineno-0-16\" name=\"__codelineno-0-16\" href=\"#__codelineno-0-16\"></a>\n <a id=\"__codelineno-0-17\" name=\"__codelineno-0-17\" href=\"#__codelineno-0-17\"></a>You can also use --inline-snapshot=review to approve the changes interactively\n <a id=\"__codelineno-0-18\" name=\"__codelineno-0-18\" href=\"#__codelineno-0-18\"></a><span class=\" -Color -Color-Bold -Color-Bold-Cyan\">=========================== short test summary info ============================</span>\n <a id=\"__codelineno-0-19\" name=\"__codelineno-0-19\" href=\"#__codelineno-0-19\"></a><span class=\" -Color -Color-Red\">ERROR</span> test_something.py::<span class=\" -Color -Color-Bold\">test_something</span> - Failed: your snapshot is missing one value.\n-<a id=\"__codelineno-0-20\" name=\"__codelineno-0-20\" href=\"#__codelineno-0-20\"></a><span class=\" -Color -Color-Red\">========================== </span><span class=\" -Color -Color-Green\">1 passed</span>, <span class=\" -Color -Color-Bold -Color-Bold-Red\">1 error</span><span class=\" -Color -Color-Red\"> in 0.46s ==========================</span>\n+<a id=\"__codelineno-0-20\" name=\"__codelineno-0-20\" href=\"#__codelineno-0-20\"></a><span class=\" -Color -Color-Red\">========================== </span><span class=\" -Color -Color-Green\">1 passed</span>, <span class=\" -Color -Color-Bold -Color-Bold-Red\">1 error</span><span class=\" -Color -Color-Red\"> in 0.80s ==========================</span>\n </code></pre></div>\n <div class=\"admonition info\">\n <p class=\"admonition-title\">Info</p>\n <p>short-report exists mainly to show that snapshots have changed with enabled pytest assert-rewriting.\n This option will be replaced with <em>report</em> when this restriction is lifted.</p>\n </div>\n <h2 id=\"-inline-snapshotreport\">--inline-snapshot=report<a class=\"headerlink\" href=\"#-inline-snapshotreport\" title=\"Permanent link\">¶</a></h2>\n <p>Shows a diff report over which changes can be made to the snapshots</p>\n <div class=\"highlight\"><pre><span></span><code><a id=\"__codelineno-0-1\" name=\"__codelineno-0-1\" href=\"#__codelineno-0-1\"></a><span class=\" -Color -Color-Bold -Color-Bold-Blue\">> pytest test_something.py --inline-snapshot=report</span>\n <a id=\"__codelineno-0-2\" name=\"__codelineno-0-2\" href=\"#__codelineno-0-2\"></a><span class=\" -Color -Color-Bold\">============================= test session starts ==============================</span>\n <a id=\"__codelineno-0-3\" name=\"__codelineno-0-3\" href=\"#__codelineno-0-3\"></a>platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.siYONHxJ2N\n-<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.m6vy7VYyQc\n+<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n <a id=\"__codelineno-0-6\" name=\"__codelineno-0-6\" href=\"#__codelineno-0-6\"></a>collected 1 item\n <a id=\"__codelineno-0-7\" name=\"__codelineno-0-7\" href=\"#__codelineno-0-7\"></a>\n <a id=\"__codelineno-0-8\" name=\"__codelineno-0-8\" href=\"#__codelineno-0-8\"></a>test_something.py <span class=\" -Color -Color-Green\">.</span><span class=\" -Color -Color-Red\">E [100%]</span>\n <a id=\"__codelineno-0-9\" name=\"__codelineno-0-9\" href=\"#__codelineno-0-9\"></a>\n <a id=\"__codelineno-0-10\" name=\"__codelineno-0-10\" href=\"#__codelineno-0-10\"></a>==================================== ERRORS ====================================\n <a id=\"__codelineno-0-11\" name=\"__codelineno-0-11\" href=\"#__codelineno-0-11\"></a><span class=\" -Color -Color-Bold -Color-Bold-Red\">_____________________ ERROR at teardown of test_something ______________________</span>\n <a id=\"__codelineno-0-12\" name=\"__codelineno-0-12\" href=\"#__codelineno-0-12\"></a>your snapshot is missing one value.\n@@ -1079,23 +1079,23 @@\n <a id=\"__codelineno-0-38\" name=\"__codelineno-0-38\" href=\"#__codelineno-0-38\"></a>+------------------------------------------------------------------------------+\n <a id=\"__codelineno-0-39\" name=\"__codelineno-0-39\" href=\"#__codelineno-0-39\"></a>These changes are not applied.\n <a id=\"__codelineno-0-40\" name=\"__codelineno-0-40\" href=\"#__codelineno-0-40\"></a>Use --inline-snapshot=trim to apply them, or use the interactive mode with \n <a id=\"__codelineno-0-41\" name=\"__codelineno-0-41\" href=\"#__codelineno-0-41\"></a>--inline-snapshot=review\n <a id=\"__codelineno-0-42\" name=\"__codelineno-0-42\" href=\"#__codelineno-0-42\"></a>\n <a id=\"__codelineno-0-43\" name=\"__codelineno-0-43\" href=\"#__codelineno-0-43\"></a><span class=\" -Color -Color-Bold -Color-Bold-Cyan\">=========================== short test summary info ============================</span>\n <a id=\"__codelineno-0-44\" name=\"__codelineno-0-44\" href=\"#__codelineno-0-44\"></a><span class=\" -Color -Color-Red\">ERROR</span> test_something.py::<span class=\" -Color -Color-Bold\">test_something</span> - Failed: your snapshot is missing one value.\n-<a id=\"__codelineno-0-45\" name=\"__codelineno-0-45\" href=\"#__codelineno-0-45\"></a><span class=\" -Color -Color-Red\">========================== </span><span class=\" -Color -Color-Green\">1 passed</span>, <span class=\" -Color -Color-Bold -Color-Bold-Red\">1 error</span><span class=\" -Color -Color-Red\"> in 0.46s ==========================</span>\n+<a id=\"__codelineno-0-45\" name=\"__codelineno-0-45\" href=\"#__codelineno-0-45\"></a><span class=\" -Color -Color-Red\">========================== </span><span class=\" -Color -Color-Green\">1 passed</span>, <span class=\" -Color -Color-Bold -Color-Bold-Red\">1 error</span><span class=\" -Color -Color-Red\"> in 0.78s ==========================</span>\n </code></pre></div>\n <h2 id=\"-inline-snapshotreview\">--inline-snapshot=review<a class=\"headerlink\" href=\"#-inline-snapshotreview\" title=\"Permanent link\">¶</a></h2>\n <p>Shows a diff report for each category and ask if you want to apply the changes</p>\n <div class=\"highlight\"><pre><span></span><code><a id=\"__codelineno-0-1\" name=\"__codelineno-0-1\" href=\"#__codelineno-0-1\"></a><span class=\" -Color -Color-Bold -Color-Bold-Blue\">> pytest test_something.py --inline-snapshot=review</span>\n <a id=\"__codelineno-0-2\" name=\"__codelineno-0-2\" href=\"#__codelineno-0-2\"></a><span class=\" -Color -Color-Bold\">============================= test session starts ==============================</span>\n <a id=\"__codelineno-0-3\" name=\"__codelineno-0-3\" href=\"#__codelineno-0-3\"></a>platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.pdpnCdJwR4\n-<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+<a id=\"__codelineno-0-4\" name=\"__codelineno-0-4\" href=\"#__codelineno-0-4\"></a>rootdir: /tmp/tmp.LU2pcziyBH\n+<a id=\"__codelineno-0-5\" name=\"__codelineno-0-5\" href=\"#__codelineno-0-5\"></a>plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n <a id=\"__codelineno-0-6\" name=\"__codelineno-0-6\" href=\"#__codelineno-0-6\"></a>collected 1 item\n <a id=\"__codelineno-0-7\" name=\"__codelineno-0-7\" href=\"#__codelineno-0-7\"></a>\n <a id=\"__codelineno-0-8\" name=\"__codelineno-0-8\" href=\"#__codelineno-0-8\"></a>test_something.py <span class=\" -Color -Color-Green\">. [100%]</span>\n <a id=\"__codelineno-0-9\" name=\"__codelineno-0-9\" href=\"#__codelineno-0-9\"></a>=============================== inline snapshot ================================\n <a id=\"__codelineno-0-10\" name=\"__codelineno-0-10\" href=\"#__codelineno-0-10\"></a>\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Create snapshots \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n <a id=\"__codelineno-0-11\" name=\"__codelineno-0-11\" href=\"#__codelineno-0-11\"></a>+----------------------------- test_something.py ------------------------------+\n <a id=\"__codelineno-0-12\" name=\"__codelineno-0-12\" href=\"#__codelineno-0-12\"></a>| @@ -2,5 +2,5 @@ |\n@@ -1116,15 +1116,15 @@\n <a id=\"__codelineno-0-27\" name=\"__codelineno-0-27\" href=\"#__codelineno-0-27\"></a>| def test_something(): |\n <a id=\"__codelineno-0-28\" name=\"__codelineno-0-28\" href=\"#__codelineno-0-28\"></a>| assert 1 == snapshot(1) |\n <a id=\"__codelineno-0-29\" name=\"__codelineno-0-29\" href=\"#__codelineno-0-29\"></a>| - assert 2 <= snapshot(5) |\n <a id=\"__codelineno-0-30\" name=\"__codelineno-0-30\" href=\"#__codelineno-0-30\"></a>| + assert 2 <= snapshot(2) |\n <a id=\"__codelineno-0-31\" name=\"__codelineno-0-31\" href=\"#__codelineno-0-31\"></a>+------------------------------------------------------------------------------+\n <a id=\"__codelineno-0-32\" name=\"__codelineno-0-32\" href=\"#__codelineno-0-32\"></a>do you want to trim these snapshots? [y/n] (n): \n <a id=\"__codelineno-0-33\" name=\"__codelineno-0-33\" href=\"#__codelineno-0-33\"></a>\n-<a id=\"__codelineno-0-34\" name=\"__codelineno-0-34\" href=\"#__codelineno-0-34\"></a><span class=\" -Color -Color-Green\">============================== </span><span class=\" -Color -Color-Bold -Color-Bold-Green\">1 passed</span><span class=\" -Color -Color-Green\"> in 0.49s ===============================</span>\n+<a id=\"__codelineno-0-34\" name=\"__codelineno-0-34\" href=\"#__codelineno-0-34\"></a><span class=\" -Color -Color-Green\">============================== </span><span class=\" -Color -Color-Bold -Color-Bold-Green\">1 passed</span><span class=\" -Color -Color-Green\"> in 0.82s ===============================</span>\n </code></pre></div>\n <h2 id=\"-inline-snapshotdisable\">--inline-snapshot=disable<a class=\"headerlink\" href=\"#-inline-snapshotdisable\" title=\"Permanent link\">¶</a></h2>\n <p>Disables all the snapshot logic. <code>snapshot(x)</code> will just return <code>x</code>.\n This can be used if you think exclude that snapshot logic causes a problem in your tests, or if you want to speedup your CI.</p>\n <div class=\"admonition info\">\n <p class=\"admonition-title\">deprecation</p>\n <p>This option was previously called <code>--inline-snapshot-disable</code></p>\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -66,17 +66,17 @@\n def test_something():\n assert 1 == snapshot()\n assert 2 <= snapshot(5)\n > pytest test_something.py --inline-snapshot=create,report\n ============================= test session starts\n ==============================\n platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-rootdir: /tmp/tmp.GZGVqEVxWM\n-plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-\n-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+rootdir: /tmp/tmp.lpRrqOmrhn\n+plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3,\n+hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n collected 1 item\n \n test_something.py . [100%]\n =============================== inline snapshot\n ================================\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Create snapshots\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n@@ -123,25 +123,25 @@\n +------------------------------------------------------------------------------\n +\n These changes are not applied.\n Use --inline-snapshot=trim to apply them, or use the interactive mode with\n --inline-snapshot=review\n \n \n-============================== 1 passed in 0.51s\n+============================== 1 passed in 0.82s\n ===============================\n *\b**\b**\b**\b**\b* -\b--\b-i\bin\bnl\bli\bin\bne\be-\b-s\bsn\bna\bap\bps\bsh\bho\bot\bt=\b=s\bsh\bho\bor\brt\bt-\b-r\bre\bep\bpo\bor\brt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n give a short report over which changes can be made to the snapshots\n > pytest test_something.py --inline-snapshot=short-report\n ============================= test session starts\n ==============================\n platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-rootdir: /tmp/tmp.GmIm9FDPUH\n-plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-\n-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+rootdir: /tmp/tmp.STPxwcG61L\n+plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3,\n+hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n collected 1 item\n \n test_something.py .E [100%]\n \n ==================================== ERRORS\n ====================================\n _____________________ ERROR at teardown of test_something\n@@ -153,29 +153,29 @@\n Error: one snapshot is missing a value (--inline-snapshot=create)\n \n You can also use --inline-snapshot=review to approve the changes interactively\n =========================== short test summary info\n ============================\n ERROR test_something.py::test_something - Failed: your snapshot is missing one\n value.\n-========================== 1 passed, 1 error in 0.46s\n+========================== 1 passed, 1 error in 0.80s\n ==========================\n Info\n short-report exists mainly to show that snapshots have changed with enabled\n pytest assert-rewriting. This option will be replaced with r\bre\bep\bpo\bor\brt\bt when this\n restriction is lifted.\n *\b**\b**\b**\b**\b* -\b--\b-i\bin\bnl\bli\bin\bne\be-\b-s\bsn\bna\bap\bps\bsh\bho\bot\bt=\b=r\bre\bep\bpo\bor\brt\bt_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Shows a diff report over which changes can be made to the snapshots\n > pytest test_something.py --inline-snapshot=report\n ============================= test session starts\n ==============================\n platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-rootdir: /tmp/tmp.siYONHxJ2N\n-plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-\n-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+rootdir: /tmp/tmp.m6vy7VYyQc\n+plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3,\n+hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n collected 1 item\n \n test_something.py .E [100%]\n \n ==================================== ERRORS\n ====================================\n _____________________ ERROR at teardown of test_something\n@@ -233,25 +233,25 @@\n Use --inline-snapshot=trim to apply them, or use the interactive mode with\n --inline-snapshot=review\n \n =========================== short test summary info\n ============================\n ERROR test_something.py::test_something - Failed: your snapshot is missing one\n value.\n-========================== 1 passed, 1 error in 0.46s\n+========================== 1 passed, 1 error in 0.78s\n ==========================\n *\b**\b**\b**\b**\b* -\b--\b-i\bin\bnl\bli\bin\bne\be-\b-s\bsn\bna\bap\bps\bsh\bho\bot\bt=\b=r\bre\bev\bvi\bie\bew\bw_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Shows a diff report for each category and ask if you want to apply the changes\n > pytest test_something.py --inline-snapshot=review\n ============================= test session starts\n ==============================\n platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\n-rootdir: /tmp/tmp.pdpnCdJwR4\n-plugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-\n-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\n+rootdir: /tmp/tmp.LU2pcziyBH\n+plugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3,\n+hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\n collected 1 item\n \n test_something.py . [100%]\n =============================== inline snapshot\n ================================\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Create snapshots\n \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n@@ -294,15 +294,15 @@\n |\n | + assert 2 <= snapshot(2)\n |\n +------------------------------------------------------------------------------\n +\n do you want to trim these snapshots? [y/n] (n):\n \n-============================== 1 passed in 0.49s\n+============================== 1 passed in 0.82s\n ===============================\n *\b**\b**\b**\b**\b* -\b--\b-i\bin\bnl\bli\bin\bne\be-\b-s\bsn\bna\bap\bps\bsh\bho\bot\bt=\b=d\bdi\bis\bsa\bab\bbl\ble\be_\b?\b\u00b6 *\b**\b**\b**\b**\b*\n Disables all the snapshot logic. snapshot(x) will just return x. This can be\n used if you think exclude that snapshot logic causes a problem in your tests,\n or if you want to speedup your CI.\n deprecation\n This option was previously called --inline-snapshot-disable\n"}]}, {"source1": "./usr/share/doc/python-inline-snapshot-doc/html/search/search_index.json", "source2": "./usr/share/doc/python-inline-snapshot-doc/html/search/search_index.json", "unified_diff": null, "details": [{"source1": "Pretty-printed", "source2": "Pretty-printed", "comments": ["Similarity: 0.9970878136200718%", "Differences: {\"'docs'\": \"{147: {'text': '<p>Uses <code>contextlib.redirect_stderr/stdout</code> to capture the \"", " 'output and compare it with the snapshots. <code>dirty_equals.IsStr</code> can be used '", " 'to ignore the output if needed.</p> <p>Parameters:</p> Name Type Description Default '", " '<code>stdout</code> <code>Snapshot[str]</code> <p>snapshot which is compared to the '", " \"recorded output</p> <code>\\\\'\\\\'</code> <code>stderr</code> <code>Snapshot[str]</code> \"", " \"<p [\u2026]"], "unified_diff": "@@ -742,25 +742,25 @@\n {\n \"location\": \"extra.html#inline_snapshot.extra\",\n \"text\": \"<p>The following functions are build on top of inline-snapshot and could also be implemented in an extra library.</p> <p>They are part of inline-snapshot because they are general useful and do not depend on other libraries.</p>\",\n \"title\": \"<code>inline_snapshot.extra</code>\"\n },\n {\n \"location\": \"extra.html#inline_snapshot.extra.prints\",\n- \"text\": \"<p>Uses <code>contextlib.redirect_stderr/stdout</code> to capture the output and compare it with the snapshots. <code>dirty_equals.IsStr</code> can be used to ignore the output if needed.</p> <p>Parameters:</p> Name Type Description Default <code>stdout</code> <code>Snapshot[str]</code> <p>snapshot which is compared to the recorded output</p> <code>''</code> <code>stderr</code> <code>Snapshot[str]</code> <p>snapshot which is compared to the recorded error output</p> <code>''</code> original--inline-snapshot=createignore stdout <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(stdout=snapshot(), stderr=snapshot()):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(\\n stdout=snapshot(\\\"hello world\\\\n\\\"), stderr=snapshot(\\\"some error\\\\n\\\")\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nfrom dirty_equals import IsStr\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(\\n stdout=IsStr(),\\n stderr=snapshot(\\\"some error\\\\n\\\"),\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef prints(*, stdout: Snapshot[str] = \\\"\\\", stderr: Snapshot[str] = \\\"\\\"):\\n \\\"\\\"\\\"Uses `contextlib.redirect_stderr/stdout` to capture the output and\\n compare it with the snapshots. `dirty_equals.IsStr` can be used to ignore\\n the output if needed.\\n\\n Parameters:\\n stdout: snapshot which is compared to the recorded output\\n stderr: snapshot which is compared to the recorded error output\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n import sys\\n\\n\\n def test_prints():\\n with prints(stdout=snapshot(), stderr=snapshot()):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create outcome-passed=1 -->\\n ``` python hl_lines=\\\"7 8 9\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n import sys\\n\\n\\n def test_prints():\\n with prints(\\n stdout=snapshot(\\\"hello world\\\\\\\\n\\\"), stderr=snapshot(\\\"some error\\\\\\\\n\\\")\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n\\n === \\\"ignore stdout\\\"\\n\\n <!-- inline-snapshot: outcome-passed=1 -->\\n ``` python hl_lines=\\\"3 9 10\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n from dirty_equals import IsStr\\n import sys\\n\\n\\n def test_prints():\\n with prints(\\n stdout=IsStr(),\\n stderr=snapshot(\\\"some error\\\\\\\\n\\\"),\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n \\\"\\\"\\\"\\n\\n with redirect_stdout(io.StringIO()) as stdout_io:\\n with redirect_stderr(io.StringIO()) as stderr_io:\\n yield\\n\\n assert stderr_io.getvalue() == stderr\\n assert stdout_io.getvalue() == stdout\\n</code></pre>\",\n+ \"text\": \"<p>Uses <code>contextlib.redirect_stderr/stdout</code> to capture the output and compare it with the snapshots. <code>dirty_equals.IsStr</code> can be used to ignore the output if needed.</p> <p>Parameters:</p> Name Type Description Default <code>stdout</code> <code>Snapshot[str]</code> <p>snapshot which is compared to the recorded output</p> <code>''</code> <code>stderr</code> <code>Snapshot[str]</code> <p>snapshot which is compared to the recorded error output</p> <code>''</code> original--inline-snapshot=createignore stdout <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(stdout=snapshot(), stderr=snapshot()):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(\\n stdout=snapshot(\\\"hello world\\\\n\\\"), stderr=snapshot(\\\"some error\\\\n\\\")\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import prints\\nfrom dirty_equals import IsStr\\nimport sys\\n\\n\\ndef test_prints():\\n with prints(\\n stdout=IsStr(),\\n stderr=snapshot(\\\"some error\\\\n\\\"),\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef prints(*, stdout: Snapshot[str] = \\\"\\\", stderr: Snapshot[str] = \\\"\\\"):\\n \\\"\\\"\\\"Uses `contextlib.redirect_stderr/stdout` to capture the output and\\n compare it with the snapshots. `dirty_equals.IsStr` can be used to ignore\\n the output if needed.\\n\\n Parameters:\\n stdout: snapshot which is compared to the recorded output\\n stderr: snapshot which is compared to the recorded error output\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n import sys\\n\\n\\n def test_prints():\\n with prints(stdout=snapshot(), stderr=snapshot()):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create outcome-passed=1 -->\\n ``` python hl_lines=\\\"7 8 9\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n import sys\\n\\n\\n def test_prints():\\n with prints(\\n stdout=snapshot(\\\"hello world\\\\\\\\n\\\"), stderr=snapshot(\\\"some error\\\\\\\\n\\\")\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n\\n === \\\"ignore stdout\\\"\\n\\n <!-- inline-snapshot: outcome-passed=1 -->\\n ``` python hl_lines=\\\"3 9 10\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import prints\\n from dirty_equals import IsStr\\n import sys\\n\\n\\n def test_prints():\\n with prints(\\n stdout=IsStr(),\\n stderr=snapshot(\\\"some error\\\\\\\\n\\\"),\\n ):\\n print(\\\"hello world\\\")\\n print(\\\"some error\\\", file=sys.stderr)\\n ```\\n \\\"\\\"\\\"\\n\\n with redirect_stdout(io.StringIO()) as stdout_io:\\n with redirect_stderr(io.StringIO()) as stderr_io:\\n yield\\n\\n assert stderr_io.getvalue() == stderr\\n assert stdout_io.getvalue() == stdout\\n</code></pre>\",\n \"title\": \"<code>prints(*, stdout='', stderr='')</code>\"\n },\n {\n \"location\": \"extra.html#inline_snapshot.extra.raises\",\n- \"text\": \"<p>Check that an exception is raised.</p> <p>Parameters:</p> Name Type Description Default <code>exception</code> <code>Snapshot[str]</code> <p>snapshot which is compared with <code>f\\\"{type}: {message}\\\"</code> if an exception occured or <code>\\\"<no exception>\\\"</code> if no exception was raised.</p> required original--inline-snapshot=create <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import raises\\n\\n\\ndef test_raises():\\n with raises(snapshot()):\\n 1 / 0\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import raises\\n\\n\\ndef test_raises():\\n with raises(snapshot(\\\"ZeroDivisionError: division by zero\\\")):\\n 1 / 0\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef raises(exception: Snapshot[str]):\\n \\\"\\\"\\\"Check that an exception is raised.\\n\\n Parameters:\\n exception: snapshot which is compared with `#!python f\\\"{type}: {message}\\\"` if an exception occured or `#!python \\\"<no exception>\\\"` if no exception was raised.\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import raises\\n\\n\\n def test_raises():\\n with raises(snapshot()):\\n 1 / 0\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create outcome-passed=1 -->\\n ``` python hl_lines=\\\"6\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import raises\\n\\n\\n def test_raises():\\n with raises(snapshot(\\\"ZeroDivisionError: division by zero\\\")):\\n 1 / 0\\n ```\\n \\\"\\\"\\\"\\n\\n try:\\n yield\\n except Exception as ex:\\n msg = str(ex)\\n if \\\"\\\\n\\\" in msg:\\n assert f\\\"{type(ex).__name__}:\\\\n{ex}\\\" == exception\\n else:\\n assert f\\\"{type(ex).__name__}: {ex}\\\" == exception\\n else:\\n assert \\\"<no exception>\\\" == exception\\n</code></pre>\",\n+ \"text\": \"<p>Check that an exception is raised.</p> <p>Parameters:</p> Name Type Description Default <code>exception</code> <code>Snapshot[str]</code> <p>snapshot which is compared with <code>f\\\"{type}: {message}\\\"</code> if an exception occured or <code>\\\"<no exception>\\\"</code> if no exception was raised.</p> required original--inline-snapshot=create <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import raises\\n\\n\\ndef test_raises():\\n with raises(snapshot()):\\n 1 / 0\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import raises\\n\\n\\ndef test_raises():\\n with raises(snapshot(\\\"ZeroDivisionError: division by zero\\\")):\\n 1 / 0\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef raises(exception: Snapshot[str]):\\n \\\"\\\"\\\"Check that an exception is raised.\\n\\n Parameters:\\n exception: snapshot which is compared with `#!python f\\\"{type}: {message}\\\"` if an exception occured or `#!python \\\"<no exception>\\\"` if no exception was raised.\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import raises\\n\\n\\n def test_raises():\\n with raises(snapshot()):\\n 1 / 0\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create outcome-passed=1 -->\\n ``` python hl_lines=\\\"6\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import raises\\n\\n\\n def test_raises():\\n with raises(snapshot(\\\"ZeroDivisionError: division by zero\\\")):\\n 1 / 0\\n ```\\n \\\"\\\"\\\"\\n\\n try:\\n yield\\n except Exception as ex:\\n msg = str(ex)\\n if \\\"\\\\n\\\" in msg:\\n assert f\\\"{type(ex).__name__}:\\\\n{ex}\\\" == exception\\n else:\\n assert f\\\"{type(ex).__name__}: {ex}\\\" == exception\\n else:\\n assert \\\"<no exception>\\\" == exception\\n</code></pre>\",\n \"title\": \"<code>raises(exception)</code>\"\n },\n {\n \"location\": \"extra.html#inline_snapshot.extra.warns\",\n- \"text\": \"<p>Captures warnings with <code>warnings.catch_warnings</code> and compares them against expected warnings.</p> <p>Parameters:</p> Name Type Description Default <code>expected_warnings</code> <code>Snapshot[List[Warning]]</code> <p>Snapshot containing a list of expected warnings.</p> required <code>include_line</code> <code>bool</code> <p>If <code>True</code>, each expected warning is a tuple <code>(linenumber, message)</code>.</p> <code>False</code> <code>include_file</code> <code>bool</code> <p>If <code>True</code>, each expected warning is a tuple <code>(filename, message)</code>.</p> <code>False</code> <p>The format of the expected warning:</p> <ul> <li><code>(filename, linenumber, message)</code> if both <code>include_line</code> and <code>include_file</code> are <code>True</code>.</li> <li><code>(linenumber, message)</code> if only <code>include_line</code> is <code>True</code>.</li> <li><code>(filename, message)</code> if only <code>include_file</code> is <code>True</code>.</li> <li>A string <code>message</code> if both are <code>False</code>.</li> </ul> original--inline-snapshot=create <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import warns\\nfrom warnings import warn\\n\\n\\ndef test_warns():\\n with warns(snapshot(), include_line=True):\\n warn(\\\"some problem\\\")\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import warns\\nfrom warnings import warn\\n\\n\\ndef test_warns():\\n with warns(snapshot([(8, \\\"UserWarning: some problem\\\")]), include_line=True):\\n warn(\\\"some problem\\\")\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef warns(\\n expected_warnings: Snapshot[List[Warning]],\\n /,\\n include_line: bool = False,\\n include_file: bool = False,\\n):\\n \\\"\\\"\\\"\\n Captures warnings with `warnings.catch_warnings` and compares them against expected warnings.\\n\\n Parameters:\\n expected_warnings: Snapshot containing a list of expected warnings.\\n include_line: If `True`, each expected warning is a tuple `(linenumber, message)`.\\n include_file: If `True`, each expected warning is a tuple `(filename, message)`.\\n\\n The format of the expected warning:\\n\\n - `(filename, linenumber, message)` if both `include_line` and `include_file` are `True`.\\n - `(linenumber, message)` if only `include_line` is `True`.\\n - `(filename, message)` if only `include_file` is `True`.\\n - A string `message` if both are `False`.\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import warns\\n from warnings import warn\\n\\n\\n def test_warns():\\n with warns(snapshot(), include_line=True):\\n warn(\\\"some problem\\\")\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create fix outcome-passed=1 -->\\n ``` python hl_lines=\\\"7\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import warns\\n from warnings import warn\\n\\n\\n def test_warns():\\n with warns(snapshot([(8, \\\"UserWarning: some problem\\\")]), include_line=True):\\n warn(\\\"some problem\\\")\\n ```\\n \\\"\\\"\\\"\\n with warnings.catch_warnings(record=True) as result:\\n warnings.simplefilter(\\\"always\\\")\\n yield\\n\\n def make_warning(w):\\n message = f\\\"{w.category.__name__}: {w.message}\\\"\\n if not include_line and not include_file:\\n return message\\n message = (message,)\\n\\n if include_line:\\n message = (w.lineno, *message)\\n if include_file:\\n message = (w.filename, *message)\\n\\n return message\\n\\n assert [make_warning(w) for w in result] == expected_warnings\\n</code></pre>\",\n+ \"text\": \"<p>Captures warnings with <code>warnings.catch_warnings</code> and compares them against expected warnings.</p> <p>Parameters:</p> Name Type Description Default <code>expected_warnings</code> <code>Snapshot[List[Warning]]</code> <p>Snapshot containing a list of expected warnings.</p> required <code>include_line</code> <code>bool</code> <p>If <code>True</code>, each expected warning is a tuple <code>(linenumber, message)</code>.</p> <code>False</code> <code>include_file</code> <code>bool</code> <p>If <code>True</code>, each expected warning is a tuple <code>(filename, message)</code>.</p> <code>False</code> <p>The format of the expected warning:</p> <ul> <li><code>(filename, linenumber, message)</code> if both <code>include_line</code> and <code>include_file</code> are <code>True</code>.</li> <li><code>(linenumber, message)</code> if only <code>include_line</code> is <code>True</code>.</li> <li><code>(filename, message)</code> if only <code>include_file</code> is <code>True</code>.</li> <li>A string <code>message</code> if both are <code>False</code>.</li> </ul> original--inline-snapshot=create <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import warns\\nfrom warnings import warn\\n\\n\\ndef test_warns():\\n with warns(snapshot(), include_line=True):\\n warn(\\\"some problem\\\")\\n</code></pre></p> <p> <pre><code>from inline_snapshot import snapshot\\nfrom inline_snapshot.extra import warns\\nfrom warnings import warn\\n\\n\\ndef test_warns():\\n with warns(snapshot([(8, \\\"UserWarning: some problem\\\")]), include_line=True):\\n warn(\\\"some problem\\\")\\n</code></pre></p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/extra.py</code> <pre><code>@contextlib.contextmanager\\ndef warns(\\n expected_warnings: Snapshot[List[Warning]],\\n /,\\n include_line: bool = False,\\n include_file: bool = False,\\n):\\n \\\"\\\"\\\"\\n Captures warnings with `warnings.catch_warnings` and compares them against expected warnings.\\n\\n Parameters:\\n expected_warnings: Snapshot containing a list of expected warnings.\\n include_line: If `True`, each expected warning is a tuple `(linenumber, message)`.\\n include_file: If `True`, each expected warning is a tuple `(filename, message)`.\\n\\n The format of the expected warning:\\n\\n - `(filename, linenumber, message)` if both `include_line` and `include_file` are `True`.\\n - `(linenumber, message)` if only `include_line` is `True`.\\n - `(filename, message)` if only `include_file` is `True`.\\n - A string `message` if both are `False`.\\n\\n === \\\"original\\\"\\n\\n <!-- inline-snapshot: first_block outcome-passed=1 outcome-errors=1 -->\\n ``` python\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import warns\\n from warnings import warn\\n\\n\\n def test_warns():\\n with warns(snapshot(), include_line=True):\\n warn(\\\"some problem\\\")\\n ```\\n\\n === \\\"--inline-snapshot=create\\\"\\n\\n <!-- inline-snapshot: create fix outcome-passed=1 -->\\n ``` python hl_lines=\\\"7\\\"\\n from inline_snapshot import snapshot\\n from inline_snapshot.extra import warns\\n from warnings import warn\\n\\n\\n def test_warns():\\n with warns(snapshot([(8, \\\"UserWarning: some problem\\\")]), include_line=True):\\n warn(\\\"some problem\\\")\\n ```\\n \\\"\\\"\\\"\\n with warnings.catch_warnings(record=True) as result:\\n warnings.simplefilter(\\\"always\\\")\\n yield\\n\\n def make_warning(w):\\n message = f\\\"{w.category.__name__}: {w.message}\\\"\\n if not include_line and not include_file:\\n return message\\n message = (message,)\\n\\n if include_line:\\n message = (w.lineno, *message)\\n if include_file:\\n message = (w.filename, *message)\\n\\n return message\\n\\n assert [make_warning(w) for w in result] == expected_warnings\\n</code></pre>\",\n \"title\": \"<code>warns(expected_warnings, /, include_line=False, include_file=False)</code>\"\n },\n {\n \"location\": \"getitem_snapshot.html\",\n \"text\": \"\",\n \"title\": \"snapshot()[key]\"\n },\n@@ -822,65 +822,65 @@\n {\n \"location\": \"outsource.html#api\",\n \"text\": \"\",\n \"title\": \"API\"\n },\n {\n \"location\": \"outsource.html#inline_snapshot.outsource\",\n- \"text\": \"<p>Outsource some data into an external file.</p> <pre><code>>>> png_data = b\\\"some_bytes\\\" # should be the replaced with your actual data\\n>>> outsource(png_data, suffix=\\\".png\\\")\\nexternal(\\\"212974ed1835*.png\\\")\\n</code></pre> <p>Parameters:</p> Name Type Description Default <code>data</code> <code>Union[str, bytes]</code> <p>data which should be outsourced. strings are encoded with <code>\\\"utf-8\\\"</code>.</p> required <code>suffix</code> <code>Optional[str]</code> <p>overwrite file suffix. The default is <code>\\\".bin\\\"</code> if data is an instance of <code>bytes</code> and <code>\\\".txt\\\"</code> for <code>str</code>.</p> <code>None</code> <p>Returns:</p> Type Description <code>external</code> <p>The external data.</p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def outsource(data: Union[str, bytes], *, suffix: Optional[str] = None) -> external:\\n \\\"\\\"\\\"Outsource some data into an external file.\\n\\n ``` pycon\\n >>> png_data = b\\\"some_bytes\\\" # should be the replaced with your actual data\\n >>> outsource(png_data, suffix=\\\".png\\\")\\n external(\\\"212974ed1835*.png\\\")\\n\\n ```\\n\\n Parameters:\\n data: data which should be outsourced. strings are encoded with `\\\"utf-8\\\"`.\\n\\n suffix: overwrite file suffix. The default is `\\\".bin\\\"` if data is an instance of `#!python bytes` and `\\\".txt\\\"` for `#!python str`.\\n\\n Returns:\\n The external data.\\n \\\"\\\"\\\"\\n if isinstance(data, str):\\n data = data.encode(\\\"utf-8\\\")\\n if suffix is None:\\n suffix = \\\".txt\\\"\\n\\n elif isinstance(data, bytes):\\n if suffix is None:\\n suffix = \\\".bin\\\"\\n else:\\n raise TypeError(\\\"data has to be of type bytes | str\\\")\\n\\n if not suffix or suffix[0] != \\\".\\\":\\n raise ValueError(\\\"suffix has to start with a '.' like '.png'\\\")\\n\\n m = hashlib.sha256()\\n m.update(data)\\n hash = m.hexdigest()\\n\\n assert storage is not None\\n\\n name = hash + suffix\\n\\n if not storage.lookup_all(name):\\n path = hash + \\\"-new\\\" + suffix\\n storage.save(path, data)\\n\\n return external(name)\\n</code></pre>\",\n+ \"text\": \"<p>Outsource some data into an external file.</p> <pre><code>>>> png_data = b\\\"some_bytes\\\" # should be the replaced with your actual data\\n>>> outsource(png_data, suffix=\\\".png\\\")\\nexternal(\\\"212974ed1835*.png\\\")\\n</code></pre> <p>Parameters:</p> Name Type Description Default <code>data</code> <code>Union[str, bytes]</code> <p>data which should be outsourced. strings are encoded with <code>\\\"utf-8\\\"</code>.</p> required <code>suffix</code> <code>Optional[str]</code> <p>overwrite file suffix. The default is <code>\\\".bin\\\"</code> if data is an instance of <code>bytes</code> and <code>\\\".txt\\\"</code> for <code>str</code>.</p> <code>None</code> <p>Returns:</p> Type Description <code>external</code> <p>The external data.</p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def outsource(data: Union[str, bytes], *, suffix: Optional[str] = None) -> external:\\n \\\"\\\"\\\"Outsource some data into an external file.\\n\\n ``` pycon\\n >>> png_data = b\\\"some_bytes\\\" # should be the replaced with your actual data\\n >>> outsource(png_data, suffix=\\\".png\\\")\\n external(\\\"212974ed1835*.png\\\")\\n\\n ```\\n\\n Parameters:\\n data: data which should be outsourced. strings are encoded with `\\\"utf-8\\\"`.\\n\\n suffix: overwrite file suffix. The default is `\\\".bin\\\"` if data is an instance of `#!python bytes` and `\\\".txt\\\"` for `#!python str`.\\n\\n Returns:\\n The external data.\\n \\\"\\\"\\\"\\n if isinstance(data, str):\\n data = data.encode(\\\"utf-8\\\")\\n if suffix is None:\\n suffix = \\\".txt\\\"\\n\\n elif isinstance(data, bytes):\\n if suffix is None:\\n suffix = \\\".bin\\\"\\n else:\\n raise TypeError(\\\"data has to be of type bytes | str\\\")\\n\\n if not suffix or suffix[0] != \\\".\\\":\\n raise ValueError(\\\"suffix has to start with a '.' like '.png'\\\")\\n\\n m = hashlib.sha256()\\n m.update(data)\\n hash = m.hexdigest()\\n\\n assert storage is not None\\n\\n name = hash + suffix\\n\\n if not storage.lookup_all(name):\\n path = hash + \\\"-new\\\" + suffix\\n storage.save(path, data)\\n\\n return external(name)\\n</code></pre>\",\n \"title\": \"<code>inline_snapshot.outsource(data, *, suffix=None)</code>\"\n },\n {\n \"location\": \"outsource.html#inline_snapshot.external\",\n- \"text\": \"Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>class external:\\n def __init__(self, name: str):\\n \\\"\\\"\\\"External objects are used as a representation for outsourced data.\\n You should not create them directly.\\n\\n The external data is by default stored inside `<pytest_config_dir>/.inline-snapshot/external`,\\n where `<pytest_config_dir>` is replaced by the directory containing the Pytest configuration file, if any.\\n To store data in a different location, set the `storage-dir` option in pyproject.toml.\\n Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.\\n\\n Parameters:\\n name: the name of the external stored object.\\n \\\"\\\"\\\"\\n\\n m = re.fullmatch(r\\\"([0-9a-fA-F]*)\\\\*?(\\\\.[a-zA-Z0-9]*)\\\", name)\\n\\n if m:\\n self._hash, self._suffix = m.groups()\\n else:\\n raise ValueError(\\n \\\"path has to be of the form <hash>.<suffix> or <partial_hash>*.<suffix>\\\"\\n )\\n\\n @property\\n def _path(self):\\n return f\\\"{self._hash}*{self._suffix}\\\"\\n\\n def __repr__(self):\\n \\\"\\\"\\\"Returns the representation of the external object.\\n\\n The length of the hash can be specified in the\\n [config](configuration.md).\\n \\\"\\\"\\\"\\n hash = self._hash[: _config.config.hash_length]\\n\\n if len(hash) == 64:\\n return f'external(\\\"{hash}{self._suffix}\\\")'\\n else:\\n return f'external(\\\"{hash}*{self._suffix}\\\")'\\n\\n def __eq__(self, other):\\n \\\"\\\"\\\"Two external objects are equal if they have the same hash and\\n suffix.\\\"\\\"\\\"\\n if not isinstance(other, external):\\n return NotImplemented\\n\\n min_hash_len = min(len(self._hash), len(other._hash))\\n\\n if self._hash[:min_hash_len] != other._hash[:min_hash_len]:\\n return False\\n\\n if self._suffix != other._suffix:\\n return False\\n\\n return True\\n\\n def _load_value(self):\\n assert storage is not None\\n return storage.read(self._path)\\n</code></pre>\",\n+ \"text\": \"Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>class external:\\n def __init__(self, name: str):\\n \\\"\\\"\\\"External objects are used as a representation for outsourced data.\\n You should not create them directly.\\n\\n The external data is by default stored inside `<pytest_config_dir>/.inline-snapshot/external`,\\n where `<pytest_config_dir>` is replaced by the directory containing the Pytest configuration file, if any.\\n To store data in a different location, set the `storage-dir` option in pyproject.toml.\\n Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.\\n\\n Parameters:\\n name: the name of the external stored object.\\n \\\"\\\"\\\"\\n\\n m = re.fullmatch(r\\\"([0-9a-fA-F]*)\\\\*?(\\\\.[a-zA-Z0-9]*)\\\", name)\\n\\n if m:\\n self._hash, self._suffix = m.groups()\\n else:\\n raise ValueError(\\n \\\"path has to be of the form <hash>.<suffix> or <partial_hash>*.<suffix>\\\"\\n )\\n\\n @property\\n def _path(self):\\n return f\\\"{self._hash}*{self._suffix}\\\"\\n\\n def __repr__(self):\\n \\\"\\\"\\\"Returns the representation of the external object.\\n\\n The length of the hash can be specified in the\\n [config](configuration.md).\\n \\\"\\\"\\\"\\n hash = self._hash[: _config.config.hash_length]\\n\\n if len(hash) == 64:\\n return f'external(\\\"{hash}{self._suffix}\\\")'\\n else:\\n return f'external(\\\"{hash}*{self._suffix}\\\")'\\n\\n def __eq__(self, other):\\n \\\"\\\"\\\"Two external objects are equal if they have the same hash and\\n suffix.\\\"\\\"\\\"\\n if not isinstance(other, external):\\n return NotImplemented\\n\\n min_hash_len = min(len(self._hash), len(other._hash))\\n\\n if self._hash[:min_hash_len] != other._hash[:min_hash_len]:\\n return False\\n\\n if self._suffix != other._suffix:\\n return False\\n\\n return True\\n\\n def _load_value(self):\\n assert storage is not None\\n return storage.read(self._path)\\n</code></pre>\",\n \"title\": \"<code>inline_snapshot.external</code>\"\n },\n {\n \"location\": \"outsource.html#inline_snapshot.external.__eq__\",\n- \"text\": \"<p>Two external objects are equal if they have the same hash and suffix.</p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __eq__(self, other):\\n \\\"\\\"\\\"Two external objects are equal if they have the same hash and\\n suffix.\\\"\\\"\\\"\\n if not isinstance(other, external):\\n return NotImplemented\\n\\n min_hash_len = min(len(self._hash), len(other._hash))\\n\\n if self._hash[:min_hash_len] != other._hash[:min_hash_len]:\\n return False\\n\\n if self._suffix != other._suffix:\\n return False\\n\\n return True\\n</code></pre>\",\n+ \"text\": \"<p>Two external objects are equal if they have the same hash and suffix.</p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __eq__(self, other):\\n \\\"\\\"\\\"Two external objects are equal if they have the same hash and\\n suffix.\\\"\\\"\\\"\\n if not isinstance(other, external):\\n return NotImplemented\\n\\n min_hash_len = min(len(self._hash), len(other._hash))\\n\\n if self._hash[:min_hash_len] != other._hash[:min_hash_len]:\\n return False\\n\\n if self._suffix != other._suffix:\\n return False\\n\\n return True\\n</code></pre>\",\n \"title\": \"<code>__eq__(other)</code>\"\n },\n {\n \"location\": \"outsource.html#inline_snapshot.external.__init__\",\n- \"text\": \"<p>External objects are used as a representation for outsourced data. You should not create them directly.</p> <p>The external data is by default stored inside <code><pytest_config_dir>/.inline-snapshot/external</code>, where <code><pytest_config_dir></code> is replaced by the directory containing the Pytest configuration file, if any. To store data in a different location, set the <code>storage-dir</code> option in pyproject.toml. Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.</p> <p>Parameters:</p> Name Type Description Default <code>name</code> <code>str</code> <p>the name of the external stored object.</p> required Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __init__(self, name: str):\\n \\\"\\\"\\\"External objects are used as a representation for outsourced data.\\n You should not create them directly.\\n\\n The external data is by default stored inside `<pytest_config_dir>/.inline-snapshot/external`,\\n where `<pytest_config_dir>` is replaced by the directory containing the Pytest configuration file, if any.\\n To store data in a different location, set the `storage-dir` option in pyproject.toml.\\n Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.\\n\\n Parameters:\\n name: the name of the external stored object.\\n \\\"\\\"\\\"\\n\\n m = re.fullmatch(r\\\"([0-9a-fA-F]*)\\\\*?(\\\\.[a-zA-Z0-9]*)\\\", name)\\n\\n if m:\\n self._hash, self._suffix = m.groups()\\n else:\\n raise ValueError(\\n \\\"path has to be of the form <hash>.<suffix> or <partial_hash>*.<suffix>\\\"\\n )\\n</code></pre>\",\n+ \"text\": \"<p>External objects are used as a representation for outsourced data. You should not create them directly.</p> <p>The external data is by default stored inside <code><pytest_config_dir>/.inline-snapshot/external</code>, where <code><pytest_config_dir></code> is replaced by the directory containing the Pytest configuration file, if any. To store data in a different location, set the <code>storage-dir</code> option in pyproject.toml. Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.</p> <p>Parameters:</p> Name Type Description Default <code>name</code> <code>str</code> <p>the name of the external stored object.</p> required Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __init__(self, name: str):\\n \\\"\\\"\\\"External objects are used as a representation for outsourced data.\\n You should not create them directly.\\n\\n The external data is by default stored inside `<pytest_config_dir>/.inline-snapshot/external`,\\n where `<pytest_config_dir>` is replaced by the directory containing the Pytest configuration file, if any.\\n To store data in a different location, set the `storage-dir` option in pyproject.toml.\\n Data which is outsourced but not referenced in the source code jet has a '-new' suffix in the filename.\\n\\n Parameters:\\n name: the name of the external stored object.\\n \\\"\\\"\\\"\\n\\n m = re.fullmatch(r\\\"([0-9a-fA-F]*)\\\\*?(\\\\.[a-zA-Z0-9]*)\\\", name)\\n\\n if m:\\n self._hash, self._suffix = m.groups()\\n else:\\n raise ValueError(\\n \\\"path has to be of the form <hash>.<suffix> or <partial_hash>*.<suffix>\\\"\\n )\\n</code></pre>\",\n \"title\": \"<code>__init__(name)</code>\"\n },\n {\n \"location\": \"outsource.html#inline_snapshot.external.__repr__\",\n- \"text\": \"<p>Returns the representation of the external object.</p> <p>The length of the hash can be specified in the config.</p> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __repr__(self):\\n \\\"\\\"\\\"Returns the representation of the external object.\\n\\n The length of the hash can be specified in the\\n [config](configuration.md).\\n \\\"\\\"\\\"\\n hash = self._hash[: _config.config.hash_length]\\n\\n if len(hash) == 64:\\n return f'external(\\\"{hash}{self._suffix}\\\")'\\n else:\\n return f'external(\\\"{hash}*{self._suffix}\\\")'\\n</code></pre>\",\n+ \"text\": \"<p>Returns the representation of the external object.</p> <p>The length of the hash can be specified in the config.</p> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_external.py</code> <pre><code>def __repr__(self):\\n \\\"\\\"\\\"Returns the representation of the external object.\\n\\n The length of the hash can be specified in the\\n [config](configuration.md).\\n \\\"\\\"\\\"\\n hash = self._hash[: _config.config.hash_length]\\n\\n if len(hash) == 64:\\n return f'external(\\\"{hash}{self._suffix}\\\")'\\n else:\\n return f'external(\\\"{hash}*{self._suffix}\\\")'\\n</code></pre>\",\n \"title\": \"<code>__repr__()</code>\"\n },\n {\n \"location\": \"outsource.html#pytest-options\",\n \"text\": \"<p>It interacts with the following <code>--inline-snapshot</code> flags:</p> <ul> <li><code>trim</code> removes every snapshots form the storage which is not referenced with <code>external(...)</code> in the code.</li> </ul>\",\n \"title\": \"pytest options\"\n },\n {\n \"location\": \"pytest.html\",\n \"text\": \"<p>inline-snapshot provides one pytest option with different flags (create, fix, trim, update, short-report, report, disable).</p> <p>Snapshot comparisons return always <code>True</code> if you use one of the flags create, fix or review. This is necessary because the whole test needs to be run to fix all snapshots like in this case:</p> <pre><code>from inline_snapshot import snapshot\\n\\n\\ndef test_something():\\n assert 1 == snapshot(5)\\n assert 2 <= snapshot(5)\\n</code></pre> <p>Note</p> <p>Every flag with the exception of disable and short-report disables the pytest assert-rewriting.</p>\",\n \"title\": \"pytest integration\"\n },\n {\n \"location\": \"pytest.html#-inline-snapshotcreatefixtrimupdate\",\n- \"text\": \"<p>Approve the changes of the given category. These flags can be combined with report and review.</p> test_something.py<pre><code>from inline_snapshot import snapshot\\n\\n\\ndef test_something():\\n assert 1 == snapshot()\\n assert 2 <= snapshot(5)\\n</code></pre> <pre><code>> pytest test_something.py --inline-snapshot=create,report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.GZGVqEVxWM\\nplugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\\ncollected 1 item\\n\\ntest_something.py . [100%]\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\nThese changes will be applied, because you used --inline-snapshot=create\\n\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot(1) |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=trim to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n\\n============================== 1 passed in 0.51s ===============================\\n</code></pre>\",\n+ \"text\": \"<p>Approve the changes of the given category. These flags can be combined with report and review.</p> test_something.py<pre><code>from inline_snapshot import snapshot\\n\\n\\ndef test_something():\\n assert 1 == snapshot()\\n assert 2 <= snapshot(5)\\n</code></pre> <pre><code>> pytest test_something.py --inline-snapshot=create,report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.lpRrqOmrhn\\nplugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\\ncollected 1 item\\n\\ntest_something.py . [100%]\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\nThese changes will be applied, because you used --inline-snapshot=create\\n\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot(1) |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=trim to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n\\n============================== 1 passed in 0.82s ===============================\\n</code></pre>\",\n \"title\": \"--inline-snapshot=create,fix,trim,update\"\n },\n {\n \"location\": \"pytest.html#-inline-snapshotshort-report\",\n- \"text\": \"<p>give a short report over which changes can be made to the snapshots</p> <pre><code>> pytest test_something.py --inline-snapshot=short-report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.GmIm9FDPUH\\nplugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\\ncollected 1 item\\n\\ntest_something.py .E [100%]\\n\\n==================================== ERRORS ====================================\\n_____________________ ERROR at teardown of test_something ______________________\\nyour snapshot is missing one value.\\n=============================== inline snapshot ================================\\nInfo: one snapshot can be trimmed (--inline-snapshot=trim)\\nError: one snapshot is missing a value (--inline-snapshot=create)\\n\\nYou can also use --inline-snapshot=review to approve the changes interactively\\n=========================== short test summary info ============================\\nERROR test_something.py::test_something - Failed: your snapshot is missing one value.\\n========================== 1 passed, 1 error in 0.46s ==========================\\n</code></pre> <p>Info</p> <p>short-report exists mainly to show that snapshots have changed with enabled pytest assert-rewriting. This option will be replaced with report when this restriction is lifted.</p>\",\n+ \"text\": \"<p>give a short report over which changes can be made to the snapshots</p> <pre><code>> pytest test_something.py --inline-snapshot=short-report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.STPxwcG61L\\nplugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\\ncollected 1 item\\n\\ntest_something.py .E [100%]\\n\\n==================================== ERRORS ====================================\\n_____________________ ERROR at teardown of test_something ______________________\\nyour snapshot is missing one value.\\n=============================== inline snapshot ================================\\nInfo: one snapshot can be trimmed (--inline-snapshot=trim)\\nError: one snapshot is missing a value (--inline-snapshot=create)\\n\\nYou can also use --inline-snapshot=review to approve the changes interactively\\n=========================== short test summary info ============================\\nERROR test_something.py::test_something - Failed: your snapshot is missing one value.\\n========================== 1 passed, 1 error in 0.80s ==========================\\n</code></pre> <p>Info</p> <p>short-report exists mainly to show that snapshots have changed with enabled pytest assert-rewriting. This option will be replaced with report when this restriction is lifted.</p>\",\n \"title\": \"--inline-snapshot=short-report\"\n },\n {\n \"location\": \"pytest.html#-inline-snapshotreport\",\n- \"text\": \"<p>Shows a diff report over which changes can be made to the snapshots</p> <pre><code>> pytest test_something.py --inline-snapshot=report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.siYONHxJ2N\\nplugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\\ncollected 1 item\\n\\ntest_something.py .E [100%]\\n\\n==================================== ERRORS ====================================\\n_____________________ ERROR at teardown of test_something ______________________\\nyour snapshot is missing one value.\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=create to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot() |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=trim to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n=========================== short test summary info ============================\\nERROR test_something.py::test_something - Failed: your snapshot is missing one value.\\n========================== 1 passed, 1 error in 0.46s ==========================\\n</code></pre>\",\n+ \"text\": \"<p>Shows a diff report over which changes can be made to the snapshots</p> <pre><code>> pytest test_something.py --inline-snapshot=report\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.m6vy7VYyQc\\nplugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\\ncollected 1 item\\n\\ntest_something.py .E [100%]\\n\\n==================================== ERRORS ====================================\\n_____________________ ERROR at teardown of test_something ______________________\\nyour snapshot is missing one value.\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=create to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot() |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\nThese changes are not applied.\\nUse --inline-snapshot=trim to apply them, or use the interactive mode with \\n--inline-snapshot=review\\n\\n=========================== short test summary info ============================\\nERROR test_something.py::test_something - Failed: your snapshot is missing one value.\\n========================== 1 passed, 1 error in 0.78s ==========================\\n</code></pre>\",\n \"title\": \"--inline-snapshot=report\"\n },\n {\n \"location\": \"pytest.html#-inline-snapshotreview\",\n- \"text\": \"<p>Shows a diff report for each category and ask if you want to apply the changes</p> <pre><code>> pytest test_something.py --inline-snapshot=review\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.pdpnCdJwR4\\nplugins: pytest_freezer-0.4.9, mock-3.14.0, hypothesis-6.124.0, typeguard-4.4.1, time-machine-2.16.0, inline-snapshot-0.19.3, subtests-0.13.1\\ncollected 1 item\\n\\ntest_something.py . [100%]\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\ndo you want to create these snapshots? [y/n] (n): \\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot(1) |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\ndo you want to trim these snapshots? [y/n] (n): \\n\\n============================== 1 passed in 0.49s ===============================\\n</code></pre>\",\n+ \"text\": \"<p>Shows a diff report for each category and ask if you want to apply the changes</p> <pre><code>> pytest test_something.py --inline-snapshot=review\\n============================= test session starts ==============================\\nplatform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0\\nrootdir: /tmp/tmp.LU2pcziyBH\\nplugins: subtests-0.13.1, typeguard-4.4.1, mock-3.14.0, inline-snapshot-0.19.3, hypothesis-6.124.0, time-machine-2.16.0, pytest_freezer-0.4.9\\ncollected 1 item\\n\\ntest_something.py . [100%]\\n=============================== inline snapshot ================================\\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Create snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -2,5 +2,5 @@ |\\n| |\\n| |\\n| |\\n| def test_something(): |\\n| - assert 1 == snapshot() |\\n| + assert 1 == snapshot(1) |\\n| assert 2 <= snapshot(5) |\\n+------------------------------------------------------------------------------+\\ndo you want to create these snapshots? [y/n] (n): \\n\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 Trim snapshots \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\n+----------------------------- test_something.py ------------------------------+\\n| @@ -3,4 +3,4 @@ |\\n| |\\n| |\\n| def test_something(): |\\n| assert 1 == snapshot(1) |\\n| - assert 2 <= snapshot(5) |\\n| + assert 2 <= snapshot(2) |\\n+------------------------------------------------------------------------------+\\ndo you want to trim these snapshots? [y/n] (n): \\n\\n============================== 1 passed in 0.82s ===============================\\n</code></pre>\",\n \"title\": \"--inline-snapshot=review\"\n },\n {\n \"location\": \"pytest.html#-inline-snapshotdisable\",\n \"text\": \"<p>Disables all the snapshot logic. <code>snapshot(x)</code> will just return <code>x</code>. This can be used if you think exclude that snapshot logic causes a problem in your tests, or if you want to speedup your CI.</p> <p>deprecation</p> <p>This option was previously called <code>--inline-snapshot-disable</code></p>\",\n \"title\": \"--inline-snapshot=disable\"\n },\n@@ -932,12 +932,12 @@\n {\n \"location\": \"types.html#inline_snapshot.Category\",\n \"text\": \"<p>See categories</p>\",\n \"title\": \"<code>Category = Literal['update', 'fix', 'create', 'trim']</code> <code>module-attribute</code>\"\n },\n {\n \"location\": \"types.html#inline_snapshot.Snapshot\",\n- \"text\": \"<p>Can be used to annotate function arguments which accept snapshot values.</p> <p>You can annotate function arguments with <code>Snapshot[T]</code> to declare that a snapshot-value can be passed as function argument. <code>Snapshot[T]</code> is a type alias for <code>T</code>, which allows you to pass <code>int</code> values instead of <code>int</code> snapshots.</p> <p>Example:</p> <pre><code>from typing import Optional\\nfrom inline_snapshot import snapshot, Snapshot\\n\\n# required snapshots\\n\\n\\ndef check_in_bounds(value, lower: Snapshot[int], upper: Snapshot[int]):\\n assert lower <= value <= upper\\n\\n\\ndef test_numbers():\\n for c in \\\"hello world\\\":\\n check_in_bounds(ord(c), snapshot(32), snapshot(119))\\n\\n # use with normal values\\n check_in_bounds(5, 0, 10)\\n\\n\\n# optional snapshots\\n\\n\\ndef check_container(\\n value,\\n *,\\n value_repr: Optional[Snapshot[str]] = None,\\n length: Optional[Snapshot[int]] = None\\n):\\n if value_repr is not None:\\n assert repr(value) == value_repr\\n\\n if length is not None:\\n assert len(value) == length\\n\\n\\ndef test_container():\\n check_container([1, 2], value_repr=snapshot(\\\"[1, 2]\\\"), length=snapshot(2))\\n\\n check_container({1, 1}, length=snapshot(1))\\n</code></pre> Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_types.py</code> <pre><code>class Snapshot(Generic[T]):\\n \\\"\\\"\\\"Can be used to annotate function arguments which accept snapshot\\n values.\\n\\n You can annotate function arguments with `Snapshot[T]` to declare that a snapshot-value can be passed as function argument.\\n `Snapshot[T]` is a type alias for `T`, which allows you to pass `int` values instead of `int` snapshots.\\n\\n\\n Example:\\n <!-- inline-snapshot: create fix trim first_block outcome-passed=2 -->\\n ``` python\\n from typing import Optional\\n from inline_snapshot import snapshot, Snapshot\\n\\n # required snapshots\\n\\n\\n def check_in_bounds(value, lower: Snapshot[int], upper: Snapshot[int]):\\n assert lower <= value <= upper\\n\\n\\n def test_numbers():\\n for c in \\\"hello world\\\":\\n check_in_bounds(ord(c), snapshot(32), snapshot(119))\\n\\n # use with normal values\\n check_in_bounds(5, 0, 10)\\n\\n\\n # optional snapshots\\n\\n\\n def check_container(\\n value,\\n *,\\n value_repr: Optional[Snapshot[str]] = None,\\n length: Optional[Snapshot[int]] = None\\n ):\\n if value_repr is not None:\\n assert repr(value) == value_repr\\n\\n if length is not None:\\n assert len(value) == length\\n\\n\\n def test_container():\\n check_container([1, 2], value_repr=snapshot(\\\"[1, 2]\\\"), length=snapshot(2))\\n\\n check_container({1, 1}, length=snapshot(1))\\n ```\\n \\\"\\\"\\\"\\n</code></pre>\",\n+ \"text\": \"<p>Can be used to annotate function arguments which accept snapshot values.</p> <p>You can annotate function arguments with <code>Snapshot[T]</code> to declare that a snapshot-value can be passed as function argument. <code>Snapshot[T]</code> is a type alias for <code>T</code>, which allows you to pass <code>int</code> values instead of <code>int</code> snapshots.</p> <p>Example:</p> <pre><code>from typing import Optional\\nfrom inline_snapshot import snapshot, Snapshot\\n\\n# required snapshots\\n\\n\\ndef check_in_bounds(value, lower: Snapshot[int], upper: Snapshot[int]):\\n assert lower <= value <= upper\\n\\n\\ndef test_numbers():\\n for c in \\\"hello world\\\":\\n check_in_bounds(ord(c), snapshot(32), snapshot(119))\\n\\n # use with normal values\\n check_in_bounds(5, 0, 10)\\n\\n\\n# optional snapshots\\n\\n\\ndef check_container(\\n value,\\n *,\\n value_repr: Optional[Snapshot[str]] = None,\\n length: Optional[Snapshot[int]] = None\\n):\\n if value_repr is not None:\\n assert repr(value) == value_repr\\n\\n if length is not None:\\n assert len(value) == length\\n\\n\\ndef test_container():\\n check_container([1, 2], value_repr=snapshot(\\\"[1, 2]\\\"), length=snapshot(2))\\n\\n check_container({1, 1}, length=snapshot(1))\\n</code></pre> Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_types.py</code> <pre><code>class Snapshot(Generic[T]):\\n \\\"\\\"\\\"Can be used to annotate function arguments which accept snapshot\\n values.\\n\\n You can annotate function arguments with `Snapshot[T]` to declare that a snapshot-value can be passed as function argument.\\n `Snapshot[T]` is a type alias for `T`, which allows you to pass `int` values instead of `int` snapshots.\\n\\n\\n Example:\\n <!-- inline-snapshot: create fix trim first_block outcome-passed=2 -->\\n ``` python\\n from typing import Optional\\n from inline_snapshot import snapshot, Snapshot\\n\\n # required snapshots\\n\\n\\n def check_in_bounds(value, lower: Snapshot[int], upper: Snapshot[int]):\\n assert lower <= value <= upper\\n\\n\\n def test_numbers():\\n for c in \\\"hello world\\\":\\n check_in_bounds(ord(c), snapshot(32), snapshot(119))\\n\\n # use with normal values\\n check_in_bounds(5, 0, 10)\\n\\n\\n # optional snapshots\\n\\n\\n def check_container(\\n value,\\n *,\\n value_repr: Optional[Snapshot[str]] = None,\\n length: Optional[Snapshot[int]] = None\\n ):\\n if value_repr is not None:\\n assert repr(value) == value_repr\\n\\n if length is not None:\\n assert len(value) == length\\n\\n\\n def test_container():\\n check_container([1, 2], value_repr=snapshot(\\\"[1, 2]\\\"), length=snapshot(2))\\n\\n check_container({1, 1}, length=snapshot(1))\\n ```\\n \\\"\\\"\\\"\\n</code></pre>\",\n \"title\": \"<code>Snapshot</code>\"\n }\n ]\n }\n"}]}, {"source1": "./usr/share/doc/python-inline-snapshot-doc/html/types.html", "source2": "./usr/share/doc/python-inline-snapshot-doc/html/types.html", "unified_diff": "@@ -1003,15 +1003,15 @@\n \n \n \n \n \n \n <details class=\"quote\">\n- <summary>Source code in <code>.pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/_types.py</code></summary>\n+ <summary>Source code in <code>.pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/_types.py</code></summary>\n <div class=\"highlight\"><table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre><span></span><span class=\"normal\"><a href=\"#__codelineno-0-21\">21</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-22\">22</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-23\">23</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-24\">24</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-25\">25</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-26\">26</a></span>\n <span class=\"normal\"><a href=\"#__codelineno-0-27\">27</a></span>\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -78,15 +78,15 @@\n assert len(value) == length\n \n \n def test_container():\n check_container([1, 2], value_repr=snapshot(\"[1, 2]\"), length=snapshot(2))\n \n check_container({1, 1}, length=snapshot(1))\n-Source code in .pybuild/cpython3_3.12_inline-snapshot/build/inline_snapshot/\n+Source code in .pybuild/cpython3_3.13_inline-snapshot/build/inline_snapshot/\n _types.py\n class Snapshot(Generic[T]):\n _\b2_\b1 \"\"\"Can be used to annotate function arguments which accept snapshot\n _\b2_\b2 values.\n _\b2_\b3\n _\b2_\b4 You can annotate function arguments with `Snapshot[T]` to declare that a\n _\b2_\b5 snapshot-value can be passed as function argument.\n"}]}]}]}]}]}