From 347747f72026e16bc84620e57ef50423db08bb1f Mon Sep 17 00:00:00 2001 From: azjezz Date: Fri, 5 Mar 2021 14:20:45 +0100 Subject: [PATCH] [Html] Introduce HTML component --- src/Psl/Html/decode.php | 28 +++++++++++++++ src/Psl/Html/decode_special_characters.php | 21 ++++++++++++ src/Psl/Html/encode.php | 30 ++++++++++++++++ src/Psl/Html/encode_special_characters.php | 32 +++++++++++++++++ src/Psl/Internal/Loader.php | 4 +++ .../Psl/Html/DecodeSpecialCharactersTest.php | 34 +++++++++++++++++++ tests/Psl/Html/DecodeTest.php | 34 +++++++++++++++++++ .../Psl/Html/EncodeSpecialCharactersTest.php | 34 +++++++++++++++++++ tests/Psl/Html/EncodeTest.php | 34 +++++++++++++++++++ 9 files changed, 251 insertions(+) create mode 100644 src/Psl/Html/decode.php create mode 100644 src/Psl/Html/decode_special_characters.php create mode 100644 src/Psl/Html/encode.php create mode 100644 src/Psl/Html/encode_special_characters.php create mode 100644 tests/Psl/Html/DecodeSpecialCharactersTest.php create mode 100644 tests/Psl/Html/DecodeTest.php create mode 100644 tests/Psl/Html/EncodeSpecialCharactersTest.php create mode 100644 tests/Psl/Html/EncodeTest.php diff --git a/src/Psl/Html/decode.php b/src/Psl/Html/decode.php new file mode 100644 index 00000000..6265a8e1 --- /dev/null +++ b/src/Psl/Html/decode.php @@ -0,0 +1,28 @@ +', '<hello />']; + yield ['

Hello

', '<p>Hello</p>']; + yield ['

<

', '<p>&lt; </p>']; + + yield ['hello', 'hello']; + yield ['héllo', 'héllo']; + yield ['', '<hello />']; + yield ['

Hello

', '<p>Hello</p>']; + yield ['

<

', '<p>< </p>']; + } +} diff --git a/tests/Psl/Html/DecodeTest.php b/tests/Psl/Html/DecodeTest.php new file mode 100644 index 00000000..8b56fe52 --- /dev/null +++ b/tests/Psl/Html/DecodeTest.php @@ -0,0 +1,34 @@ +', '<hello />', 'UTF-8']; + yield ['

Hello

', '<p>Hello</p>', 'UTF-8']; + yield ['

<

', '<p>&lt; </p>', 'UTF-8']; + + yield ['hello', 'hello', 'UTF-8']; + yield ['héllo', 'héllo', 'UTF-8']; + yield ['', '<hello />', 'UTF-8']; + yield ['

Hello

', '<p>Hello</p>', 'UTF-8']; + yield ['

<

', '<p>< </p>', 'UTF-8']; + } +} diff --git a/tests/Psl/Html/EncodeSpecialCharactersTest.php b/tests/Psl/Html/EncodeSpecialCharactersTest.php new file mode 100644 index 00000000..17c5b730 --- /dev/null +++ b/tests/Psl/Html/EncodeSpecialCharactersTest.php @@ -0,0 +1,34 @@ +', true, 'UTF-8']; + yield ['<p>Hello</p>', '

Hello

', true, 'UTF-8']; + yield ['<p>&lt; </p>', '

<

', true, 'UTF-8']; + + yield ['hello', 'hello', false, 'UTF-8']; + yield ['héllo', 'héllo', false, 'UTF-8']; + yield ['<hello />', '', false, 'UTF-8']; + yield ['<p>Hello</p>', '

Hello

', false, 'UTF-8']; + yield ['<p>< </p>', '

<

', false, 'UTF-8']; + } +} diff --git a/tests/Psl/Html/EncodeTest.php b/tests/Psl/Html/EncodeTest.php new file mode 100644 index 00000000..a3d45296 --- /dev/null +++ b/tests/Psl/Html/EncodeTest.php @@ -0,0 +1,34 @@ +', true, 'UTF-8']; + yield ['<p>Hello</p>', '

Hello

', true, 'UTF-8']; + yield ['<p>&lt; </p>', '

<

', true, 'UTF-8']; + + yield ['hello', 'hello', false, 'UTF-8']; + yield ['héllo', 'héllo', false, 'UTF-8']; + yield ['<hello />', '', false, 'UTF-8']; + yield ['<p>Hello</p>', '

Hello

', false, 'UTF-8']; + yield ['<p>< </p>', '

<

', false, 'UTF-8']; + } +}