fix
Showing
2 changed files
with
19 additions
and
3 deletions
| ... | @@ -194,7 +194,7 @@ class FlagManager { | ... | @@ -194,7 +194,7 @@ class FlagManager { |
| 194 | if(!$flags) return []; | 194 | if(!$flags) return []; |
| 195 | $filteredFlags = array_values(array_filter($flags, function($f) use ($flag, $encrypted){ | 195 | $filteredFlags = array_values(array_filter($flags, function($f) use ($flag, $encrypted){ |
| 196 | if(isset($f['both_usable']) && $f['both_usable']) return $f['encrypted_name'] == $flag || $f['name'] == $flag; | 196 | if(isset($f['both_usable']) && $f['both_usable']) return $f['encrypted_name'] == $flag || $f['name'] == $flag; |
| 197 | return (($encrypted && $f['encrypted_name'] == $flag) || (!$encrypted && $f['name']) == $flag); | 197 | return (($encrypted && $f['encrypted_name'] == $flag) || (!$encrypted && $f['name'] == $flag)); |
| 198 | })); | 198 | })); |
| 199 | return count($filteredFlags) ? $filteredFlags[0] : null; | 199 | return count($filteredFlags) ? $filteredFlags[0] : null; |
| 200 | } | 200 | } | ... | ... |
| ... | @@ -7,6 +7,22 @@ final class FlagsTest extends TestCase | ... | @@ -7,6 +7,22 @@ final class FlagsTest extends TestCase |
| 7 | protected function setUp(){ | 7 | protected function setUp(){ |
| 8 | $this->flags = [ | 8 | $this->flags = [ |
| 9 | [ | 9 | [ |
| 10 | "name" => "source", | ||
| 11 | "is_encrypted" => false, | ||
| 12 | "is_filtered" => false, | ||
| 13 | "encrypted_name" => "ecruos", | ||
| 14 | "accepted_values" => [ | ||
| 15 | [ | ||
| 16 | "value" => null, | ||
| 17 | "encrypted_value" => null | ||
| 18 | ] | ||
| 19 | ], | ||
| 20 | "combined_values" => "", | ||
| 21 | "has_default" => true, | ||
| 22 | "default" => "n/a", | ||
| 23 | "both_usable" => true, | ||
| 24 | ], | ||
| 25 | [ | ||
| 10 | "name" => "mode", | 26 | "name" => "mode", |
| 11 | "is_encrypted" => false, | 27 | "is_encrypted" => false, |
| 12 | "is_filtered" => false, | 28 | "is_filtered" => false, |
| ... | @@ -30,13 +46,13 @@ final class FlagsTest extends TestCase | ... | @@ -30,13 +46,13 @@ final class FlagsTest extends TestCase |
| 30 | } | 46 | } |
| 31 | 47 | ||
| 32 | public function testGetFlags(){ | 48 | public function testGetFlags(){ |
| 33 | $flag = '15D61712450A686A7F365ADF4FEF581F'; | 49 | $flag = 'mode'; |
| 34 | $encrypted = false; | 50 | $encrypted = false; |
| 35 | $flags = $this->flags; | 51 | $flags = $this->flags; |
| 36 | if(!$flags) return []; | 52 | if(!$flags) return []; |
| 37 | $filteredFlags = array_values(array_filter($flags, function($f) use ($flag, $encrypted){ | 53 | $filteredFlags = array_values(array_filter($flags, function($f) use ($flag, $encrypted){ |
| 38 | if(isset($f['both_usable']) && $f['both_usable']) return $f['encrypted_name'] == $flag || $f['name'] == $flag; | 54 | if(isset($f['both_usable']) && $f['both_usable']) return $f['encrypted_name'] == $flag || $f['name'] == $flag; |
| 39 | return (($encrypted && $f['encrypted_name'] == $flag) || (!$encrypted && $f['name']) == $flag); | 55 | return (($encrypted && $f['encrypted_name'] == $flag) || (!$encrypted && $f['name'] == $flag)); |
| 40 | })); | 56 | })); |
| 41 | $foundFlag = count($filteredFlags) ? $filteredFlags[0] : null; | 57 | $foundFlag = count($filteredFlags) ? $filteredFlags[0] : null; |
| 42 | 58 | ... | ... |
-
Please register or sign in to post a comment