--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import * as React from 'react';
+
+export default function FormattingHelp() {
+ return (
+ <div className="page page-limited">
+ <h2 className="spacer-bottom">Formatting Syntax</h2>
+ <table className="width-100 data zebra">
+ <thead>
+ <tr>
+ <th>Write:</th>
+ <th>To display:</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>*this text is bold*</td>
+ <td className="markdown">
+ <strong>this text is bold</strong>
+ </td>
+ </tr>
+ <tr>
+ <td>https://sonarqube.org</td>
+ <td className="markdown">
+ <a href="https://sonarqube.org">https://sonarqube.org</a>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">[SonarQube™ Home Page](https://www.sonarqube.org)</td>
+ <td className="markdown text-top">
+ <a href="https://www.sonarqube.org">SonarQube™ Home Page</a>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">
+ * first item
+ <br />* second item
+ </td>
+ <td className="markdown">
+ <ul>
+ <li>first item</li>
+ <li>second item</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">
+ 1. first item
+ <br />
+ 1. second item
+ </td>
+ <td className="markdown text-top">
+ <ol>
+ <li>first item</li>
+ <li>second item</li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">
+ = Heading Level 1<br />
+ == Heading Level 2<br />
+ === Heading Level 3<br />
+ ==== Heading Level 4<br />
+ ===== Heading Level 5<br />
+ ====== Heading Level 6<br />
+ </td>
+ <td className="markdown text-top">
+ <h1>Heading Level 1</h1>
+ <h2>Heading Level 2</h2>
+ <h3>Heading Level 3</h3>
+ <h4>Heading Level 4</h4>
+ <h5>Heading Level 5</h5>
+ <h6>Heading Level 6</h6>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">``Lists#newArrayList()``</td>
+ <td className="markdown text-top">
+ <code>Lists#newArrayList()</code>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">
+ ``
+ <br />
+ {'// code on multiple lines'}
+ <br />
+ {'public void foo() {'}
+ <br />
+
+ {'// do some logic here'}
+ <br />
+ {'}'}
+ <br />
+ ``
+ </td>
+ <td className="markdown text-top">
+ <pre>
+ {'// code on multiple lines\npublic void foo() {\n // do some logic here\n}'}
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td className="text-top">
+ Standard text
+ <br />
+ > Blockquoted text
+ <br />
+ > that spans multiple lines
+ <br />
+ </td>
+ <td className="markdown text-top">
+ <p>Standard text</p>
+ <blockquote>
+ Blockquoted text
+ <br />
+ that spans multiple lines
+ <br />
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ );
+}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-
-export default function MarkdownHelp() {
- return (
- <div className="page page-limited">
- <h2 className="spacer-bottom">Markdown Syntax</h2>
- <table className="width-100 data zebra">
- <thead>
- <tr>
- <th>Write:</th>
- <th>To display:</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>*this text is bold*</td>
- <td className="markdown">
- <strong>this text is bold</strong>
- </td>
- </tr>
- <tr>
- <td>http://sonarqube.org</td>
- <td className="markdown">
- <a href="http://sonarqube.org">http://sonarqube.org</a>
- </td>
- </tr>
- <tr>
- <td className="text-top">[SonarQube™ Home Page](http://www.sonarqube.org)</td>
- <td className="markdown text-top">
- <a href="http://www.sonarqube.org" rel="noopener noreferrer" target="_blank">
- SonarQube™ Home Page
- </a>
- </td>
- </tr>
- <tr>
- <td className="text-top">
- * first item
- <br />* second item
- </td>
- <td className="markdown">
- <ul>
- <li>first item</li>
- <li>second item</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td className="text-top">
- 1. first item
- <br />
- 1. second item
- </td>
- <td className="markdown text-top">
- <ol>
- <li>first item</li>
- <li>second item</li>
- </ol>
- </td>
- </tr>
- <tr>
- <td className="text-top">
- = Heading Level 1<br />
- == Heading Level 2<br />
- === Heading Level 3<br />
- ==== Heading Level 4<br />
- ===== Heading Level 5<br />
- ====== Heading Level 6<br />
- </td>
- <td className="markdown text-top">
- <h1>Heading Level 1</h1>
- <h2>Heading Level 2</h2>
- <h3>Heading Level 3</h3>
- <h4>Heading Level 4</h4>
- <h5>Heading Level 5</h5>
- <h6>Heading Level 6</h6>
- </td>
- </tr>
- <tr>
- <td className="text-top">``Lists#newArrayList()``</td>
- <td className="markdown text-top">
- <code>Lists#newArrayList()</code>
- </td>
- </tr>
- <tr>
- <td className="text-top">
- ``
- <br />
- {'// code on multiple lines'}
- <br />
- {'public void foo() {'}
- <br />
-
- {'// do some logic here'}
- <br />
- {'}'}
- <br />
- ``
- </td>
- <td className="markdown text-top">
- <pre>
- {'// code on multiple lines\npublic void foo() {\n // do some logic here\n}'}
- </pre>
- </td>
- </tr>
- <tr>
- <td className="text-top">
- Standard text
- <br />
- > Blockquoted text
- <br />
- > that spans multiple lines
- <br />
- </td>
- <td className="markdown text-top">
- <p>Standard text</p>
- <blockquote>
- Blockquoted text
- <br />
- that spans multiple lines
- <br />
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- );
-}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import FormattingHelp from '../FormattingHelp';
+
+it('should render correctly', () => {
+ expect(shallow(<FormattingHelp />)).toMatchSnapshot();
+});
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should render correctly 1`] = `
+<div
+ className="page page-limited"
+>
+ <h2
+ className="spacer-bottom"
+ >
+ Formatting Syntax
+ </h2>
+ <table
+ className="width-100 data zebra"
+ >
+ <thead>
+ <tr>
+ <th>
+ Write:
+ </th>
+ <th>
+ To display:
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ *this text is bold*
+ </td>
+ <td
+ className="markdown"
+ >
+ <strong>
+ this text is bold
+ </strong>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ https://sonarqube.org
+ </td>
+ <td
+ className="markdown"
+ >
+ <a
+ href="https://sonarqube.org"
+ >
+ https://sonarqube.org
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ [SonarQube™ Home Page](https://www.sonarqube.org)
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <a
+ href="https://www.sonarqube.org"
+ >
+ SonarQube™ Home Page
+ </a>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ * first item
+ <br />
+ * second item
+ </td>
+ <td
+ className="markdown"
+ >
+ <ul>
+ <li>
+ first item
+ </li>
+ <li>
+ second item
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ 1. first item
+ <br />
+ 1. second item
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <ol>
+ <li>
+ first item
+ </li>
+ <li>
+ second item
+ </li>
+ </ol>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ = Heading Level 1
+ <br />
+ == Heading Level 2
+ <br />
+ === Heading Level 3
+ <br />
+ ==== Heading Level 4
+ <br />
+ ===== Heading Level 5
+ <br />
+ ====== Heading Level 6
+ <br />
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <h1>
+ Heading Level 1
+ </h1>
+ <h2>
+ Heading Level 2
+ </h2>
+ <h3>
+ Heading Level 3
+ </h3>
+ <h4>
+ Heading Level 4
+ </h4>
+ <h5>
+ Heading Level 5
+ </h5>
+ <h6>
+ Heading Level 6
+ </h6>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ \`\`Lists#newArrayList()\`\`
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <code>
+ Lists#newArrayList()
+ </code>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ \`\`
+ <br />
+ // code on multiple lines
+ <br />
+ public void foo() {
+ <br />
+
+ // do some logic here
+ <br />
+ }
+ <br />
+ \`\`
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <pre>
+ // code on multiple lines
+public void foo() {
+ // do some logic here
+}
+ </pre>
+ </td>
+ </tr>
+ <tr>
+ <td
+ className="text-top"
+ >
+ Standard text
+ <br />
+ > Blockquoted text
+ <br />
+ > that spans multiple lines
+ <br />
+ </td>
+ <td
+ className="markdown text-top"
+ >
+ <p>
+ Standard text
+ </p>
+ <blockquote>
+ Blockquoted text
+ <br />
+ that spans multiple lines
+ <br />
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+`;
!pathname.startsWith(`${getBaseUrl()}/sessions`) &&
!pathname.startsWith(`${getBaseUrl()}/maintenance`) &&
!pathname.startsWith(`${getBaseUrl()}/setup`) &&
- !pathname.startsWith(`${getBaseUrl()}/markdown/help`)
+ !pathname.startsWith(`${getBaseUrl()}/formatting/help`)
);
}
<Redirect from="/view" to="/portfolio" />
<Redirect from="/users" to="/admin/users" />
<Redirect from="/onboarding" to="/projects/create" />
+ <Redirect from="markdown/help" to="formatting/help" />
</>
);
}
{renderRedirects()}
<Route
- path="markdown/help"
- component={lazyLoadComponent(() => import('../components/MarkdownHelp'))}
+ path="formatting/help"
+ component={lazyLoadComponent(() => import('../components/FormattingHelp'))}
/>
<Route component={lazyLoadComponent(() => import('../components/SimpleContainer'))}>
import { translate } from 'sonar-ui-common/helpers/l10n';
import { latinize } from 'sonar-ui-common/helpers/strings';
import { createRule, updateRule } from '../../../api/rules';
-import MarkdownTips from '../../../components/common/MarkdownTips';
+import FormattingTips from '../../../components/common/FormattingTips';
import SeverityHelper from '../../../components/shared/SeverityHelper';
import TypeHelper from '../../../components/shared/TypeHelper';
import { RULE_STATUSES, RULE_TYPES, SEVERITIES } from '../../../helpers/constants';
rows={5}
value={this.state.description}
/>
- <MarkdownTips className="modal-field-descriptor text-right" />
+ <FormattingTips className="modal-field-descriptor text-right" />
</div>
);
import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { updateRule } from '../../../api/rules';
-import MarkdownTips from '../../../components/common/MarkdownTips';
+import FormattingTips from '../../../components/common/FormattingTips';
import RemoveExtendedDescriptionModal from './RemoveExtendedDescriptionModal';
interface Props {
{this.state.submitting && <i className="spinner spacer-left" />}
</td>
<td className="text-right">
- <MarkdownTips />
+ <FormattingTips />
</td>
</tr>
</tbody>
rows={5}
value=""
/>
- <MarkdownTips
+ <FormattingTips
className="modal-field-descriptor text-right"
/>
</div>
rows={5}
value=""
/>
- <MarkdownTips
+ <FormattingTips
className="modal-field-descriptor text-right"
/>
</div>
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { bulkChangeIssues, searchIssueTags } from '../../../api/issues';
import throwGlobalError from '../../../app/utils/throwGlobalError';
-import MarkdownTips from '../../../components/common/MarkdownTips';
+import FormattingTips from '../../../components/common/FormattingTips';
import SeverityHelper from '../../../components/shared/SeverityHelper';
import Avatar from '../../../components/ui/Avatar';
import { isLoggedIn, isUserActive } from '../../../helpers/users';
rows={4}
value={this.state.comment || ''}
/>
- <MarkdownTips className="modal-field-descriptor text-right" />
+ <FormattingTips className="modal-field-descriptor text-right" />
</div>
);
};
import * as React from 'react';
import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import MarkdownTips from '../../../components/common/MarkdownTips';
+import FormattingTips from '../../../components/common/FormattingTips';
export interface HotspotCommentPopupProps {
markdownComment: string;
</div>
<div className="spacer-top display-flex-space-between">
<div className="issue-comment-form-tips">
- <MarkdownTips />
+ <FormattingTips />
</div>
<div className="">
<Button
deleteSecurityHotspotComment,
editSecurityHotspotComment
} from '../../../api/security-hotspots';
-import MarkdownTips from '../../../components/common/MarkdownTips';
+import FormattingTips from '../../../components/common/FormattingTips';
import { isLoggedIn } from '../../../helpers/users';
import { Hotspot } from '../../../types/security-hotspots';
import HotspotReviewHistory from './HotspotReviewHistory';
value={comment}
/>
<div className="display-flex-space-between display-flex-center ">
- <MarkdownTips className="huge-spacer-bottom" />
+ <FormattingTips className="huge-spacer-bottom" />
<div>
<Button
className="huge-spacer-bottom"
<div
className="issue-comment-form-tips"
>
- <MarkdownTips />
+ <FormattingTips />
</div>
<div
className=""
<div
className="display-flex-space-between display-flex-center "
>
- <MarkdownTips
+ <FormattingTips
className="huge-spacer-bottom"
/>
<div>
import { SubmitButton } from 'sonar-ui-common/components/controls/buttons';
import Radio from 'sonar-ui-common/components/controls/Radio';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import MarkdownTips from '../../../../components/common/MarkdownTips';
+import FormattingTips from '../../../../components/common/FormattingTips';
import { HotspotStatusOption } from '../../../../types/security-hotspots';
import StatusDescription from './StatusDescription';
rows={4}
value={comment}
/>
- <MarkdownTips />
+ <FormattingTips />
<div className="big-spacer-top display-flex-justify-end display-flex-center">
<SubmitButton disabled={submitDisabled || loading} onClick={props.onSubmit}>
rows={4}
value="TEST-COMMENT"
/>
- <MarkdownTips />
+ <FormattingTips />
<div
className="big-spacer-top display-flex-justify-end display-flex-center"
>
rows={4}
value="TEST-COMMENT"
/>
- <MarkdownTips />
+ <FormattingTips />
<div
className="big-spacer-top display-flex-justify-end display-flex-center"
>
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import * as classNames from 'classnames';
+import * as React from 'react';
+import { translate } from 'sonar-ui-common/helpers/l10n';
+import { getFormattingHelpUrl } from '../../helpers/urls';
+
+interface Props {
+ className?: string;
+}
+
+export default class FormattingTips extends React.PureComponent<Props> {
+ handleClick(evt: React.SyntheticEvent<HTMLAnchorElement>) {
+ evt.preventDefault();
+ window.open(
+ getFormattingHelpUrl(),
+ 'Formatting',
+ 'height=300,width=600,scrollbars=1,resizable=1'
+ );
+ }
+
+ render() {
+ return (
+ <div className={classNames('markdown-tips', this.props.className)}>
+ <a className="little-spacer-right" href="#" onClick={this.handleClick}>
+ {translate('formatting.helplink')}
+ </a>
+ {':'}
+ <span className="spacer-left">*{translate('bold')}*</span>
+ <span className="spacer-left">
+ ``
+ {translate('code')}
+ ``
+ </span>
+ <span className="spacer-left">* {translate('bulleted_point')}</span>
+ </div>
+ );
+ }
+}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as classNames from 'classnames';
-import * as React from 'react';
-import { translate } from 'sonar-ui-common/helpers/l10n';
-import { getMarkdownHelpUrl } from '../../helpers/urls';
-
-interface Props {
- className?: string;
-}
-
-export default class MarkdownTips extends React.PureComponent<Props> {
- handleClick(evt: React.SyntheticEvent<HTMLAnchorElement>) {
- evt.preventDefault();
- window.open(getMarkdownHelpUrl(), 'Markdown', 'height=300,width=600,scrollbars=1,resizable=1');
- }
-
- render() {
- return (
- <div className={classNames('markdown-tips', this.props.className)}>
- <a className="little-spacer-right" href="#" onClick={this.handleClick}>
- {translate('markdown.helplink')}
- </a>
- {':'}
- <span className="spacer-left">*{translate('bold')}*</span>
- <span className="spacer-left">
- ``
- {translate('code')}
- ``
- </span>
- <span className="spacer-left">* {translate('bulleted_point')}</span>
- </div>
- );
- }
-}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2020 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import { click } from 'sonar-ui-common/helpers/testUtils';
+import FormattingTips from '../FormattingTips';
+
+const originalOpen = window.open;
+
+beforeAll(() => {
+ Object.defineProperty(window, 'open', {
+ writable: true,
+ value: jest.fn()
+ });
+});
+
+afterAll(() => {
+ Object.defineProperty(window, 'open', {
+ writable: true,
+ value: originalOpen
+ });
+});
+
+it('should render correctly', () => {
+ expect(shallowRender()).toMatchSnapshot();
+});
+
+it('should correctly open a new window', () => {
+ const wrapper = shallowRender();
+ expect(window.open).not.toBeCalled();
+ click(wrapper.find('a'));
+ expect(window.open).toBeCalled();
+});
+
+function shallowRender(props: Partial<FormattingTips['props']> = {}) {
+ return shallow<FormattingTips>(<FormattingTips {...props} />);
+}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import { shallow } from 'enzyme';
-import * as React from 'react';
-import MarkdownTips from '../MarkdownTips';
-
-it('should render the tips', () => {
- expect(shallow(<MarkdownTips />)).toMatchSnapshot();
-});
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should render correctly 1`] = `
+<div
+ className="markdown-tips"
+>
+ <a
+ className="little-spacer-right"
+ href="#"
+ onClick={[Function]}
+ >
+ formatting.helplink
+ </a>
+ :
+ <span
+ className="spacer-left"
+ >
+ *
+ bold
+ *
+ </span>
+ <span
+ className="spacer-left"
+ >
+ \`\`
+ code
+ \`\`
+ </span>
+ <span
+ className="spacer-left"
+ >
+ *
+ bulleted_point
+ </span>
+</div>
+`;
+++ /dev/null
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`should render the tips 1`] = `
-<div
- className="markdown-tips"
->
- <a
- className="little-spacer-right"
- href="#"
- onClick={[Function]}
- >
- markdown.helplink
- </a>
- :
- <span
- className="spacer-left"
- >
- *
- bold
- *
- </span>
- <span
- className="spacer-left"
- >
- \`\`
- code
- \`\`
- </span>
- <span
- className="spacer-left"
- >
- *
- bulleted_point
- </span>
-</div>
-`;
import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import MarkdownTips from '../../common/MarkdownTips';
+import FormattingTips from '../../common/FormattingTips';
interface Props {
comment?: Pick<T.IssueComment, 'markdown'>;
</ResetButtonLink>
</div>
<div className="issue-comment-form-tips">
- <MarkdownTips />
+ <FormattingTips />
</div>
</div>
</div>
<div
className="issue-comment-form-tips"
>
- <MarkdownTips />
+ <FormattingTips />
</div>
</div>
</div>
<div
className="issue-comment-form-tips"
>
- <MarkdownTips />
+ <FormattingTips />
</div>
</div>
</div>
return getRulesUrl({ open: rule, rule_key: rule });
}
-export function getMarkdownHelpUrl(): string {
- return getBaseUrl() + '/markdown/help';
+export function getFormattingHelpUrl(): string {
+ return getBaseUrl() + '/formatting/help';
}
export function getCodeUrl(
# HELP
#
#------------------------------------------------------------------------------
-markdown.helplink=Markdown Help
+formatting.helplink=Formatting Help
#------------------------------------------------------------------------------
#