Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
selul committed Apr 10, 2024
1 parent 1f7c32d commit 4a243ec
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 16 deletions.
2 changes: 1 addition & 1 deletion load.php
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ function tsdk_translate_link(
$parsed_url = wp_parse_url( $url );
// we replace the domain here based on the localized one.
if ( $type === 'domain' ) {
return $parsed_url['scheme'] . '://' . $code . $parsed_url['path'] . ( isset( $parsed_url['query'] ) ? '?' . $parsed_url['query'] : '' ) . ( isset( $parsed_url['fragment'] ) ? '#' . $parsed_url['fragment'] : '' );
return $parsed_url['scheme'] . '://' . $code . ( isset( $parsed_url['path'] ) ? $parsed_url['path'] : '' ) . ( isset( $parsed_url['query'] ) ? '?' . $parsed_url['query'] : '' ) . ( isset( $parsed_url['fragment'] ) ? '#' . $parsed_url['fragment'] : '' );
}
// default is the path based approach.
$new_path = isset( $parsed_url['path'] ) ? "/$code" . $parsed_url['path'] : "/$code";
Expand Down
42 changes: 27 additions & 15 deletions tests/translate-link-test.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,49 @@
class Translate_Link extends WP_UnitTestCase {

public function test_default_path() {
add_filter( 'locale', function () {
return 'de_DE';
} );
add_filter(
'locale',
function () {
return 'de_DE';
}
);
$url = 'https://example.com';
$this->assertEquals( $url . '/de', tsdk_translate_link( $url ) );
$url = 'https://example.com/some/path';
$this->assertEquals( $url . '/de', tsdk_translate_link( $url ) );
$this->assertEquals( 'https://example.com/de/some/path', tsdk_translate_link( $url ) );
$url = 'https://example.com/some/path/';
$this->assertEquals( $url . 'de/', tsdk_translate_link( $url ) );
$this->assertEquals( 'https://example.com/de/some/path/', tsdk_translate_link( $url ) );
}

public function test_query() {
add_filter( 'locale', function () {
return 'de_DE';
} );
add_filter(
'locale',
function () {
return 'de_DE';
}
);
$url = 'https://example.com';
$this->assertEquals( 'https://example.com/?lang=de', tsdk_translate_link( $url, 'query' ) );
$this->assertEquals( 'https://example.com?lang=de', tsdk_translate_link( $url, 'query' ) );
}

public function test_domain() {
add_filter( 'locale', function () {
return 'de_DE';
} );
add_filter(
'locale',
function () {
return 'de_DE';
}
);
$url = 'https://example.com';
$this->assertEquals( 'https://optimole.de', tsdk_translate_link( $url, 'domain', [ 'de_DE' => 'optimole.de' ] ) );
}

public function test_non_existent() {
add_filter( 'locale', function () {
return 'da_DK';
} );
add_filter(
'locale',
function () {
return 'da_DK';
}
);
$url = 'https://example.com';
$this->assertEquals( 'https://example.com', tsdk_translate_link( $url ) );
}
Expand Down

0 comments on commit 4a243ec

Please sign in to comment.