File tree Expand file tree Collapse file tree 5 files changed +59
-3
lines changed Expand file tree Collapse file tree 5 files changed +59
-3
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## 2.1.1
11+ - Fixed issue with options not propagating properly.
12+
1013## 2.1.0
1114
1215### Added
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ public function getTargetEncoding(): ?string
4949 */
5050 public function setTargetEncoding (string $ encoding ): void
5151 {
52- $ this ->targetEncoding = EncodingDTO::makeFromString ($ encoding );
52+ $ this ->targetEncoding = EncodingDTO::makeFromString ($ encoding, null , $ this -> options );
5353 }
5454
5555 public function getSourceEncoding (): ?string
@@ -66,7 +66,7 @@ public function getSourceEncoding(): ?string
6666 */
6767 public function setSourceEncoding (string $ encoding ): void
6868 {
69- $ this ->sourceEncoding = EncodingDTO::makeFromString ($ encoding );
69+ $ this ->sourceEncoding = EncodingDTO::makeFromString ($ encoding, null , $ this -> options );
7070 }
7171
7272 public function convert (): ConvertReadInterface
Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ class Options implements OptionsInterface
3030 */
3131 public function setDefaultTargetEncoding (string $ defaultTargetEncoding ): OptionsInterface
3232 {
33- $ this ->defaultTargetEncoding = EncodingDTO::makeFromString ($ defaultTargetEncoding );
33+ $ this ->defaultTargetEncoding = EncodingDTO::makeFromString ($ defaultTargetEncoding, null , $ this );
3434
3535 return $ this ;
3636 }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ declare (strict_types=1 );
4+
5+ namespace tests ;
6+
7+ use PHPUnit \Framework \TestCase ;
8+ use StringEncoder \Encoder ;
9+ use StringEncoder \Options ;
10+
11+ class EncoderOptionsTest extends TestCase
12+ {
13+ private $ encoder ;
14+
15+ public function setUp (): void
16+ {
17+ $ this ->encoder = new Encoder ();
18+ }
19+
20+ public function testSetSource ()
21+ {
22+ $ this ->encoder ->setOptions (
23+ (new Options ())
24+ ->setCaseSensitiveEncoding (false )
25+ );
26+ $ this ->encoder ->setSourceEncoding ('iso-8859-1 ' );
27+ $ this ->assertEquals ('ISO-8859-1 ' , $ this ->encoder ->getSourceEncoding ());
28+ }
29+
30+ public function testSetTarget ()
31+ {
32+ $ this ->encoder ->setOptions (
33+ (new Options ())
34+ ->setCaseSensitiveEncoding (false )
35+ );
36+ $ this ->encoder ->setTargetEncoding ('iso-8859-1 ' );
37+ $ this ->assertEquals ('ISO-8859-1 ' , $ this ->encoder ->getTargetEncoding ());
38+ }
39+ }
Original file line number Diff line number Diff line change @@ -35,6 +35,19 @@ public function testSetOptionsInEncoder()
3535 $ this ->assertNull ($ this ->encoder ->getTargetEncoding ());
3636 }
3737
38+ public function testSetDefaultTargetEncoding ()
39+ {
40+ $ this ->options ->setDefaultTargetEncoding ('ISO-8859-1 ' );
41+ $ this ->assertEquals ('ISO-8859-1 ' , $ this ->options ->getDefaultTargetEncoding ()->getEncoding ());
42+ }
43+
44+ public function testSetDefaultTargetOptionsEncoding ()
45+ {
46+ $ this ->options ->setCaseSensitiveEncoding (false );
47+ $ this ->options ->setDefaultTargetEncoding ('iso-8859-1 ' );
48+ $ this ->assertEquals ('ISO-8859-1 ' , $ this ->options ->getDefaultTargetEncoding ()->getEncoding ());
49+ }
50+
3851 public function testSetRemoveUTF8BOM ()
3952 {
4053 $ this ->options ->setRemoveUTF8BOM (true );
@@ -46,4 +59,5 @@ public function testSetCaseSensitiveEncoding()
4659 $ this ->options ->setCaseSensitiveEncoding (false );
4760 $ this ->assertFalse ($ this ->options ->isCaseSensitiveEncoding ());
4861 }
62+
4963}
You can’t perform that action at this time.
0 commit comments