mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
015ff2ed66
This was causing a slowdown in one of the tests ESLintRuleExhaustiveDeps-test.js. Reverting until we figure out why.
75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @emails react-core
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
let React;
|
|
let ReactDOMServer;
|
|
|
|
describe('quoteAttributeValueForBrowser', () => {
|
|
beforeEach(() => {
|
|
jest.resetModules();
|
|
React = require('react');
|
|
ReactDOMServer = require('react-dom/server');
|
|
});
|
|
|
|
it('ampersand is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr="&" />);
|
|
expect(response).toMatch('<img data-attr="&"/>');
|
|
});
|
|
|
|
it('double quote is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr={'"'} />);
|
|
expect(response).toMatch('<img data-attr="""/>');
|
|
});
|
|
|
|
it('single quote is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr="'" />);
|
|
expect(response).toMatch('<img data-attr="'"/>');
|
|
});
|
|
|
|
it('greater than entity is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr=">" />);
|
|
expect(response).toMatch('<img data-attr=">"/>');
|
|
});
|
|
|
|
it('lower than entity is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr="<" />);
|
|
expect(response).toMatch('<img data-attr="<"/>');
|
|
});
|
|
|
|
it('number is escaped to string inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(<img data-attr={42} />);
|
|
expect(response).toMatch('<img data-attr="42"/>');
|
|
});
|
|
|
|
it('object is passed to a string inside attributes', () => {
|
|
const sampleObject = {
|
|
toString: function () {
|
|
return 'ponys';
|
|
},
|
|
};
|
|
|
|
const response = ReactDOMServer.renderToString(
|
|
<img data-attr={sampleObject} />,
|
|
);
|
|
expect(response).toMatch('<img data-attr="ponys"/>');
|
|
});
|
|
|
|
it('script tag is escaped inside attributes', () => {
|
|
const response = ReactDOMServer.renderToString(
|
|
<img data-attr={'<script type=\'\' src=""></script>'} />,
|
|
);
|
|
expect(response).toMatch(
|
|
'<img data-attr="<script type='' ' +
|
|
'src=""></script>"/>',
|
|
);
|
|
});
|
|
});
|