nebius/SWE-rebench-V2-PRs huggingface dataset:
Repository: jsonata-js/jsonata
Pull request #142 (2018-02-03 13:56:58)

fix $append function side-effect
Fixed $append bug([#139](https://github.com/jsonata-js/jsonata/issues/139)).

coveralls: 
[![Coverage Status](https://coveralls.io/builds/15358064/badge)](https://coveralls.io/builds/15358064)

Coverage remained the same at 100.0% when pulling **9d81358f765bd8ae3cf9d92c12b6d2a68ab62378 on HiroyasuNishiyama:fix-append** into **a753f42d7958186c6da7c4208303c8efd4b6dda8 on jsonata-js:master**.


Patch:
diff --git a/jsonata.js b/jsonata.js
index 291e758..4445696 100644
--- a/jsonata.js
+++ b/jsonata.js
@@ -4398,8 +4398,7 @@ var jsonata = (function() {
         if (!Array.isArray(arg2)) {
             arg2 = [arg2];
         }
-        Array.prototype.push.apply(arg1, arg2);
-        return arg1;
+        return arg1.concat(arg2);
     }
 
     /**


Test patch:
diff --git a/test/test-suite/groups/function-append/case005.json b/test/test-suite/groups/function-append/case005.json
new file mode 100644
index 0000000..a47891a
--- /dev/null
+++ b/test/test-suite/groups/function-append/case005.json
@@ -0,0 +1,12 @@
+{
+    "expr": "($append($data.a, [2]); $data.a)",
+    "dataset": "dataset5",
+    "bindings": {
+        "data": {
+            "a" : [1]
+        }
+    },
+    "result": [
+        1
+    ]
+}
Repository: jsonata-js/jsonata
Pull request #149 (2018-02-15 09:15:36)

Fix tail-call optimiser for predicated function invocations
If the body a lambda function ends with a function call, it gets replaced by a thunk so as not to grow the stack at runtime (allowing tail recursion).  If the function call is followed by a predicate, then it is not a tail-call, and should not be replaced.  The check for this is missing and has been added by this PR.


coveralls: 
[![Coverage Status](https://coveralls.io/builds/15536425/badge)](https://coveralls.io/builds/15536425)

Coverage remained the same at 100.0% when pulling **f93d6beca884683a258c8676ba1287d1be10a45d on tail_call** into **ee0d8b16a04cd7c074376dbb54d966aca555f060 on master**.


Patch:
diff --git a/jsonata.js b/jsonata.js
index 4b03262..3f56822 100644
--- a/jsonata.js
+++ b/jsonata.js
@@ -1090,7 +1090,7 @@ var jsonata = (function() {
         // This enables tail-recursive functions to be written without growing the stack
         var tail_call_optimize = function(expr) {
             var result;
-            if(expr.type === 'function') {
+            if(expr.type === 'function' && !expr.predicate) {
                 var thunk = {type: 'lambda', thunk: true, arguments: [], position: expr.position};
                 thunk.body = expr;
                 result = thunk;


Test patch:
diff --git a/test/test-suite/groups/lambdas/case012.json b/test/test-suite/groups/lambdas/case012.json
new file mode 100644
index 0000000..d19c8f2
--- /dev/null
+++ b/test/test-suite/groups/lambdas/case012.json
@@ -0,0 +1,6 @@
+{
+    "expr": "( $median := λ($x){$sort($x)[$count($x)/2]};  $median([5,4,3,2,1,6,7,8,1]) )",
+    "dataset": null,
+    "bindings": {},
+    "result": 4
+}
\ No newline at end of file
Repository: jsonata-js/jsonata
Pull request #293 (2019-01-10 11:54:40)

$each should not result in undefined values in the result object
`$each()` returns an array of values by applying a supplied function to each name/value pair in a given object.  If that function returns `undefined` (no match / empty sequence), then that `undefined` value is getting added to the result sequence.  It shouldn't - it should be flattened out.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/21000792/badge)](https://coveralls.io/builds/21000792)

Coverage remained the same at 100.0% when pulling **d7b48f6d4ebbdae15c6f409da98df0e3db3d17fc on fix_each** into **68201a73eb8f501a1c24770f3d9098a98c77df7e on master**.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/21000792/badge)](https://coveralls.io/builds/21000792)

Coverage remained the same at 100.0% when pulling **d7b48f6d4ebbdae15c6f409da98df0e3db3d17fc on fix_each** into **68201a73eb8f501a1c24770f3d9098a98c77df7e on master**.

coveralls: 
[![Coverage Status](https://coveralls.io/builds/21000792/badge)](https://coveralls.io/builds/21000792)

Coverage remained the same at 100.0% when pulling **d7b48f6d4ebbdae15c6f409da98df0e3db3d17fc on fix_each** into **68201a73eb8f501a1c24770f3d9098a98c77df7e on master**.

mattbaileyuk: @andrew-coleman Good spot; planning to push out 1.6.4 with this?

Patch:
diff --git a/src/functions.js b/src/functions.js
index 697aefe..c62f41c 100644
--- a/src/functions.js
+++ b/src/functions.js
@@ -1630,7 +1630,10 @@ const functions = (() => {
         for (var key in obj) {
             var func_args = hofFuncArgs(func, obj[key], key, obj);
             // invoke func
-            result.push(yield* func.apply(this, func_args));
+            var val = yield* func.apply(this, func_args);
+            if(typeof val !== 'undefined') {
+                result.push(val);
+            }
         }
 
         return result;


Test patch:
diff --git a/test/test-suite/groups/function-each/case002.json b/test/test-suite/groups/function-each/case002.json
new file mode 100644
index 0000000..f49801c
--- /dev/null
+++ b/test/test-suite/groups/function-each/case002.json
@@ -0,0 +1,7 @@
+{
+    "expr": "$each(function($v, $k) {$k[$v>2]})",
+    "data": { "a": 1, "b": 2, "c": 3, "d": 4 },
+    "bindings": {},
+    "result": ["c", "d"],
+    "unordered": true
+}
Repository: jsonata-js/jsonata
Pull request #429 (2020-03-23 16:23:54)

unpack outer wrapper in $string()
Fixes a regression when the $string() function is applied to a top-level array causing the output to be enclosed in an additional array

Signed-off-by: andrew-coleman <andrew_coleman@uk.ibm.com>

coveralls: 
[![Coverage Status](https://coveralls.io/builds/29555601/badge)](https://coveralls.io/builds/29555601)

Coverage remained the same at 100.0% when pulling **18b59b28a5f67f9e87e7c88b13c9371109e32ad0 on double_array** into **17c65e3966bfc815ab8eedb40ba1b3efd77bdc1b on master**.


Patch:
diff --git a/src/functions.js b/src/functions.js
index 39b7195..e64d5ef 100644
--- a/src/functions.js
+++ b/src/functions.js
@@ -126,6 +126,9 @@ const functions = (() => {
             };
         } else {
             var space = prettify ? 2 : 0;
+            if(Array.isArray(arg) && arg.outerWrapper) {
+                arg = arg[0];
+            }
             str = JSON.stringify(arg, function (key, val) {
                 return (typeof val !== 'undefined' && val !== null && val.toPrecision && isNumeric(val)) ? Number(val.toPrecision(15)) :
                     (val && isFunction(val)) ? '' : val;


Test patch:
diff --git a/test/test-suite/groups/function-string/case029.json b/test/test-suite/groups/function-string/case029.json
new file mode 100644
index 0000000..8423744
--- /dev/null
+++ b/test/test-suite/groups/function-string/case029.json
@@ -0,0 +1,6 @@
+{
+    "expr": "$string()",
+    "data": [4, true],
+    "bindings": {},
+    "result": "[4,true]"
+}
Repository: jsonata-js/jsonata
Pull request #623 (2023-03-13 19:26:29)

Fix regex termination lexer


Patch:
diff --git a/src/parser.js b/src/parser.js
index adb525a..629ff82 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -76,9 +76,23 @@ const parser = (() => {
             var depth = 0;
             var pattern;
             var flags;
+
+            var isClosingSlash = function (position) {
+                if (path.charAt(position) === '/' && depth === 0) {
+                    var backslashCount = 0;
+                    while (path.charAt(position - (backslashCount + 1)) === '\\') {
+                        backslashCount++;
+                    }
+                    if (backslashCount % 2 === 0) {
+                        return true;
+                    }
+                }
+                return false;
+            };
+
             while (position < length) {
                 var currentChar = path.charAt(position);
-                if (currentChar === '/' && path.charAt(position - 1) !== '\\' && depth === 0) {
+                if (isClosingSlash(position)) {
                     // end of regex found
                     pattern = path.substring(start, position);
                     if (pattern === '') {


Test patch:
diff --git a/test/implementation-tests.js b/test/implementation-tests.js
index aedb001..1abc214 100644
--- a/test/implementation-tests.js
+++ b/test/implementation-tests.js
@@ -749,7 +749,38 @@ describe("Tests that are specific to a Javascript runtime", () => {
         });
     });
 
+    describe("empty regex: Escaped termination", function() {
+        it("should throw error", function() {
+            expect(function() {
+                var expr = jsonata("/\\/");
+                expr.evaluate();
+            })
+                .to.throw()
+                .to.deep.contain({ position: 3, code: "S0302" });
+        });
+    });
+
+    describe("empty regex: Escaped termination", function() {
+        it("should throw error", function() {
+            expect(function() {
+                var expr = jsonata("/\\\\\\/");
+                expr.evaluate();
+            })
+                .to.throw()
+                .to.deep.contain({ position: 5, code: "S0302" });
+        });
+    });
+
     describe("Functions - $match", function() {
+        describe('$match("test escape \\\\", /\\\\/)', function() {
+            it("should find \\", async function() {
+                var expr = jsonata('$match("test escape \\\\", /\\\\/)');
+                var result = await expr.evaluate();
+                var expected = { match: "\\", index: 12, groups: []};
+                expect(result).to.deep.equal(expected);
+            });
+        });
+
         describe('$match("ababbabbcc",/ab/)', function() {
             it("should return result object", async function() {
                 var expr = jsonata('$match("ababbabbcc",/ab/)');
Repository: jsx-eslint/eslint-plugin-react
Pull request #3394 (2022-09-05 04:32:25)

`no-unknown-property`: add `download` property support for `a` and `area`


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 95cfb366..6145af95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,9 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
 
 ### Fixed
 * [`no-unknown-property`]: avoid warning on `fbt` nodes entirely ([#3391][] @ljharb)
+* [`no-unknown-property`]: add `download` property support for `a` and `area` ([#3394][] @HJain13)
 
+[#3394]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3394
 [#3391]: https://github.com/jsx-eslint/eslint-plugin-react/issues/3391
 
 ## [7.31.6] - 2022.09.04
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
index 6a8c18db..70cdcf26 100644
--- a/lib/rules/no-unknown-property.js
+++ b/lib/rules/no-unknown-property.js
@@ -30,6 +30,8 @@ const ATTRIBUTE_TAGS_MAP = {
   checked: ['input'],
   // image is required for SVG support, all other tags are HTML.
   crossOrigin: ['script', 'img', 'video', 'audio', 'link', 'image'],
+  // https://html.spec.whatwg.org/multipage/links.html#downloading-resources
+  download: ['a', 'area'],
   fill: [ // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill
     // Fill color
     'altGlyph',


Test patch:
diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js
index bb4105eb..9512887e 100644
--- a/tests/lib/rules/no-unknown-property.js
+++ b/tests/lib/rules/no-unknown-property.js
@@ -44,7 +44,8 @@ ruleTester.run('no-unknown-property', rule, {
     // Some HTML/DOM elements with common attributes should work
     { code: '<div className="bar"></div>;' },
     { code: '<div onMouseDown={this._onMouseDown}></div>;' },
-    { code: '<a href="someLink">Read more</a>' },
+    { code: '<a href="someLink" download="foo">Read more</a>' },
+    { code: '<area download="foo" />' },
     { code: '<img src="cat_keyboard.jpeg" alt="A cat sleeping on a keyboard" />' },
     { code: '<input type="password" required />' },
     { code: '<input ref={this.input} type="radio" />' },
@@ -466,5 +467,18 @@ ruleTester.run('no-unknown-property', rule, {
         },
       ],
     },
+    {
+      code: '<div download="foo" />',
+      errors: [
+        {
+          messageId: 'invalidPropOnTag',
+          data: {
+            name: 'download',
+            tagName: 'div',
+            allowedTags: 'a, area',
+          },
+        },
+      ],
+    },
   ]),
 });
Repository: jsx-eslint/eslint-plugin-react
Pull request #3424 (2022-09-08 06:00:44)

[Fix] no-unknown-property `viewBox` for `pattern`, `symbol`, `view`
Adds the rest of the tags, where `viewBox` can be used 
Ref: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1d5324d1..124d7e0a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,11 +11,13 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
 * [`no-unknown-property`]: allow `onLoad` on `<object>` ([#3415][] @OleksiiKachan)
 * [`no-multi-comp`]: do not detect a function property returning only null as a component ([#3412][] @ljharb)
 * [`no-unknown-property`]: allow `abbr` on `<th>` and `<td>` ([#3419][] @OleksiiKachan)
+* [`no-unknown-property`]: add `viewBox` for `pattern`, `symbol`, `view` ([#3424][] @MNBuyskih)
 
 ### Changed
 
-* [Meta] npmignore markdownlint config ([#3413][] @jorrit)
+* [meta] npmignore markdownlint config ([#3413][] @jorrit)
 
+[#3424]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3424
 [#3419]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3419
 [#3416]: https://github.com/jsx-eslint/eslint-plugin-react/issues/3416
 [#3415]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3415
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
index 92f0257f..1cd76656 100644
--- a/lib/rules/no-unknown-property.js
+++ b/lib/rules/no-unknown-property.js
@@ -63,7 +63,7 @@ const ATTRIBUTE_TAGS_MAP = {
   imageSizes: ['link'],
   imageSrcSet: ['link'],
   property: ['meta'],
-  viewBox: ['svg', 'marker'],
+  viewBox: ['marker', 'pattern', 'svg', 'symbol', 'view'],
   as: ['link'],
   valign: ['tr', 'td', 'th', 'thead', 'tbody', 'tfoot', 'colgroup', 'col'], // deprecated, but known
   noModule: ['script'],


Test patch:
diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js
index 00060413..35b012bf 100644
--- a/tests/lib/rules/no-unknown-property.js
+++ b/tests/lib/rules/no-unknown-property.js
@@ -123,6 +123,9 @@ ruleTester.run('no-unknown-property', rule, {
     { code: '<video controlsList="nodownload" controls={this.controls} loop={true} muted={false} src={this.videoSrc} playsInline={true}></video>' },
     { code: '<audio controlsList="nodownload" controls={this.controls} crossOrigin="anonymous" disableRemotePlayback loop muted preload="none" src="something" onAbort={this.abort} onDurationChange={this.durationChange} onEmptied={this.emptied} onEnded={this.end} onError={this.error}></audio>' },
     { code: '<marker id={markerId} viewBox="0 0 2 2" refX="1" refY="1" markerWidth="1" markerHeight="1" orient="auto" />' },
+    { code: '<pattern id="pattern" viewBox="0,0,10,10" width="10%" height="10%" />' },
+    { code: '<symbol id="myDot" width="10" height="10" viewBox="0 0 2 2" />' },
+    { code: '<view id="one" viewBox="0 0 100 100" />' },
     {
       code: `
         <table>
Repository: jsx-eslint/eslint-plugin-react
Pull request #3455 (2022-10-10 12:17:29)

`no-unknown-property`: allow `allowFullScreen` on `iframe`
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-allowfullscreen


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ca108097..0cd25d61 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,10 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
 * [`hook-use-state`]: add `allowDestructuredState` option ([#3449][] @ljharb)
 * add [`sort-default-props`] and deprecate [`jsx-sort-default-props`] ([#1861][] @alexzherdev)
 
+### Fixed
+* [`no-unknown-property`]: allow `allowFullScreen` on `iframe` ([#3455][] @almeidx)
+
+[#3455]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3455
 [#3449]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3449
 [#3424]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3429
 [#1861]: https://github.com/jsx-eslint/eslint-plugin-react/pull/1861
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
index 7c8b66ac..83fa695b 100644
--- a/lib/rules/no-unknown-property.js
+++ b/lib/rules/no-unknown-property.js
@@ -104,9 +104,9 @@ const ATTRIBUTE_TAGS_MAP = {
   loop: ['audio', 'video'],
   muted: ['audio', 'video'],
   playsInline: ['video'],
-  allowFullScreen: ['video'],
-  webkitAllowFullScreen: ['video'],
-  mozAllowFullScreen: ['video'],
+  allowFullScreen: ['iframe', 'video'],
+  webkitAllowFullScreen: ['iframe', 'video'],
+  mozAllowFullScreen: ['iframe', 'video'],
   poster: ['video'],
   preload: ['audio', 'video'],
   scrolling: ['iframe'],


Test patch:
diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js
index 2fbc2641..86caae54 100644
--- a/tests/lib/rules/no-unknown-property.js
+++ b/tests/lib/rules/no-unknown-property.js
@@ -70,6 +70,7 @@ ruleTester.run('no-unknown-property', rule, {
     { code: '<link rel="preload" as="image" href="someHref" imageSrcSet="someImageSrcSet" imageSizes="someImageSizes" />' },
     { code: '<object onLoad={bar} />' },
     { code: '<video allowFullScreen webkitAllowFullScreen mozAllowFullScreen />' },
+    { code: '<iframe allowFullScreen webkitAllowFullScreen mozAllowFullScreen />' },
     { code: '<table border="1" />' },
     { code: '<th abbr="abbr" />' },
     { code: '<td abbr="abbr" />' },
@@ -513,7 +514,7 @@ ruleTester.run('no-unknown-property', rule, {
           data: {
             name: 'allowFullScreen',
             tagName: 'div',
-            allowedTags: 'video',
+            allowedTags: 'iframe, video',
           },
         },
       ],
Repository: jsx-eslint/eslint-plugin-react
Pull request #3494 (2022-11-18 21:57:22)

[Fix] `no-unknown-property`: do not check `fbs` elements
Currently `<fbs>` nodes are tagged with this linter warning:

```
Unknown property 'desc' foundNuclide-ESLint[react/no-unknown-property](https://www.internalfb.com/intern/bunny?q%3Deslint%2Breact%2Fno-unknown-property)
```

`<fbt>` nodes are already exempt from this lint rule, and `<fbs>` should be treated the same. 

Internal WP discussion: https://fb.workplace.com/groups/eslintfeedback/permalink/6064426636924059/


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0d7e2356..c0e9bf59 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,7 +14,9 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
 ### Fixed
 * configs: avoid legacy config system error ([#3461][] @ljharb)
 * [`sort-prop-types`]: restore autofixing ([#3452][] @ROSSROSALES)
+* [`no-unknown-property`]: do not check `fbs` elements ([#3494][] @brianogilvie)
 
+[#3494]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3494
 [#3461]: https://github.com/jsx-eslint/eslint-plugin-react/issues/3461
 [#3452]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3452
 [#3449]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3449
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
index 1ba13a60..12e8f5f9 100644
--- a/lib/rules/no-unknown-property.js
+++ b/lib/rules/no-unknown-property.js
@@ -544,7 +544,7 @@ module.exports = {
 
         const tagName = getTagName(node);
 
-        if (tagName === 'fbt') { return; } // fbt nodes are bonkers, let's not go there
+        if (tagName === 'fbt' || tagName === 'fbs') { return; } // fbt/fbs nodes are bonkers, let's not go there
 
         if (!isValidHTMLTagInJSX(node)) { return; }
 


Test patch:
diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js
index 3928ffa3..62f2beb1 100644
--- a/tests/lib/rules/no-unknown-property.js
+++ b/tests/lib/rules/no-unknown-property.js
@@ -153,6 +153,8 @@ ruleTester.run('no-unknown-property', rule, {
 
     // fbt
     { code: '<fbt desc="foo" doNotExtract />;' },
+    // fbs
+    { code: '<fbs desc="foo" doNotExtract />;' },
   ]),
   invalid: parsers.all([
     {
Repository: jsx-eslint/eslint-plugin-react
Pull request #3525 (2023-01-24 17:40:28)

[Fix] no-unknown-property `fill` for `marker`
Similar to https://github.com/jsx-eslint/eslint-plugin-react/issues/3416 but for fill of marker

https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker

```jsx
error  Invalid property 'fill' found on tag 'marker', but it is only allowed on: altGlyph, circle, ellipse, g, line, mask, path, polygon, polyline, rect, svg, text, textPath, tref, tspan, use, animate, animateColor, animateMotion, animateTransform, set  react/no-unknown-property

<marker fill='#000' />
```


Patch:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f716f01..4d2745ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,9 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
 ### Fixed
 * configs: restore `parserOptions` in legacy configs ([#3523][] @ljharb)
 * [`jsx-no-constructed-context-values`], [`jsx-no-useless-fragment`]: add a rule schema (@ljharb)
+( [`no-unknown-property`]: add `fill` for `<marker>` ([#3525][] @alexey-koran)
 
+[#3525]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3525
 [#3520]: https://github.com/jsx-eslint/eslint-plugin-react/issues/3523
 
 ## [7.32.1] - 2023.01.16
diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js
index 12e8f5f9..de0404bf 100644
--- a/lib/rules/no-unknown-property.js
+++ b/lib/rules/no-unknown-property.js
@@ -42,6 +42,7 @@ const ATTRIBUTE_TAGS_MAP = {
     'ellipse',
     'g',
     'line',
+    'marker',
     'mask',
     'path',
     'polygon',


Test patch:
diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js
index 62f2beb1..4ea06803 100644
--- a/tests/lib/rules/no-unknown-property.js
+++ b/tests/lib/rules/no-unknown-property.js
@@ -131,6 +131,7 @@ ruleTester.run('no-unknown-property', rule, {
     { code: '<view id="one" viewBox="0 0 100 100" />' },
     { code: '<hr align="top" />' },
     { code: '<applet align="top" />' },
+    { code: '<marker fill="#000" />' },
     { code: '<dialog onClose={handler} open id="dialog" returnValue="something" onCancel={handler2} />' },
     {
       code: `
@@ -471,7 +472,7 @@ ruleTester.run('no-unknown-property', rule, {
           data: {
             name: 'fill',
             tagName: 'div',
-            allowedTags: 'altGlyph, circle, ellipse, g, line, mask, path, polygon, polyline, rect, svg, text, textPath, tref, tspan, use, animate, animateColor, animateMotion, animateTransform, set',
+            allowedTags: 'altGlyph, circle, ellipse, g, line, marker, mask, path, polygon, polyline, rect, svg, text, textPath, tref, tspan, use, animate, animateColor, animateMotion, animateTransform, set',
           },
         },
       ],