Path: blob/master/src/applications/diffusion/protocol/__tests__/DiffusionMercurialWireProtocolTests.php
12242 views
<?php12final class DiffusionMercurialWireProtocolTests extends PhabricatorTestCase {34public function testFilteringBundle2Capability() {5// this was the result of running 'capabilities' over6// `hg serve --stdio` on my systems with Mercurial 3.5.1, 2.6.278$capabilities_with_bundle2_hg_351 =9'lookup changegroupsubset branchmap pushkey '.10'known getbundle unbundlehash batch stream '.11'bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512'.12'%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A'.13'hgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps '.14'unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024';1516$capabilities_without_bundle2_hg_351 =17'lookup changegroupsubset branchmap pushkey '.18'known getbundle unbundlehash batch stream '.19'unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024';2021$capabilities_hg_262 =22'lookup changegroupsubset branchmap pushkey '.23'known getbundle unbundlehash batch stream '.24'unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 largefiles=serve';2526$cases = array(27array(28'name' => pht('Filter bundle2 from Mercurial 3.5.1'),29'input' => $capabilities_with_bundle2_hg_351,30'expect' => $capabilities_without_bundle2_hg_351,31),3233array(34'name' => pht('Filter bundle does not affect Mercurial 2.6.2'),35'input' => $capabilities_hg_262,36'expect' => $capabilities_hg_262,37),38);3940foreach ($cases as $case) {41$actual = DiffusionMercurialWireProtocol::filterBundle2Capability(42$case['input']);43$this->assertEqual($case['expect'], $actual, $case['name']);44}45}4647}484950