Skip to content

Commit

Permalink
Merge pull request #50 from MindTouch/php5
Browse files Browse the repository at this point in the history
merge php5
  • Loading branch information
modethirteen authored Jan 19, 2019
2 parents c1798ab + c286cbb commit 96e8d43
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/XUri.php
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,17 @@ public function withQuery($query) {
return static::newFromUriData($data);
}

/**
* Return an instance without query string
*
* @return static
*/
public function withoutQuery() {
$data = $this->data;
$data['query'] = null;
return static::newFromUriData($data);
}

/**
* Return an instance with the specified query param appended
*
Expand Down
61 changes: 61 additions & 0 deletions tests/XUri/withoutQuery_Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
/**
* MindTouch HTTP
* Copyright (C) 2006-2018 MindTouch, Inc.
* www.mindtouch.com [email protected]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace MindTouch\Http\tests\XUri;

use MindTouch\Http\tests\MindTouchHttpUnitTestCase;
use MindTouch\Http\XUri;

class withoutQuery_Test extends MindTouchHttpUnitTestCase {

/**
* @test
*/
public function Can_add_query_parameter() {

// arrange
$uriStr = 'http://user:[email protected]/?a=b&c=d#fragment';

// act
$result = XUri::tryParse($uriStr)->withQueryParam('foo', 'bar')->withoutQuery();

// assert
$this->assertEquals('http://user:[email protected]/#fragment', $result);
}

/**
* @test
*/
public function Can_add_query_after_removing_it() {
$xuri = XUri::tryParse('http://test.mindtouch.dev/?mt-f1=true');
$result = $xuri->withoutQuery()->withQueryParam('mt-f1', 'true');
$this->assertEquals('http://test.mindtouch.dev/?mt-f1=true', $result->toString());
}

/**
* @test
*/
public function Can_return_extended_instance() {

// act
$result = TestXUri::tryParse('http://user:[email protected]:80/somepath?a=b&c=d&e=f#foo')->withoutQuery();

// assert
$this->assertInstanceOf('MindTouch\Http\tests\XUri\TestXUri', $result);
}
}

0 comments on commit 96e8d43

Please sign in to comment.