This commit is contained in:
bthomee
2025-11-13 03:45:48 -08:00
parent 8f13cb7002
commit 6ccc5de558
467 changed files with 23791 additions and 24029 deletions

View File

@@ -927,143 +927,140 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> </div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> {</div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <span class="comment">// a Env FeatureBitset has *only* those features</span></div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>(featureMultiSignReserve, featureFlow)};</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>{featureDynamicMPT | featureFlow}};</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> BEAST_EXPECT(env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == 2);</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> has =</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> (f == featureMultiSignReserve || f == featureFlow);</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> this-&gt;BEAST_EXPECT(has == hasFeature(env, f));</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> });</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> }</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> </div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> <span class="keyword">auto</span> <span class="keyword">const</span> missingSomeFeatures =</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>() - featureMultiSignReserve - featureFlow;</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> BEAST_EXPECT(missingSomeFeatures.count() == (supported.count() - 2));</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> {</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> <span class="comment">// a Env supported_features_except is missing *only* those features</span></div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, missingSomeFeatures};</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (supported.count() - 2));</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> <span class="keywordtype">bool</span> hasnot =</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> (f == featureMultiSignReserve || f == featureFlow);</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> this-&gt;BEAST_EXPECT(hasnot != hasFeature(env, f));</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> });</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> }</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> </div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> {</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> <span class="comment">// along with a list of explicit amendments</span></div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> <span class="comment">// the unsupported feature should be enabled along with</span></div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> <span class="comment">// the two supported ones</span></div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>(</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> featureMultiSignReserve, featureFlow, *neverSupportedFeat)};</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> </div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <span class="comment">// this app will have just 2 supported amendments and</span></div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> BEAST_EXPECT(env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (2 + 1));</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> </div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> <span class="keywordtype">bool</span> has = (f == featureMultiSignReserve || f == featureFlow);</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> this-&gt;BEAST_EXPECT(has == hasFeature(env, f));</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> });</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> }</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> </div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> {</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> <span class="comment">// and omit a few standard amendments</span></div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> <span class="comment">// the unsupported features should be enabled</span></div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> missingSomeFeatures | <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>{*neverSupportedFeat}};</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> </div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="comment">// this app will have all supported amendments minus 2 and then the</span></div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() ==</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> (supported.count() - 2 + 1));</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <span class="keywordtype">bool</span> hasnot =</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> (f == featureMultiSignReserve || f == featureFlow);</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> this-&gt;BEAST_EXPECT(hasnot != hasFeature(env, f));</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> });</div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> }</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> </div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> {</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> <span class="comment">// along with all supported amendments</span></div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> <span class="comment">// the unsupported features should be enabled</span></div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>().<a class="code hl_function" href="classripple_1_1FeatureBitset.html#ad40989d282fa5a30c5d17fbbbc62f2fa">set</a>(*neverSupportedFeat)};</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> </div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> <span class="comment">// this app will have all supported amendments and then the</span></div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (supported.count() + 1));</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> this-&gt;BEAST_EXPECT(hasFeature(env, f));</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> });</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> }</div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> }</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> has = (f == featureDynamicMPT || f == featureFlow);</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> this-&gt;BEAST_EXPECT(has == hasFeature(env, f));</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> });</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> }</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> </div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> <span class="keyword">auto</span> <span class="keyword">const</span> missingSomeFeatures =</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>() - featureDynamicMPT - featureFlow;</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> BEAST_EXPECT(missingSomeFeatures.count() == (supported.count() - 2));</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> {</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> <span class="comment">// a Env supported_features_except is missing *only* those features</span></div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, missingSomeFeatures};</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (supported.count() - 2));</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> <span class="keywordtype">bool</span> hasnot = (f == featureDynamicMPT || f == featureFlow);</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> this-&gt;BEAST_EXPECT(hasnot != hasFeature(env, f));</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> });</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> }</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> </div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> {</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> <span class="comment">// along with a list of explicit amendments</span></div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> <span class="comment">// the unsupported feature should be enabled along with</span></div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> <span class="comment">// the two supported ones</span></div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>{</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> featureDynamicMPT, featureFlow, *neverSupportedFeat}};</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> </div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> <span class="comment">// this app will have just 2 supported amendments and</span></div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> BEAST_EXPECT(env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (2 + 1));</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> </div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> <span class="keywordtype">bool</span> has = (f == featureDynamicMPT || f == featureFlow);</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> this-&gt;BEAST_EXPECT(has == hasFeature(env, f));</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> });</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> }</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> </div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> {</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> <span class="comment">// and omit a few standard amendments</span></div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> <span class="comment">// the unsupported features should be enabled</span></div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> missingSomeFeatures | <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a>{*neverSupportedFeat}};</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> </div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// this app will have all supported amendments minus 2 and then the</span></div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() ==</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> (supported.count() - 2 + 1));</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <span class="keywordtype">bool</span> hasnot = (f == featureDynamicMPT || f == featureFlow);</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> this-&gt;BEAST_EXPECT(hasnot != hasFeature(env, f));</div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> });</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> }</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> </div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> {</div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="comment">// add a feature that is NOT in the supported amendments list</span></div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="comment">// along with all supported amendments</span></div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> <span class="comment">// the unsupported features should be enabled</span></div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>().<a class="code hl_function" href="classripple_1_1FeatureBitset.html#ad40989d282fa5a30c5d17fbbbc62f2fa">set</a>(*neverSupportedFeat)};</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> </div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> <span class="comment">// this app will have all supported amendments and then the</span></div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <span class="comment">// one additional never supported feature flag</span></div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> BEAST_EXPECT(</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.size() == (supported.count() + 1));</div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));</div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> <a class="code hl_function" href="namespaceripple.html#ab8fff823cb47f139e7735bc8a65082eb">foreachFeature</a>(supported, [&amp;](<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; f) {</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> this-&gt;BEAST_EXPECT(hasFeature(env, f));</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> });</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> }</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> }</div>
</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> </div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00885" data-start="{" data-end="}">
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923"> 885</a></span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">testExceptionalShutdown</a>()</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> {</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> <a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#adcc8cb5a0237760a7555c80c5bcef563">except</a>([<span class="keyword">this</span>] {</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">jtx::Env</a> env{</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">jtx::envconfig</a>([](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Config&gt;</a> cfg) {</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> (*cfg).deprecatedClearSection(<span class="stringliteral">&quot;port_rpc&quot;</span>);</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <span class="keywordflow">return</span> cfg;</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> }),</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> });</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#a5c723fb774d3c25ba877c5b9ce681d6f">pass</a>();</div>
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> }</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> </div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00882" data-start="{" data-end="}">
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923"> 882</a></span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">testExceptionalShutdown</a>()</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> {</div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#adcc8cb5a0237760a7555c80c5bcef563">except</a>([<span class="keyword">this</span>] {</div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">jtx::Env</a> env{</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> *<span class="keyword">this</span>,</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">jtx::envconfig</a>([](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;Config&gt;</a> cfg) {</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> (*cfg).deprecatedClearSection(<span class="stringliteral">&quot;port_rpc&quot;</span>);</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> <span class="keywordflow">return</span> cfg;</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> }),</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> <span class="keyword">nullptr</span>,</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> });</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> <a class="code hl_function" href="classbeast_1_1unit__test_1_1suite.html#a5c723fb774d3c25ba877c5b9ce681d6f">pass</a>();</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> }</div>
</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> </div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00901" data-start="{" data-end="}">
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356"> 901</a></span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ac0f8ee45d736a3d153fcb0ebd736ad01">testAccount</a>();</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a4593e2ad58d041d2e1f876cbc683fb30">testAmount</a>();</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a1238ef48d7dbafb6ac5b7539023e3ce5">testEnv</a>();</div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a146d837dddfa7ddea2071cc55adfee80">testRequire</a>();</div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a0f7f78da91159990cac7db15048cbf70">testKeyType</a>();</div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#abe57bbf942c8fec4da6d0309267c7477">testPayments</a>();</div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a2226c904cff76b2636c52761a0763291">testFailHard</a>();</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a862d9ef03522e52ac95e2e7c79d64b19">testMultiSign</a>();</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a205495c8893a4272ac0a38cf9ea6925a">testTicket</a>();</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a8ed91ce291dad033f4e10ede6cb0cbbf">testJTxProperties</a>();</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aef97756d513074a11a2facc7d27fcf95">testProp</a>();</div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aa8581e2852e87a1217586ff95a0bc8b0">testJTxCopy</a>();</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a0841c7aa5938091110243d1ae250be70">testJTxMove</a>();</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#abb36541b703b88001b56649749a11a04">testMemo</a>();</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a69a0aecc2d3787197b81eb13856fb21b">testMemoResult</a>();</div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a320f88955e40ea13daf99d7afe3d816e">testAdvance</a>();</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#af69c06a5fb546cbd1a76d87261cbd8fb">testClose</a>();</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ac1959a398ae0e458fca2aa4fabadf047">testPath</a>();</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aacf567c64bfd291c6ed150517b2a3034">testResignSigned</a>();</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a9a34a64d5ad1b5d1cebc3501df3696a8">testSignAndSubmit</a>();</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a865d4d4cd1643bcef728984cded58dfd">testFeatures</a>();</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">testExceptionalShutdown</a>();</div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> }</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> </div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00898" data-start="{" data-end="}">
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356"> 898</a></span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ac0f8ee45d736a3d153fcb0ebd736ad01">testAccount</a>();</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a4593e2ad58d041d2e1f876cbc683fb30">testAmount</a>();</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a1238ef48d7dbafb6ac5b7539023e3ce5">testEnv</a>();</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a146d837dddfa7ddea2071cc55adfee80">testRequire</a>();</div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a0f7f78da91159990cac7db15048cbf70">testKeyType</a>();</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#abe57bbf942c8fec4da6d0309267c7477">testPayments</a>();</div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a2226c904cff76b2636c52761a0763291">testFailHard</a>();</div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a862d9ef03522e52ac95e2e7c79d64b19">testMultiSign</a>();</div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a205495c8893a4272ac0a38cf9ea6925a">testTicket</a>();</div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a8ed91ce291dad033f4e10ede6cb0cbbf">testJTxProperties</a>();</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aef97756d513074a11a2facc7d27fcf95">testProp</a>();</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aa8581e2852e87a1217586ff95a0bc8b0">testJTxCopy</a>();</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a0841c7aa5938091110243d1ae250be70">testJTxMove</a>();</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#abb36541b703b88001b56649749a11a04">testMemo</a>();</div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a69a0aecc2d3787197b81eb13856fb21b">testMemoResult</a>();</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a320f88955e40ea13daf99d7afe3d816e">testAdvance</a>();</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#af69c06a5fb546cbd1a76d87261cbd8fb">testClose</a>();</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ac1959a398ae0e458fca2aa4fabadf047">testPath</a>();</div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#aacf567c64bfd291c6ed150517b2a3034">testResignSigned</a>();</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a9a34a64d5ad1b5d1cebc3501df3696a8">testSignAndSubmit</a>();</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#a865d4d4cd1643bcef728984cded58dfd">testFeatures</a>();</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <a class="code hl_function" href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">testExceptionalShutdown</a>();</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> }</div>
</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span>};</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span>};</div>
</div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> </div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a320d6daabdca1fd0b7e188d8da2f0565"> 928</a></span>BEAST_DEFINE_TESTSUITE(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a>, jtx, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> </div>
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span>} <span class="comment">// namespace ripple</span></div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> </div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a320d6daabdca1fd0b7e188d8da2f0565"> 925</a></span>BEAST_DEFINE_TESTSUITE(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a>, jtx, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> </div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span>} <span class="comment">// namespace ripple</span></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8h_source.html#l00130">json_value.h:131</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition</b> <a href="suite_8h_source.html#l00051">suite.h:52</a></div></div>
@@ -1105,9 +1102,9 @@ $(document).ready(function() { init_codefold(0); });
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_abe57bbf942c8fec4da6d0309267c7477"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#abe57bbf942c8fec4da6d0309267c7477">ripple::test::Env_test::testPayments</a></div><div class="ttdeci">void testPayments()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00285">Env_test.cpp:285</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_ac0f8ee45d736a3d153fcb0ebd736ad01"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#ac0f8ee45d736a3d153fcb0ebd736ad01">ripple::test::Env_test::testAccount</a></div><div class="ttdeci">void testAccount()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00032">Env_test.cpp:32</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_ac1959a398ae0e458fca2aa4fabadf047"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#ac1959a398ae0e458fca2aa4fabadf047">ripple::test::Env_test::testPath</a></div><div class="ttdeci">void testPath()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00660">Env_test.cpp:660</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_ad37638ec774beacaaadbe2aa60eb4923"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">ripple::test::Env_test::testExceptionalShutdown</a></div><div class="ttdeci">void testExceptionalShutdown()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00885">Env_test.cpp:885</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_ad37638ec774beacaaadbe2aa60eb4923"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#ad37638ec774beacaaadbe2aa60eb4923">ripple::test::Env_test::testExceptionalShutdown</a></div><div class="ttdeci">void testExceptionalShutdown()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00882">Env_test.cpp:882</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_aef97756d513074a11a2facc7d27fcf95"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#aef97756d513074a11a2facc7d27fcf95">ripple::test::Env_test::testProp</a></div><div class="ttdeci">void testProp()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00524">Env_test.cpp:524</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_af34b7f4131ad17aec9b39897524ff356"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356">ripple::test::Env_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00901">Env_test.cpp:901</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_af34b7f4131ad17aec9b39897524ff356"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#af34b7f4131ad17aec9b39897524ff356">ripple::test::Env_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00898">Env_test.cpp:898</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Env__test_html_af69c06a5fb546cbd1a76d87261cbd8fb"><div class="ttname"><a href="classripple_1_1test_1_1Env__test.html#af69c06a5fb546cbd1a76d87261cbd8fb">ripple::test::Env_test::testClose</a></div><div class="ttdeci">void testClose()</div><div class="ttdef"><b>Definition</b> <a href="Env__test_8cpp_source.html#l00644">Env_test.cpp:644</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html">ripple::test::jtx::Account</a></div><div class="ttdoc">Immutable cryptographic account descriptor.</div><div class="ttdef"><b>Definition</b> <a href="Account_8h_source.html#l00019">Account.h:20</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env__ss_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env__ss.html">ripple::test::jtx::Env_ss</a></div><div class="ttdoc">A transaction testing environment wrapper.</div><div class="ttdef"><b>Definition</b> <a href="Env__ss_8h_source.html#l00014">Env_ss.h:15</a></div></div>