Skip to content

Commit dc2e025

Browse files
authored
Merge pull request #149 from lemmon/strings-update
Update strings for PHP and JavaScript
2 parents 2d119af + a299614 commit dc2e025

File tree

10 files changed

+46
-38
lines changed

10 files changed

+46
-38
lines changed

src/Languages/JavaScript/Patterns/JsDoubleQuoteValuePattern.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111

1212
#[PatternTest(
1313
input: 'return "hello"',
14-
output: 'hello',
14+
output: '"hello"',
1515
)]
1616
final readonly class JsDoubleQuoteValuePattern implements Pattern
1717
{
1818
use IsPattern;
1919

2020
public function getPattern(): string
2121
{
22-
return '"(?<match>.*?)"';
22+
return '(?<match>"(\\\"|.)*?")';
2323
}
2424

2525
public function getTokenType(): TokenTypeEnum

src/Languages/JavaScript/Patterns/JsSingleQuoteValuePattern.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111

1212
#[PatternTest(
1313
input: "return 'hello';",
14-
output: 'hello',
14+
output: "'hello'",
1515
)]
1616
final readonly class JsSingleQuoteValuePattern implements Pattern
1717
{
1818
use IsPattern;
1919

2020
public function getPattern(): string
2121
{
22-
return "'(?<match>.*?)'";
22+
return "(?<match>'(\\\'|.)*?')";
2323
}
2424

2525
public function getTokenType(): TokenTypeEnum

src/Languages/Php/Patterns/DoubleQuoteValuePattern.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111

1212
#[PatternTest(
1313
input: 'return "hello"',
14-
output: 'hello',
14+
output: '"hello"',
1515
)]
1616
final readonly class DoubleQuoteValuePattern implements Pattern
1717
{
1818
use IsPattern;
1919

2020
public function getPattern(): string
2121
{
22-
return '"(?<match>.*?)"';
22+
return '(?<match>"(\\\"|.)*?")';
2323
}
2424

2525
public function getTokenType(): TokenTypeEnum

src/Languages/Php/Patterns/SingleQuoteValuePattern.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,23 @@
1111

1212
#[PatternTest(
1313
input: "return 'hello';",
14-
output: 'hello',
14+
output: "'hello'",
15+
)]
16+
#[PatternTest(
17+
input: "echo 'Yo\\';",
18+
output: "'Yo\\'",
19+
)]
20+
#[PatternTest(
21+
input: "echo 'Very \'long\'\\\'annoying\' string';",
22+
output: "'Very \'long\'\\\'annoying\' string'",
1523
)]
1624
final readonly class SingleQuoteValuePattern implements Pattern
1725
{
1826
use IsPattern;
1927

2028
public function getPattern(): string
2129
{
22-
return "'(?<match>.*?)'";
30+
return "(?<match>'(\\\'|.)*?')";
2331
}
2432

2533
public function getTokenType(): TokenTypeEnum

tests/Languages/Base/Injections/GutterInjectionTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ public function test_gutter_injection(): void
3535
<span class="hl-gutter"> 10</span><span class="hl-keyword">foreach</span> (<span class="hl-variable">$lines</span> <span class="hl-keyword">as</span> <span class="hl-variable">$i</span> =&gt; <span class="hl-variable">$line</span>) {
3636
<span class="hl-gutter"> 11</span> <span class="hl-variable">$gutterNumber</span> = <span class="hl-variable">$gutterNumbers</span>[<span class="hl-variable">$i</span>];
3737
<span class="hl-gutter"> 12</span>
38-
<span class="hl-gutter"> 13</span> <span class="hl-variable">$gutterClass</span> = '<span class="hl-value">hl-gutter </span>' . (<span class="hl-variable">$this</span>-&gt;<span class="hl-property">classes</span>[<span class="hl-variable">$i</span> + 1] ?? '<span class="hl-value"></span>');
38+
<span class="hl-gutter"> 13</span> <span class="hl-variable">$gutterClass</span> = <span class="hl-value">'hl-gutter '</span> . (<span class="hl-variable">$this</span>-&gt;<span class="hl-property">classes</span>[<span class="hl-variable">$i</span> + 1] ?? <span class="hl-value">''</span>);
3939
<span class="hl-gutter hl-gutter-addition">14 +</span><span class="hl-addition"></span>
4040
<span class="hl-gutter hl-gutter-addition">15 +</span><span class="hl-addition"> <span class="hl-variable">$lines</span>[<span class="hl-variable">$i</span>] = <span class="hl-property">sprintf</span>(</span>
41-
<span class="hl-gutter hl-gutter-addition">16 +</span><span class="hl-addition"> <span class="hl-type">Escape</span>::<span class="hl-property">tokens</span>('<span class="hl-value">&lt;span class=&quot;%s&quot;&gt;%s&lt;/span&gt;%s</span>'),</span>
41+
<span class="hl-gutter hl-gutter-addition">16 +</span><span class="hl-addition"> <span class="hl-type">Escape</span>::<span class="hl-property">tokens</span>(<span class="hl-value">'&lt;span class=&quot;%s&quot;&gt;%s&lt;/span&gt;%s'</span>),</span>
4242
<span class="hl-gutter"> 17</span> <span class="hl-variable">$gutterClass</span>,
4343
<span class="hl-gutter"> 18</span> <span class="hl-property">str_pad</span>(
4444
<span class="hl-gutter hl-gutter-deletion">19 -</span> <span class="hl-property">string</span>: <span class="hl-deletion"><span class="hl-variable">$gutterNumber</span></span>,
@@ -128,7 +128,7 @@ public function test_gutter_injection_terminal(): void
128128
TXT;
129129

130130
$expected = <<<'TXT'
131-
ICAxMCAbWzM0bWZvcmVhY2gbWzBtICgbWzBtJGxpbmVzG1swbSAbWzM0bWFzG1swbSAbWzBtJGkbWzBtID0+IBtbMG0kbGluZRtbMG0pIHsKICAxMSAgICAgG1swbSRndXR0ZXJOdW1iZXIbWzBtID0gG1swbSRndXR0ZXJOdW1iZXJzG1swbVsbWzBtJGkbWzBtXTsKICAxMiAKICAxMyAgICAgG1swbSRndXR0ZXJDbGFzcxtbMG0gPSAnG1szMG1obC1ndXR0ZXIgG1swbScgLiAoG1swbSR0aGlzG1swbS0+G1szMm1jbGFzc2VzG1swbVsbWzBtJGkbWzBtICsgMV0gPz8gJxtbMzBtG1swbScpOwoxNCArIBtbMG0bWzBtCjE1ICsgICAgIBtbMG0kbGluZXMbWzBtWxtbMG0kaRtbMG1dID0gG1szMm1zcHJpbnRmG1swbSgKMTYgKyAgICAgICAgIBtbMzFtRXNjYXBlG1swbTo6G1szMm10b2tlbnMbWzBtKCcbWzMwbTxzcGFuIGNsYXNzPSIlcyI+JXM8L3NwYW4+JXMbWzBtJyksG1swbRtbMG0KICAxNyAgICAgICAgIBtbMG0kZ3V0dGVyQ2xhc3MbWzBtLAogIDE4ICAgICAgICAgG1szMm1zdHJfcGFkG1swbSgKMTkgLSAgICAgICAgICAgICAbWzMybXN0cmluZxtbMG06IBtbMG0bWzBtG1swbSRndXR0ZXJOdW1iZXIbWzBtG1swbRtbMG0sCiAgMjAgICAgICAgICAgICAgG1szMm1sZW5ndGgbWzBtOiAbWzBtJGd1dHRlcldpZHRoG1swbSwKICAyMSAgICAgICAgICAgICAbWzMybXBhZF90eXBlG1swbTogG1szMm1TVFJfUEFEX0xFRlQbWzBtLAogIDIyICAgICAgICAgKSwKICAyMyAgICAgICAgIBtbMG0kbGluZRtbMG0sCiAgMjQgICAgICk7CiAgMjUgfQ==
131+
ICAxMCAbWzM0bWZvcmVhY2gbWzBtICgbWzBtJGxpbmVzG1swbSAbWzM0bWFzG1swbSAbWzBtJGkbWzBtID0+IBtbMG0kbGluZRtbMG0pIHsKICAxMSAgICAgG1swbSRndXR0ZXJOdW1iZXIbWzBtID0gG1swbSRndXR0ZXJOdW1iZXJzG1swbVsbWzBtJGkbWzBtXTsKICAxMiAKICAxMyAgICAgG1swbSRndXR0ZXJDbGFzcxtbMG0gPSAbWzMwbSdobC1ndXR0ZXIgJxtbMG0gLiAoG1swbSR0aGlzG1swbS0+G1szMm1jbGFzc2VzG1swbVsbWzBtJGkbWzBtICsgMV0gPz8gG1szMG0nJxtbMG0pOwoxNCArIBtbMG0bWzBtCjE1ICsgICAgIBtbMG0kbGluZXMbWzBtWxtbMG0kaRtbMG1dID0gG1szMm1zcHJpbnRmG1swbSgKMTYgKyAgICAgICAgIBtbMzFtRXNjYXBlG1swbTo6G1szMm10b2tlbnMbWzBtKBtbMzBtJzxzcGFuIGNsYXNzPSIlcyI+JXM8L3NwYW4+JXMnG1swbSksG1swbRtbMG0KICAxNyAgICAgICAgIBtbMG0kZ3V0dGVyQ2xhc3MbWzBtLAogIDE4ICAgICAgICAgG1szMm1zdHJfcGFkG1swbSgKMTkgLSAgICAgICAgICAgICAbWzMybXN0cmluZxtbMG06IBtbMG0bWzBtG1swbSRndXR0ZXJOdW1iZXIbWzBtG1swbRtbMG0sCiAgMjAgICAgICAgICAgICAgG1szMm1sZW5ndGgbWzBtOiAbWzBtJGd1dHRlcldpZHRoG1swbSwKICAyMSAgICAgICAgICAgICAbWzMybXBhZF90eXBlG1swbTogG1szMm1TVFJfUEFEX0xFRlQbWzBtLAogIDIyICAgICAgICAgKSwKICAyMyAgICAgICAgIBtbMG0kbGluZRtbMG0sCiAgMjQgICAgICk7CiAgMjUgfQ==
132132
TXT;
133133

134134
$highlighter = (new Highlighter(new LightTerminalTheme()))->withGutter(10);

tests/Languages/JavaScript/JavaScriptLanguageTest.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,12 @@ function getMandatedParams() {
126126
<span class="hl-comment">// ...</span>
127127
128128
qq.<span class="hl-property">DeleteFileAjaxRequester</span> = <span class="hl-keyword">function</span>(o) {
129-
&quot;<span class="hl-value">use strict</span>&quot;;
129+
<span class="hl-value">&quot;use strict&quot;</span>;
130130
131131
<span class="hl-keyword">var</span> requester,
132132
options = {
133-
<span class="hl-property">method</span>: &quot;<span class="hl-value">DELETE</span>&quot;,
134-
<span class="hl-property">uuidParamName</span>: &quot;<span class="hl-value">qquuid</span>&quot;,
133+
<span class="hl-property">method</span>: <span class="hl-value">&quot;DELETE&quot;</span>,
134+
<span class="hl-property">uuidParamName</span>: <span class="hl-value">&quot;qquuid&quot;</span>,
135135
<span class="hl-property">endpointStore</span>: {},
136136
<span class="hl-property">maxConnections</span>: 3,
137137
<span class="hl-property">customHeaders</span>: <span class="hl-keyword">function</span>(id) {<span class="hl-keyword">return</span> {};},
@@ -148,18 +148,18 @@ function getMandatedParams() {
148148
qq.<span class="hl-property">extend</span>(options, o);
149149
150150
<span class="hl-keyword">function</span> <span class="hl-property">getMandatedParams</span>() {
151-
<span class="hl-keyword">if</span> (options.<span class="hl-property">method</span>.<span class="hl-property">toUpperCase</span>() === &quot;<span class="hl-value">POST</span>&quot;) {
151+
<span class="hl-keyword">if</span> (options.<span class="hl-property">method</span>.<span class="hl-property">toUpperCase</span>() === <span class="hl-value">&quot;POST&quot;</span>) {
152152
<span class="hl-keyword">return</span> {
153-
<span class="hl-property">_method</span>: &quot;<span class="hl-value">DELETE</span>&quot;
153+
<span class="hl-property">_method</span>: <span class="hl-value">&quot;DELETE&quot;</span>
154154
};
155155
}
156156
157157
<span class="hl-keyword">return</span> {};
158158
}
159159
160160
requester = qq.<span class="hl-property">extend</span>(<span class="hl-keyword">this</span>, <span class="hl-keyword">new</span> qq.<span class="hl-type">AjaxRequester</span>({
161-
<span class="hl-property">acceptHeader</span>: &quot;<span class="hl-value">application/json</span>&quot;,
162-
<span class="hl-property">validMethods</span>: [&quot;<span class="hl-value">POST</span>&quot;, &quot;<span class="hl-value">DELETE</span>&quot;],
161+
<span class="hl-property">acceptHeader</span>: <span class="hl-value">&quot;application/json&quot;</span>,
162+
<span class="hl-property">validMethods</span>: [<span class="hl-value">&quot;POST&quot;</span>, <span class="hl-value">&quot;DELETE&quot;</span>],
163163
<span class="hl-property">method</span>: options.<span class="hl-property">method</span>,
164164
<span class="hl-property">endpointStore</span>: options.<span class="hl-property">endpointStore</span>,
165165
<span class="hl-property">paramsStore</span>: options.<span class="hl-property">paramsStore</span>,
@@ -178,9 +178,9 @@ function getMandatedParams() {
178178
<span class="hl-property">sendDelete</span>: <span class="hl-keyword">function</span>(id, uuid, additionalMandatedParams) {
179179
<span class="hl-keyword">var</span> additionalOptions = additionalMandatedParams || {};
180180
181-
options.<span class="hl-property">log</span>(&quot;<span class="hl-value">Submitting delete file request for </span>&quot; + id);
181+
options.<span class="hl-property">log</span>(<span class="hl-value">&quot;Submitting delete file request for &quot;</span> + id);
182182
183-
<span class="hl-keyword">if</span> (options.<span class="hl-property">method</span> === &quot;<span class="hl-value">DELETE</span>&quot;) {
183+
<span class="hl-keyword">if</span> (options.<span class="hl-property">method</span> === <span class="hl-value">&quot;DELETE&quot;</span>) {
184184
requester.<span class="hl-property">initTransport</span>(id)
185185
.<span class="hl-property">withPath</span>(uuid)
186186
.<span class="hl-property">withParams</span>(additionalOptions)
@@ -230,7 +230,7 @@ class Point {
230230
<span class="hl-keyword">this</span>.<span class="hl-property">y</span> = y;
231231
}
232232
233-
<span class="hl-keyword">static</span> <span class="hl-property">displayName</span> = &quot;<span class="hl-value">Point</span>&quot;;
233+
<span class="hl-keyword">static</span> <span class="hl-property">displayName</span> = <span class="hl-value">&quot;Point&quot;</span>;
234234
<span class="hl-keyword">static</span> <span class="hl-property">distance</span>(a, b) {
235235
<span class="hl-keyword">const</span> dx = a.<span class="hl-property">x</span> - b.<span class="hl-property">x</span>;
236236
<span class="hl-keyword">const</span> dy = a.<span class="hl-property">y</span> - b.<span class="hl-property">y</span>;

tests/Languages/Php/PhpLanguageTest.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ public function test_highlight(string $content, string $expected): void
2424
public static function data(): array
2525
{
2626
return [
27-
["'php()'", "'<span class=\"hl-value\">php()</span>'"],
28-
["#[PatternTest(input: 'new Foo()', output: 'Foo')]", '<span class="hl-injection"><span class="hl-attribute">#[<span class="hl-type">PatternTest</span>(<span class="hl-property">input</span>: \'<span class="hl-value">new Foo()</span>\', <span class="hl-property">output</span>: \'<span class="hl-value">Foo</span>\')]</span></span>'],
27+
["'php()'", "<span class=\"hl-value\">'php()'</span>"],
28+
["#[PatternTest(input: 'new Foo()', output: 'Foo')]", '<span class="hl-injection"><span class="hl-attribute">#[<span class="hl-type">PatternTest</span>(<span class="hl-property">input</span>: <span class="hl-value">\'new Foo()\'</span>, <span class="hl-property">output</span>: <span class="hl-value">\'Foo\'</span>)]</span></span>'],
2929
['$foo && $bar', '<span class="hl-variable">$foo</span> <span class="hl-operator">&amp;&amp;</span> <span class="hl-variable">$bar</span>'],
3030
['$foo || $bar', '<span class="hl-variable">$foo</span> <span class="hl-operator">||</span> <span class="hl-variable">$bar</span>'],
3131
['$foo <=> $bar', '<span class="hl-variable">$foo</span> <span class="hl-operator">&lt;=&gt;</span> <span class="hl-variable">$bar</span>'],
32-
["public const string|\Stringable MESSAGE = 'hi';", '<span class="hl-keyword">public</span> <span class="hl-keyword">const</span> <span class="hl-type">string|\Stringable</span> <span class="hl-property">MESSAGE</span> = \'<span class="hl-value">hi</span>\';'],
32+
["public const string|\Stringable MESSAGE = 'hi';", '<span class="hl-keyword">public</span> <span class="hl-keyword">const</span> <span class="hl-type">string|\Stringable</span> <span class="hl-property">MESSAGE</span> = <span class="hl-value">\'hi\'</span>;'],
3333
["public string|\Stringable \$message;", '<span class="hl-keyword">public</span> <span class="hl-type">string|\Stringable</span> <span class="hl-property">$message</span>;'],
3434
['for($x = 0; $x < 150; $x++) {', '<span class="hl-keyword">for</span>(<span class="hl-variable">$x</span> = 0; <span class="hl-variable">$x</span> &lt; 150; <span class="hl-variable">$x</span>++) {'],
35-
["'namespace ';", "'<span class=\"hl-value\">namespace </span>';"],
35+
["'namespace ';", "<span class=\"hl-value\">'namespace '</span>;"],
3636
["static::foo()", '<span class="hl-keyword">static</span>::<span class="hl-property">foo</span>()'],
3737
['$class', '<span class="hl-variable">$class</span>'],
3838
['protected $resolved = [];', '<span class="hl-keyword">protected</span> <span class="hl-property">$resolved</span> = [];'],
@@ -50,7 +50,7 @@ public static function data(): array
5050
['fn&(', '<span class="hl-keyword">fn</span>&amp;('],
5151
['enum Foo: string', '<span class="hl-keyword">enum</span> <span class="hl-type">Foo</span>: <span class="hl-type">string</span>'],
5252
['case Foo;', '<span class="hl-keyword">case</span> <span class="hl-property">Foo</span>;'],
53-
['$this->extends("View/base.view.php");', '<span class="hl-variable">$this</span>-&gt;<span class="hl-property">extends</span>(&quot;<span class="hl-value">View/base.view.php</span>&quot;);'],
53+
['$this->extends("View/base.view.php");', '<span class="hl-variable">$this</span>-&gt;<span class="hl-property">extends</span>(<span class="hl-value">&quot;View/base.view.php&quot;</span>);'],
5454
['$foo = null;', '<span class="hl-variable">$foo</span> = <span class="hl-keyword">null</span>;'],
5555
['$foo = true;', '<span class="hl-variable">$foo</span> = <span class="hl-keyword">true</span>;'],
5656
['$foo = false;', '<span class="hl-variable">$foo</span> = <span class="hl-keyword">false</span>;'],
@@ -66,8 +66,8 @@ public static function data(): array
6666
set (string $value) => $this->first . " " . $this->last;
6767
}',
6868
'<span class="hl-keyword">public</span> <span class="hl-type">string</span> <span class="hl-property">$fullName</span> {
69-
<span class="hl-keyword">get</span> =&gt; <span class="hl-variable">$this</span>-&gt;<span class="hl-property">first</span> . &quot;<span class="hl-value"> </span>&quot; . <span class="hl-variable">$this</span>-&gt;<span class="hl-property">last</span>;
70-
<span class="hl-keyword">set</span> (<span class="hl-type">string</span> <span class="hl-variable">$value</span>) =&gt; <span class="hl-variable">$this</span>-&gt;<span class="hl-property">first</span> . &quot;<span class="hl-value"> </span>&quot; . <span class="hl-variable">$this</span>-&gt;<span class="hl-property">last</span>;
69+
<span class="hl-keyword">get</span> =&gt; <span class="hl-variable">$this</span>-&gt;<span class="hl-property">first</span> . <span class="hl-value">&quot; &quot;</span> . <span class="hl-variable">$this</span>-&gt;<span class="hl-property">last</span>;
70+
<span class="hl-keyword">set</span> (<span class="hl-type">string</span> <span class="hl-variable">$value</span>) =&gt; <span class="hl-variable">$this</span>-&gt;<span class="hl-property">first</span> . <span class="hl-value">&quot; &quot;</span> . <span class="hl-variable">$this</span>-&gt;<span class="hl-property">last</span>;
7171
}',
7272
],
7373
[
@@ -86,9 +86,9 @@ public function info(
8686
<span class="hl-attribute">#[<span class="hl-type">ConsoleCommand</span>]</span>
8787
<span class="hl-keyword">public</span> <span class="hl-keyword">function</span> <span class="hl-property">info</span>(<span class="hl-injection">
8888
</span><span class="hl-injection"><span class="hl-attribute">#[<span class="hl-type">ConsoleArgument</span>(
89-
<span class="hl-property">description</span>: '<span class="hl-value"><span class="hl-value">The name of the package</span></span>',
90-
<span class="hl-property">help</span>: '<span class="hl-value"><span class="hl-value">Extended help text for this argument</span></span>',
91-
<span class="hl-property">aliases</span>: ['<span class="hl-value"><span class="hl-value">n</span></span>'],
89+
<span class="hl-property">description</span>: <span class="hl-value"><span class="hl-value">'The name of the package'</span></span>,
90+
<span class="hl-property">help</span>: <span class="hl-value"><span class="hl-value">'Extended help text for this argument'</span></span>,
91+
<span class="hl-property">aliases</span>: [<span class="hl-value"><span class="hl-value">'n'</span></span>],
9292
)]</span></span><span class="hl-injection">
9393
<span class="hl-type">string</span> $name
9494
</span>): <span class="hl-type">void</span> {}

tests/Languages/Python/PythonLanguageTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public static function data(): array
4646
<span class="hl-value">&quot;&quot;&quot;Print a Fibonacci series up to n.&quot;&quot;&quot;</span>
4747
a, b <span class="hl-operator">=</span> <span class="hl-number">0</span>, <span class="hl-number">1</span>
4848
<span class="hl-keyword">while</span> a <span class="hl-operator">&lt;</span> n:
49-
<span class="hl-type">print</span>(a, <span class="hl-variable">end</span><span class="hl-operator">=</span>'<span class="hl-value"> </span>')
49+
<span class="hl-type">print</span>(a, <span class="hl-variable">end</span><span class="hl-operator">=</span><span class="hl-value">' '</span>)
5050
a, b <span class="hl-operator">=</span> b, a<span class="hl-operator">+</span>b
5151
<span class="hl-type">print</span>()
5252

0 commit comments

Comments
 (0)