Squashed commit of the following: commit 070f46bbacd91855730d467cc2806183441791ae Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Sep 4 18:06:04 2017 +0100 Now we now how the laravel IoC conatiner works, no need to be newing class dependencies commit 57eeacdef178532a681f774f8c6738950d40c964 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Sep 4 17:59:28 2017 +0100 Get json test working again commit 81c3cfc9b432241d8a4df7f1e0511a50ea4f9b90 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Sep 4 14:38:10 2017 +0100 Can’t use RefreshDatabase yet commit 4ba5ff724d50ca86b3fa90c7bb4e71ad9e4dad79 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Sep 4 14:10:33 2017 +0100 Initial attempt at updating to Laravel 5.5
67 lines
2.2 KiB
PHP
67 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use Tests\TestCase;
|
|
|
|
class HelpersTest extends TestCase
|
|
{
|
|
public function test_normalize_url_is_idempotent()
|
|
{
|
|
$input = 'http://example.org:80/index.php?foo=bar&baz=1';
|
|
$this->assertEquals(normalize_url(normalize_url($input)), normalize_url($input));
|
|
}
|
|
|
|
/**
|
|
* @dataProvider urlProvider
|
|
*/
|
|
public function test_normalize_url($input, $output)
|
|
{
|
|
$this->assertEquals($output, normalize_url($input));
|
|
}
|
|
|
|
public function urlProvider()
|
|
{
|
|
return [
|
|
['https://example.org/', 'https://example.org'],
|
|
['https://example.org:443/', 'https://example.org'],
|
|
['http://www.foo.bar/index.php/', 'http://www.foo.bar'],
|
|
['https://example.org/?foo=bar&baz=true', 'https://example.org?baz=true&foo=bar'],
|
|
];
|
|
}
|
|
|
|
public function test_pretty_print_json()
|
|
{
|
|
$json = <<<JSON
|
|
{"glossary": {"title": "example glossary", "GlossDiv": {"title": "S", "GlossList": {"GlossEntry": {"ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": {"para": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML"]}, "GlossSee": "markup"}}}}}
|
|
JSON;
|
|
$expected = <<<EXPECTED
|
|
{
|
|
"glossary": {
|
|
"title": "example glossary",
|
|
"GlossDiv": {
|
|
"title": "S",
|
|
"GlossList": {
|
|
"GlossEntry": {
|
|
"ID": "SGML",
|
|
"SortAs": "SGML",
|
|
"GlossTerm": "Standard Generalized Markup Language",
|
|
"Acronym": "SGML",
|
|
"Abbrev": "ISO 8879:1986",
|
|
"GlossDef": {
|
|
"para": "A meta-markup language, used to create markup languages such as DocBook.",
|
|
"GlossSeeAlso": [
|
|
"GML",
|
|
"XML"
|
|
]
|
|
},
|
|
"GlossSee": "markup"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
EXPECTED;
|
|
$this->assertEquals($expected, prettyPrintJson($json));
|
|
}
|
|
}
|