]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-17188 Improve tests
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Thu, 29 Sep 2022 09:02:00 +0000 (11:02 +0200)
committersonartech <sonartech@sonarsource.com>
Thu, 29 Sep 2022 20:03:15 +0000 (20:03 +0000)
server/sonar-web/src/main/js/components/tutorials/azure-pipelines/BranchAnalysisStepContent.tsx
server/sonar-web/src/main/js/components/tutorials/azure-pipelines/ExtensionInstallationStepContent.tsx
server/sonar-web/src/main/js/components/tutorials/azure-pipelines/ServiceEndpointStepContent.tsx
server/sonar-web/src/main/js/components/tutorials/azure-pipelines/__tests__/AzurePipelinesTutorial-it.tsx
server/sonar-web/src/main/js/components/tutorials/azure-pipelines/__tests__/__snapshots__/AzurePipelinesTutorial-it.tsx.snap
server/sonar-web/src/main/js/components/tutorials/components/AllSetStep.tsx

index 0579b592fa6c04332090197581c03410bb541e97..70200e4d080fb0287f31a2e399427dbca217b836 100644 (file)
@@ -58,13 +58,11 @@ export function BranchAnalysisStepContent(props: BranchesAnalysisStepProps) {
         optionLabelKey="onboarding.build"
         options={buildToolsList}
       />
-      <div data-testid="azure-tutorial__analysis-command">
-        <AnalysisCommand
-          onStepValidationChange={onStepValidationChange}
-          buildTool={buildTechnology}
-          projectKey={component.key}
-        />
-      </div>
+      <AnalysisCommand
+        onStepValidationChange={onStepValidationChange}
+        buildTool={buildTechnology}
+        projectKey={component.key}
+      />
     </>
   );
 }
index 2b6271bc5d8fa7b6a546bfbfb4e58a7bedf059a6..eff9bb3e535459b050135f3a98283d9113b649a7 100644 (file)
@@ -24,7 +24,7 @@ import Link from '../../common/Link';
 
 export default function ExtensionInstallationStepContent() {
   return (
-    <span data-testid="azure-tutorial__extension">
+    <span>
       <FormattedMessage
         defaultMessage={translate(
           'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence'
index 675744a3b6b525193284f53dccac4e989e1e759e..885db5a45fa724d12176a296a42bcbe8552fc360 100644 (file)
@@ -41,7 +41,7 @@ export default function ServiceEndpointStepContent(props: ServiceEndpointStepPro
 
   return (
     <>
-      <ol className="list-styled" data-testid="azure-tutorial__service-endpoint">
+      <ol className="list-styled">
         <li>
           <SentenceWithHighlights
             translationKey="onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step1"
index 365c2e1ea0e49aeefa2e6f54624b888d13c6bfdd..40c421dd41a16b75236989a87f54132dff96c9c5 100644 (file)
@@ -27,6 +27,7 @@ import { mockAppState, mockLanguage, mockLoggedInUser } from '../../../../helper
 import { renderApp, RenderContext } from '../../../../helpers/testReactTestingUtils';
 import { Permissions } from '../../../../types/permissions';
 import { TokenType } from '../../../../types/token';
+import { OSs } from '../../types';
 import AzurePipelinesTutorial, { AzurePipelinesTutorialProps } from '../AzurePipelinesTutorial';
 
 jest.mock('../../../../api/user-tokens');
@@ -91,24 +92,14 @@ it('should render correctly and allow navigating between the different steps', a
   await clickButton(user, 'onboarding.build.gradle');
   assertGradleStepIsCorrectlyRendered();
 
-  //// Analysis step: Gradle
-  await clickButton(user, 'onboarding.build.gradle');
-  assertGradleStepIsCorrectlyRendered();
-
   //// Analysis step: C Family
   await clickButton(user, 'onboarding.build.cfamily');
 
-  // OS: Linux
-  await clickButton(user, 'onboarding.build.other.os.linux');
-  assertCFamilyLinuxStepIsCorrectlyRendered();
-
-  // OS: Windows
-  await clickButton(user, 'onboarding.build.other.os.win');
-  assertCFamilyWindowsStepIsCorrectlyRendered();
-
-  // OS: macOS
-  await clickButton(user, 'onboarding.build.other.os.mac');
-  assertCFamilyMacOSStepIsCorrectlyRendered();
+  // OS's
+  [OSs.Linux, OSs.Windows, OSs.MacOS].forEach(async os => {
+    await clickButton(user, `onboarding.build.other.os.${os}`);
+    assertCFamilyStepIsCorrectlyRendered(os);
+  });
 
   //// Analysis step: Other
   await clickButton(user, 'onboarding.build.other');
@@ -171,45 +162,12 @@ it('should not offer CFamily analysis if the language is not available', async (
   ).not.toBeInTheDocument();
 });
 
-function renderAzurePipelinesTutorial(
-  props: Partial<AzurePipelinesTutorialProps> = {},
-  {
-    appState = mockAppState({ branchesEnabled: true }),
-    languages = { c: mockLanguage({ key: 'c' }) }
-  }: RenderContext = {}
-) {
-  return renderApp(
-    '/',
-    <AzurePipelinesTutorial
-      baseUrl="http://localhost:9000"
-      component={mockComponent()}
-      currentUser={mockLoggedInUser({ permissions: { global: [Permissions.Scan] } })}
-      willRefreshAutomatically={true}
-      {...props}
-    />,
-    { appState, languages }
-  );
-}
-
-async function clickButton(user: UserEvent, name: string, context?: HTMLElement) {
-  if (context) {
-    await user.click(within(context).getByRole('button', { name }));
-  } else {
-    await user.click(screen.getByRole('button', { name }));
-  }
-}
-
-async function goToNextStep(user: UserEvent) {
-  await clickButton(user, 'continue');
-}
-
 function assertDefaultStepIsCorrectlyRendered() {
   expect(
     screen.getByRole('heading', {
       name: 'onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.title'
     })
   ).toBeInTheDocument();
-  expect(screen.getByTestId('azure-tutorial__extension')).toMatchSnapshot('extension step');
 }
 
 function assertServiceEndpointStepIsCorrectlyRendered() {
@@ -218,10 +176,7 @@ function assertServiceEndpointStepIsCorrectlyRendered() {
       name: 'onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.title'
     })
   ).toBeInTheDocument();
-  expect(screen.getByTestId('azure-tutorial__service-endpoint')).toMatchSnapshot(
-    'service endpoint step'
-  );
-  expect(screen.getByRole('button', { name: 'copy_to_clipboard' })).toBeInTheDocument();
+  expect(getCopyToClipboardValue()).toBe('https://sonarqube.example.com/');
   expect(
     screen.getByRole('button', { name: 'onboarding.token.generate.long' })
   ).toBeInTheDocument();
@@ -233,45 +188,26 @@ function assertDotNetStepIsCorrectlyRendered() {
       name: 'onboarding.tutorial.with.azure_pipelines.BranchAnalysis.title'
     })
   ).toBeInTheDocument();
-
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot('dotnet step');
-  expect(screen.getByRole('button', { name: 'copy_to_clipboard' })).toBeInTheDocument();
+  expect(getCopyToClipboardValue()).toBe('foo');
 }
 
 function assertMavenStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot('maven step');
-  expect(screen.getByRole('button', { name: 'copy_to_clipboard' })).toBeInTheDocument();
+  expect(getCopyToClipboardValue()).toMatchSnapshot('maven, copy additional properties');
 }
 
 function assertGradleStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot('gradle step');
-  expect(screen.getByRole('button', { name: 'copy_to_clipboard' })).toBeInTheDocument();
+  expect(getCopyToClipboardValue()).toMatchSnapshot('gradle, copy additional properties');
 }
 
-function assertCFamilyLinuxStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot(
-    'cfamily linux step'
-  );
-  expect(screen.getAllByRole('button', { name: 'copy_to_clipboard' })).toHaveLength(4);
-}
-
-function assertCFamilyWindowsStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot(
-    'cfamily windows step'
-  );
-  expect(screen.getAllByRole('button', { name: 'copy_to_clipboard' })).toHaveLength(4);
-}
-
-function assertCFamilyMacOSStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot(
-    'cfamily macos step'
-  );
-  expect(screen.getAllByRole('button', { name: 'copy_to_clipboard' })).toHaveLength(4);
+function assertCFamilyStepIsCorrectlyRendered(os: string) {
+  expect(getCopyToClipboardValue(0)).toMatchSnapshot(`cfamily ${os}, copy shell script`);
+  expect(getCopyToClipboardValue(1)).toBe('foo');
+  expect(getCopyToClipboardValue(2)).toMatchSnapshot(`cfamily ${os}, copy additional properties`);
+  expect(getCopyToClipboardValue(3)).toMatchSnapshot(`cfamily ${os}, copy build-wrapper command`);
 }
 
 function assertOtherStepIsCorrectlyRendered() {
-  expect(screen.getByTestId('azure-tutorial__analysis-command')).toMatchSnapshot('other step');
-  expect(screen.getByRole('button', { name: 'copy_to_clipboard' })).toBeInTheDocument();
+  expect(getCopyToClipboardValue()).toBe('foo');
 }
 
 function assertFinishStepIsCorrectlyRendered() {
@@ -280,5 +216,40 @@ function assertFinishStepIsCorrectlyRendered() {
       name: 'onboarding.tutorial.ci_outro.all_set.title'
     })
   ).toBeInTheDocument();
-  expect(screen.getByTestId('azure-tutorial__all-set')).toMatchSnapshot('all set step');
+}
+
+function renderAzurePipelinesTutorial(
+  props: Partial<AzurePipelinesTutorialProps> = {},
+  {
+    appState = mockAppState({ branchesEnabled: true }),
+    languages = { c: mockLanguage({ key: 'c' }) }
+  }: RenderContext = {}
+) {
+  return renderApp(
+    '/',
+    <AzurePipelinesTutorial
+      baseUrl="https://sonarqube.example.com/"
+      component={mockComponent({ key: 'foo' })}
+      currentUser={mockLoggedInUser({ permissions: { global: [Permissions.Scan] } })}
+      willRefreshAutomatically={true}
+      {...props}
+    />,
+    { appState, languages }
+  );
+}
+
+async function clickButton(user: UserEvent, name: string, context?: HTMLElement) {
+  if (context) {
+    await user.click(within(context).getByRole('button', { name }));
+  } else {
+    await user.click(screen.getByRole('button', { name }));
+  }
+}
+
+async function goToNextStep(user: UserEvent) {
+  await clickButton(user, 'continue');
+}
+
+function getCopyToClipboardValue(i = 0, name = 'copy_to_clipboard') {
+  return screen.getAllByRole('button', { name })[i].getAttribute('data-clipboard-text');
 }
index 8d91963a5b30f52c84f411f0818805995b3d0c6d..f02fe7b96215fae3ad3068e70606ae1ac16c77f4 100644 (file)
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`should render correctly and allow navigating between the different steps: all set step 1`] = `
-<div
-  class="boxed-group-inner"
-  data-testid="azure-tutorial__all-set"
->
-  <div
-    class="abs-width-600"
-  >
-    <p
-      class="big-spacer-bottom"
-    >
-      onboarding.tutorial.ci_outro.all_set.sentence
-      <strong>
-        onboarding.tutorial.ci_outro.all_set.sentence.all_set
-      </strong>
-    </p>
-    <div
-      class="display-flex-row big-spacer-bottom"
-    >
-      <div>
-        <img
-          alt=""
-          class="big-spacer-right"
-          src="/images/tutorials/commit.svg"
-          width="30"
-        />
-      </div>
-      <div>
-        <p
-          class="little-spacer-bottom"
-        >
-          <strong>
-            onboarding.tutorial.ci_outro.commit
-          </strong>
-        </p>
-        <p>
-          onboarding.tutorial.ci_outro.commit.why.azure
-        </p>
-      </div>
-    </div>
-    <div
-      class="display-flex-row"
-    >
-      <div>
-        <img
-          alt=""
-          class="big-spacer-right"
-          src="/images/tutorials/refresh.svg"
-          width="30"
-        />
-      </div>
-      <div>
-        <p
-          class="little-spacer-bottom"
-        >
-          <strong>
-            onboarding.tutorial.ci_outro.refresh
-          </strong>
-        </p>
-        <p>
-          onboarding.tutorial.ci_outro.refresh.why
-        </p>
-      </div>
-    </div>
-  </div>
-  <div
-    class="huge-spacer-bottom huge-spacer-top big-padded-top text-muted display-flex-center display-flex-justify-center"
-  >
-    <i
-      class="spinner spacer-right"
-    />
-    onboarding.tutorial.ci_outro.waiting_for_fist_analysis
-  </div>
-</div>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: cfamily linux step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily linux, copy additional properties 1`] = `"sonar.cfamily.build-wrapper-output=bw-output"`;
 
-.emotion-3:empty {
-  display: none;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily linux, copy build-wrapper command 1`] = `"./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output <your build command here>"`;
 
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <span
-    class="big-spacer-top display-block"
-  >
-    onboarding.tutorial.with.azure_pipelines.os
-  </span>
-  <div
-    class="big-spacer-top"
-  >
-    <ul
-      aria-label="onboarding.tutorial.with.azure_pipelines.os"
-      class="button-toggle"
-      role="group"
-    >
-      <li>
-        <button
-          aria-current="true"
-          class="button selected"
-          data-value="linux"
-          type="button"
-        >
-          onboarding.build.other.os.linux
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="win"
-          type="button"
-        >
-          onboarding.build.other.os.win
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="mac"
-          type="button"
-        >
-          onboarding.build.other.os.mac
-        </button>
-      </li>
-    </ul>
-  </div>
-  <div
-    class="github-cfamily-example-repositories-box big-padded boxed-group big-spacer-top abs-width-600"
-  >
-    <div
-      class="display-flex-center"
-    >
-      <img
-        alt=""
-        class="spacer-right"
-        height="20"
-        src="/images/alm/github.svg"
-      />
-      <a
-        class="spacer-left big"
-        href="https://github.com/orgs/sonarsource-cfamily-examples/repositories?q=sq+linux+azure"
-        rel="noopener noreferrer"
-        target="_blank"
-      >
-        <svg
-          aria-label="opens_in_new_window"
-          class="little-spacer-right"
-          height="14"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="14"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M12 9.25v2.5A2.25 2.25 0 0 1 9.75 14h-6.5A2.25 2.25 0 0 1 1 11.75v-6.5A2.25 2.25 0 0 1 3.25 3h5.5c.14 0 .25.11.25.25v.5c0 .14-.11.25-.25.25h-5.5C2.562 4 2 4.563 2 5.25v6.5c0 .688.563 1.25 1.25 1.25h6.5c.688 0 1.25-.563 1.25-1.25v-2.5c0-.14.11-.25.25-.25h.5c.14 0 .25.11.25.25zm3-6.75v4c0 .273-.227.5-.5.5a.497.497 0 0 1-.352-.148l-1.375-1.375L7.68 10.57a.27.27 0 0 1-.18.078.27.27 0 0 1-.18-.078l-.89-.89a.27.27 0 0 1-.078-.18.27.27 0 0 1 .078-.18l5.093-5.093-1.375-1.375A.497.497 0 0 1 10 2.5c0-.273.227-.5.5-.5h4c.273 0 .5.227.5.5z"
-            style="fill: currentColor;"
-          />
-        </svg>
-        sonarsource-cfamily-examples
-      </a>
-    </div>
-    <p
-      class="spacer-top"
-    >
-      onboarding.tutorial.cfamily.examples_repositories_description
-    </p>
-  </div>
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.script.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.task
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.inline
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            curl 'http://localhost/static/cpp/build-wrapper-linux-x86.zip' --output build-wrapper.zip
-unzip build-wrapper.zip
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="curl 'http://localhost/static/cpp/build-wrapper-linux-x86.zip' --output build-wrapper.zip
+exports[`should render correctly and allow navigating between the different steps: cfamily linux, copy shell script 1`] = `
+"curl 'http://localhost/static/cpp/build-wrapper-linux-x86.zip' --output build-wrapper.zip
 unzip build-wrapper.zip"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.cfamily
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence.mode
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key
-        </b>
-        <code
-          class="rule"
-        >
-          my-project
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="my-project"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.advanced
-        </b>
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.additional
-        </b>
-        <code
-          class="rule"
-        >
-          sonar.cfamily.build-wrapper-output=bw-output
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="sonar.cfamily.build-wrapper-output=bw-output"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence.task
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence.build_wrapper
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            ./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output &lt;your build command here&gt;
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="./build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output <your build command here>"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-        <div
-          aria-label="alert.tooltip.info"
-          class="alert spacer-top spacer-bottom emotion-3"
-          role="status"
-        >
-          <div
-            class="emotion-2"
-          >
-            <div
-              class="emotion-0"
-            >
-              <svg
-                height="16"
-                style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-                version="1.1"
-                viewBox="0 0 16 16"
-                width="16"
-                xml:space="preserve"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-              >
-                <path
-                  d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                  style="fill: #0271b9;"
-                />
-              </svg>
-            </div>
-            <div
-              class="alert-content emotion-1"
-            >
-              <p
-                class="spacer-bottom"
-              >
-                onboarding.tutorial.cfamilly.compilation_database_info
-                <a
-                  href="/documentation/analysis/languages/cfamily/"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.compilation_database_info.link
-                </a>
-              </p>
-              <p>
-                onboarding.tutorial.cfamilly.speed_caching
-                <a
-                  href="/documentation/analysis/languages/cfamily/#analysis-cache"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.speed_caching.link
-                </a>
-              </p>
-            </div>
-          </div>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after
-      </strong>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
 `;
 
-exports[`should render correctly and allow navigating between the different steps: cfamily macos step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily mac, copy additional properties 1`] = `"sonar.cfamily.build-wrapper-output=bw-output"`;
 
-.emotion-3:empty {
-  display: none;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily mac, copy build-wrapper command 1`] = `"./build-wrapper-macos-x86/build-wrapper-macos-x86 --out-dir bw-output <your build command here>"`;
 
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <span
-    class="big-spacer-top display-block"
-  >
-    onboarding.tutorial.with.azure_pipelines.os
-  </span>
-  <div
-    class="big-spacer-top"
-  >
-    <ul
-      aria-label="onboarding.tutorial.with.azure_pipelines.os"
-      class="button-toggle"
-      role="group"
-    >
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="linux"
-          type="button"
-        >
-          onboarding.build.other.os.linux
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="win"
-          type="button"
-        >
-          onboarding.build.other.os.win
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="true"
-          class="button selected"
-          data-value="mac"
-          type="button"
-        >
-          onboarding.build.other.os.mac
-        </button>
-      </li>
-    </ul>
-  </div>
-  <div
-    class="github-cfamily-example-repositories-box big-padded boxed-group big-spacer-top abs-width-600"
-  >
-    <div
-      class="display-flex-center"
-    >
-      <img
-        alt=""
-        class="spacer-right"
-        height="20"
-        src="/images/alm/github.svg"
-      />
-      <a
-        class="spacer-left big"
-        href="https://github.com/orgs/sonarsource-cfamily-examples/repositories?q=sq+macos+azure"
-        rel="noopener noreferrer"
-        target="_blank"
-      >
-        <svg
-          aria-label="opens_in_new_window"
-          class="little-spacer-right"
-          height="14"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="14"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M12 9.25v2.5A2.25 2.25 0 0 1 9.75 14h-6.5A2.25 2.25 0 0 1 1 11.75v-6.5A2.25 2.25 0 0 1 3.25 3h5.5c.14 0 .25.11.25.25v.5c0 .14-.11.25-.25.25h-5.5C2.562 4 2 4.563 2 5.25v6.5c0 .688.563 1.25 1.25 1.25h6.5c.688 0 1.25-.563 1.25-1.25v-2.5c0-.14.11-.25.25-.25h.5c.14 0 .25.11.25.25zm3-6.75v4c0 .273-.227.5-.5.5a.497.497 0 0 1-.352-.148l-1.375-1.375L7.68 10.57a.27.27 0 0 1-.18.078.27.27 0 0 1-.18-.078l-.89-.89a.27.27 0 0 1-.078-.18.27.27 0 0 1 .078-.18l5.093-5.093-1.375-1.375A.497.497 0 0 1 10 2.5c0-.273.227-.5.5-.5h4c.273 0 .5.227.5.5z"
-            style="fill: currentColor;"
-          />
-        </svg>
-        sonarsource-cfamily-examples
-      </a>
-    </div>
-    <p
-      class="spacer-top"
-    >
-      onboarding.tutorial.cfamily.examples_repositories_description
-    </p>
-  </div>
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.script.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.task
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.nix.sentence.inline
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            curl 'http://localhost/static/cpp/build-wrapper-macosx-x86.zip' --output build-wrapper.zip
-unzip build-wrapper.zip
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="curl 'http://localhost/static/cpp/build-wrapper-macosx-x86.zip' --output build-wrapper.zip
+exports[`should render correctly and allow navigating between the different steps: cfamily mac, copy shell script 1`] = `
+"curl 'http://localhost/static/cpp/build-wrapper-macosx-x86.zip' --output build-wrapper.zip
 unzip build-wrapper.zip"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.cfamily
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence.mode
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key
-        </b>
-        <code
-          class="rule"
-        >
-          my-project
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="my-project"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.advanced
-        </b>
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.additional
-        </b>
-        <code
-          class="rule"
-        >
-          sonar.cfamily.build-wrapper-output=bw-output
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="sonar.cfamily.build-wrapper-output=bw-output"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence.task
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence.build_wrapper
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            ./build-wrapper-macos-x86/build-wrapper-macos-x86 --out-dir bw-output &lt;your build command here&gt;
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="./build-wrapper-macos-x86/build-wrapper-macos-x86 --out-dir bw-output <your build command here>"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-        <div
-          aria-label="alert.tooltip.info"
-          class="alert spacer-top spacer-bottom emotion-3"
-          role="status"
-        >
-          <div
-            class="emotion-2"
-          >
-            <div
-              class="emotion-0"
-            >
-              <svg
-                height="16"
-                style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-                version="1.1"
-                viewBox="0 0 16 16"
-                width="16"
-                xml:space="preserve"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-              >
-                <path
-                  d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                  style="fill: #0271b9;"
-                />
-              </svg>
-            </div>
-            <div
-              class="alert-content emotion-1"
-            >
-              <p
-                class="spacer-bottom"
-              >
-                onboarding.tutorial.cfamilly.compilation_database_info
-                <a
-                  href="/documentation/analysis/languages/cfamily/"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.compilation_database_info.link
-                </a>
-              </p>
-              <p>
-                onboarding.tutorial.cfamilly.speed_caching
-                <a
-                  href="/documentation/analysis/languages/cfamily/#analysis-cache"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.speed_caching.link
-                </a>
-              </p>
-            </div>
-          </div>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after
-      </strong>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
 `;
 
-exports[`should render correctly and allow navigating between the different steps: cfamily windows step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily win, copy additional properties 1`] = `"sonar.cfamily.build-wrapper-output=bw-output"`;
 
-.emotion-3:empty {
-  display: none;
-}
+exports[`should render correctly and allow navigating between the different steps: cfamily win, copy build-wrapper command 1`] = `"build-wrapper-win-x86/build-wrapper-win-x86-64.exe --out-dir bw-output <your build command here>"`;
 
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <span
-    class="big-spacer-top display-block"
-  >
-    onboarding.tutorial.with.azure_pipelines.os
-  </span>
-  <div
-    class="big-spacer-top"
-  >
-    <ul
-      aria-label="onboarding.tutorial.with.azure_pipelines.os"
-      class="button-toggle"
-      role="group"
-    >
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="linux"
-          type="button"
-        >
-          onboarding.build.other.os.linux
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="true"
-          class="button selected"
-          data-value="win"
-          type="button"
-        >
-          onboarding.build.other.os.win
-        </button>
-      </li>
-      <li>
-        <button
-          aria-current="false"
-          class="button"
-          data-value="mac"
-          type="button"
-        >
-          onboarding.build.other.os.mac
-        </button>
-      </li>
-    </ul>
-  </div>
-  <div
-    class="github-cfamily-example-repositories-box big-padded boxed-group big-spacer-top abs-width-600"
-  >
-    <div
-      class="display-flex-center"
-    >
-      <img
-        alt=""
-        class="spacer-right"
-        height="20"
-        src="/images/alm/github.svg"
-      />
-      <a
-        class="spacer-left big"
-        href="https://github.com/orgs/sonarsource-cfamily-examples/repositories?q=sq+windows+azure"
-        rel="noopener noreferrer"
-        target="_blank"
-      >
-        <svg
-          aria-label="opens_in_new_window"
-          class="little-spacer-right"
-          height="14"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="14"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M12 9.25v2.5A2.25 2.25 0 0 1 9.75 14h-6.5A2.25 2.25 0 0 1 1 11.75v-6.5A2.25 2.25 0 0 1 3.25 3h5.5c.14 0 .25.11.25.25v.5c0 .14-.11.25-.25.25h-5.5C2.562 4 2 4.563 2 5.25v6.5c0 .688.563 1.25 1.25 1.25h6.5c.688 0 1.25-.563 1.25-1.25v-2.5c0-.14.11-.25.25-.25h.5c.14 0 .25.11.25.25zm3-6.75v4c0 .273-.227.5-.5.5a.497.497 0 0 1-.352-.148l-1.375-1.375L7.68 10.57a.27.27 0 0 1-.18.078.27.27 0 0 1-.18-.078l-.89-.89a.27.27 0 0 1-.078-.18.27.27 0 0 1 .078-.18l5.093-5.093-1.375-1.375A.497.497 0 0 1 10 2.5c0-.273.227-.5.5-.5h4c.273 0 .5.227.5.5z"
-            style="fill: currentColor;"
-          />
-        </svg>
-        sonarsource-cfamily-examples
-      </a>
-    </div>
-    <p
-      class="spacer-top"
-    >
-      onboarding.tutorial.cfamily.examples_repositories_description
-    </p>
-  </div>
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.script.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.win.sentence.task
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_wrapper.ccpp.win.sentence.inline
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            Invoke-WebRequest -Uri 'http://localhost/static/cpp/build-wrapper-win-x86.zip' -OutFile 'build-wrapper.zip'
-Expand-Archive -Path 'build-wrapper.zip' -DestinationPath '.'
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="Invoke-WebRequest -Uri 'http://localhost/static/cpp/build-wrapper-win-x86.zip' -OutFile 'build-wrapper.zip'
+exports[`should render correctly and allow navigating between the different steps: cfamily win, copy shell script 1`] = `
+"Invoke-WebRequest -Uri 'http://localhost/static/cpp/build-wrapper-win-x86.zip' -OutFile 'build-wrapper.zip'
 Expand-Archive -Path 'build-wrapper.zip' -DestinationPath '.'"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.cfamily
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence.mode
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key
-        </b>
-        <code
-          class="rule"
-        >
-          my-project
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="my-project"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.advanced
-        </b>
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare_additional.ccpp.additional
-        </b>
-        <code
-          class="rule"
-        >
-          sonar.cfamily.build-wrapper-output=bw-output
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="sonar.cfamily.build-wrapper-output=bw-output"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build.ccpp.sentence.task
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.build_script.ccpp.sentence.build_wrapper
-        </strong>
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            build-wrapper-win-x86/build-wrapper-win-x86-64.exe --out-dir bw-output &lt;your build command here&gt;
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="build-wrapper-win-x86/build-wrapper-win-x86-64.exe --out-dir bw-output <your build command here>"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-        <div
-          aria-label="alert.tooltip.info"
-          class="alert spacer-top spacer-bottom emotion-3"
-          role="status"
-        >
-          <div
-            class="emotion-2"
-          >
-            <div
-              class="emotion-0"
-            >
-              <svg
-                height="16"
-                style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-                version="1.1"
-                viewBox="0 0 16 16"
-                width="16"
-                xml:space="preserve"
-                xmlns:xlink="http://www.w3.org/1999/xlink"
-              >
-                <path
-                  d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                  style="fill: #0271b9;"
-                />
-              </svg>
-            </div>
-            <div
-              class="alert-content emotion-1"
-            >
-              <p
-                class="spacer-bottom"
-              >
-                onboarding.tutorial.cfamilly.compilation_database_info
-                <a
-                  href="/documentation/analysis/languages/cfamily/"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.compilation_database_info.link
-                </a>
-              </p>
-              <p>
-                onboarding.tutorial.cfamilly.speed_caching
-                <a
-                  href="/documentation/analysis/languages/cfamily/#analysis-cache"
-                  rel="noopener noreferrer"
-                  target="_blank"
-                >
-                  onboarding.tutorial.cfamilly.speed_caching.link
-                </a>
-              </p>
-            </div>
-          </div>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.ccpp.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after
-      </strong>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: dotnet step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
-
-.emotion-3:empty {
-  display: none;
-}
-
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.dotnet
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key
-        </b>
-        <code
-          class="rule"
-        >
-          my-project
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="my-project"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after
-      </strong>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: extension step 1`] = `
-<span
-  data-testid="azure-tutorial__extension"
->
-  onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence
-  <a
-    href="https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube"
-    rel="noopener noreferrer"
-    target="_blank"
-  >
-    <svg
-      aria-label="opens_in_new_window"
-      class="little-spacer-right"
-      height="14"
-      style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-      version="1.1"
-      viewBox="0 0 16 16"
-      width="14"
-      xml:space="preserve"
-      xmlns:xlink="http://www.w3.org/1999/xlink"
-    >
-      <path
-        d="M12 9.25v2.5A2.25 2.25 0 0 1 9.75 14h-6.5A2.25 2.25 0 0 1 1 11.75v-6.5A2.25 2.25 0 0 1 3.25 3h5.5c.14 0 .25.11.25.25v.5c0 .14-.11.25-.25.25h-5.5C2.562 4 2 4.563 2 5.25v6.5c0 .688.563 1.25 1.25 1.25h6.5c.688 0 1.25-.563 1.25-1.25v-2.5c0-.14.11-.25.25-.25h.5c.14 0 .25.11.25.25zm3-6.75v4c0 .273-.227.5-.5.5a.497.497 0 0 1-.352-.148l-1.375-1.375L7.68 10.57a.27.27 0 0 1-.18.078.27.27 0 0 1-.18-.078l-.89-.89a.27.27 0 0 1-.078-.18.27.27 0 0 1 .078-.18l5.093-5.093-1.375-1.375A.497.497 0 0 1 10 2.5c0-.273.227-.5.5-.5h4c.273 0 .5.227.5.5z"
-        style="fill: currentColor;"
-      />
-    </svg>
-    onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence.link
-  </a>
-  <strong>
-    onboarding.tutorial.with.azure_pipelines.ExtensionInstallation.sentence.button
-  </strong>
-</span>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: gradle step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
-
-.emotion-3:empty {
-  display: none;
-}
-
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.gradle
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.properties
-        </strong>
-        :
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            # Additional properties that will be passed to the scanner,
-# Put one key=value per line, example:
-# sonar.exclusions=**/*.bin
-sonar.projectKey=my-project
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="# Additional properties that will be passed to the scanner,
-# Put one key=value per line, example:
-# sonar.exclusions=**/*.bin
-sonar.projectKey=my-project"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.title
-      <ul
-        class="list-styled"
-      >
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_version
-          </strong>
-          <strong>
-            11
-          </strong>
-           
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.or_higher
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_architecture
-          </strong>
-          <strong>
-            x64
-          </strong>
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_source
-          </strong>
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.pre-installed
-          </strong>
-        </li>
-      </ul>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.onboarding.build.gradle
-    </li>
-    <ul
-      class="list-styled big-spacer-bottom"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.option
-        </strong>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
 `;
 
-exports[`should render correctly and allow navigating between the different steps: gradle step 2`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
-
-.emotion-3:empty {
-  display: none;
-}
-
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.gradle
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.properties
-        </strong>
-        :
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            # Additional properties that will be passed to the scanner,
-# Put one key=value per line, example:
-# sonar.exclusions=**/*.bin
-sonar.projectKey=my-project
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="# Additional properties that will be passed to the scanner,
+exports[`should render correctly and allow navigating between the different steps: gradle, copy additional properties 1`] = `
+"# Additional properties that will be passed to the scanner,
 # Put one key=value per line, example:
 # sonar.exclusions=**/*.bin
-sonar.projectKey=my-project"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.title
-      <ul
-        class="list-styled"
-      >
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_version
-          </strong>
-          <strong>
-            11
-          </strong>
-           
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.or_higher
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_architecture
-          </strong>
-          <strong>
-            x64
-          </strong>
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_source
-          </strong>
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.pre-installed
-          </strong>
-        </li>
-      </ul>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.onboarding.build.gradle
-    </li>
-    <ul
-      class="list-styled big-spacer-bottom"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.option
-        </strong>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
+sonar.projectKey=foo"
 `;
 
-exports[`should render correctly and allow navigating between the different steps: maven step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
-
-.emotion-3:empty {
-  display: none;
-}
-
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.gradle
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.advanced_properties.sentence.properties
-        </strong>
-        :
-        <div
-          class="code-snippet spacer-top spacer-bottom display-flex-row"
-        >
-          <pre
-            class="flex-1"
-            tabindex="0"
-          >
-            # Additional properties that will be passed to the scanner,
-# Put one key=value per line, example:
-# sonar.exclusions=**/*.bin
-sonar.projectKey=my-project
-          </pre>
-          <button
-            aria-label="copy_to_clipboard"
-            class="button no-select"
-            data-clipboard-text="# Additional properties that will be passed to the scanner,
+exports[`should render correctly and allow navigating between the different steps: maven, copy additional properties 1`] = `
+"# Additional properties that will be passed to the scanner,
 # Put one key=value per line, example:
 # sonar.exclusions=**/*.bin
-sonar.projectKey=my-project"
-            tabindex="0"
-            type="button"
-          >
-            <svg
-              class="little-spacer-right"
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <g
-                fill="currentColor"
-                fill-rule="nonzero"
-              >
-                <path
-                  d="M2.931 15.005V3H2v13h9v-.995z"
-                />
-                <path
-                  d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-                />
-                <path
-                  d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-                />
-              </g>
-            </svg>
-            copy
-          </button>
-        </div>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.title
-      <ul
-        class="list-styled"
-      >
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_version
-          </strong>
-          <strong>
-            11
-          </strong>
-           
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.or_higher
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_architecture
-          </strong>
-          <strong>
-            x64
-          </strong>
-        </li>
-        <li>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.sentence
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.java_source
-          </strong>
-          <strong>
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java_installer.pre-installed
-          </strong>
-        </li>
-      </ul>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.onboarding.build.maven
-    </li>
-    <ul
-      class="list-styled big-spacer-bottom"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.java.settings.sentence.option
-        </strong>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: other step 1`] = `
-.emotion-2 {
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-align-items: stretch;
-  -webkit-box-align: stretch;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-}
-
-.emotion-1 {
-  -webkit-flex: 1 1 auto;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  overflow: auto;
-  text-align: left;
-  padding: 8px calc(2 * 8px);
-}
-
-.emotion-3 {
-  border: 1px solid;
-  border-radius: 2px;
-  margin-bottom: 8px;
-  border-color: #b1dff3;
-  background-color: #d9edf7;
-  color: #0e516f;
-  display: block;
-}
-
-.emotion-3:empty {
-  display: none;
-}
-
-.emotion-3 a,
-.emotion-3 .button-link {
-  border-color: #236a97;
-}
-
-.emotion-0 {
-  -webkit-flex: 0 0 auto;
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  display: -webkit-box;
-  display: -webkit-flex;
-  display: -ms-flexbox;
-  display: flex;
-  -webkit-box-pack: center;
-  -ms-flex-pack: center;
-  -webkit-justify-content: center;
-  justify-content: center;
-  -webkit-align-items: center;
-  -webkit-box-align: center;
-  -ms-flex-align: center;
-  align-items: center;
-  width: calc(4 * 8px);
-  border-right: 1px solid;
-  border-color: #b1dff3;
-}
-
-<div
-  data-testid="azure-tutorial__analysis-command"
->
-  <div
-    aria-label="alert.tooltip.info"
-    class="alert big-spacer-top emotion-3"
-    role="status"
-  >
-    <div
-      class="emotion-2"
-    >
-      <div
-        class="emotion-0"
-      >
-        <svg
-          height="16"
-          style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-          version="1.1"
-          viewBox="0 0 16 16"
-          width="16"
-          xml:space="preserve"
-          xmlns:xlink="http://www.w3.org/1999/xlink"
-        >
-          <path
-            d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-            style="fill: #0271b9;"
-          />
-        </svg>
-      </div>
-      <div
-        class="alert-content emotion-1"
-      >
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info
-        <a
-          href="/documentation/analysis/azuredevops-integration/"
-          rel="noopener noreferrer"
-          target="_blank"
-        >
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.info.doc_link
-        </a>
-      </div>
-    </div>
-  </div>
-  <ol
-    class="list-styled big-spacer-top"
-  >
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.pipeline
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.sentence.before
-      </strong>
-    </li>
-    <ul
-      class="list-styled"
-    >
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.endpoint.sentence.endpoint
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.section
-        </strong>
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.prepare.run_analysis.values.other
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence
-        <strong>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.manual.sentence.mode
-        </strong>
-      </li>
-      <li>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence
-        <b>
-          onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.key.sentence.project_key
-        </b>
-        <code
-          class="rule"
-        >
-          my-project
-        </code>
-        <button
-          aria-label="copy_to_clipboard"
-          class="button no-select button-icon"
-          data-clipboard-text="my-project"
-          style="color: rgb(35, 106, 151);"
-          tabindex="0"
-          type="button"
-        >
-          <svg
-            height="16"
-            style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-            version="1.1"
-            viewBox="0 0 16 16"
-            width="16"
-            xml:space="preserve"
-            xmlns:xlink="http://www.w3.org/1999/xlink"
-          >
-            <g
-              fill="currentColor"
-              fill-rule="nonzero"
-            >
-              <path
-                d="M2.931 15.005V3H2v13h9v-.995z"
-              />
-              <path
-                d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-              />
-              <path
-                d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-              />
-            </g>
-          </svg>
-        </button>
-      </li>
-    </ul>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.task
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.run.sentence.after
-      </strong>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.sentence.task
-      </strong>
-      <div
-        aria-label="alert.tooltip.info"
-        class="alert spacer-top emotion-3"
-        role="status"
-      >
-        <div
-          class="emotion-2"
-        >
-          <div
-            class="emotion-0"
-          >
-            <svg
-              height="16"
-              style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-              version="1.1"
-              viewBox="0 0 16 16"
-              width="16"
-              xml:space="preserve"
-              xmlns:xlink="http://www.w3.org/1999/xlink"
-            >
-              <path
-                d="M10.333 12.375v-1.458a.288.288 0 0 0-.291-.292h-.875V5.958a.288.288 0 0 0-.292-.291H5.958a.288.288 0 0 0-.291.291v1.459c0 .164.127.291.291.291h.875v2.917h-.875a.288.288 0 0 0-.291.292v1.458c0 .164.127.292.291.292h4.084a.288.288 0 0 0 .291-.292zM9.167 4.208V2.75a.288.288 0 0 0-.292-.292h-1.75a.288.288 0 0 0-.292.292v1.458c0 .164.128.292.292.292h1.75a.288.288 0 0 0 .292-.292zM15 8c0 3.865-3.135 7-7 7s-7-3.135-7-7 3.135-7 7-7 7 3.135 7 7z"
-                style="fill: #0271b9;"
-              />
-            </svg>
-          </div>
-          <div
-            class="alert-content emotion-1"
-          >
-            onboarding.tutorial.with.azure_pipelines.BranchAnalysis.publish_qg.info.sentence1
-          </div>
-        </div>
-      </div>
-    </li>
-    <li>
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.tab
-      </strong>
-      <strong>
-        onboarding.tutorial.with.azure_pipelines.BranchAnalysis.continous_integration.sentence.continuous_integration
-      </strong>
-    </li>
-    <hr />
-    onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection
-    <a
-      href="/documentation/analysis/azuredevops-integration/"
-      rel="noopener noreferrer"
-      target="_blank"
-    >
-      onboarding.tutorial.with.azure_pipelines.BranchAnalysis.branch_protection.link
-    </a>
-  </ol>
-</div>
-`;
-
-exports[`should render correctly and allow navigating between the different steps: service endpoint step 1`] = `
-<ol
-  class="list-styled"
-  data-testid="azure-tutorial__service-endpoint"
->
-  <li>
-    onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step1.sentence
-    <strong>
-      onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step1.sentence.menu
-    </strong>
-  </li>
-  <li>
-    onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step2.sentence
-    <strong>
-      onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step2.sentence.type
-    </strong>
-  </li>
-  <li>
-    onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step3.sentence
-    <code
-      class="rule"
-    >
-      http://localhost:9000
-    </code>
-    <button
-      aria-label="copy_to_clipboard"
-      class="button no-select button-icon"
-      data-clipboard-text="http://localhost:9000"
-      style="color: rgb(35, 106, 151);"
-      tabindex="0"
-      type="button"
-    >
-      <svg
-        height="16"
-        style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 1.41421;"
-        version="1.1"
-        viewBox="0 0 16 16"
-        width="16"
-        xml:space="preserve"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-      >
-        <g
-          fill="currentColor"
-          fill-rule="nonzero"
-        >
-          <path
-            d="M2.931 15.005V3H2v13h9v-.995z"
-          />
-          <path
-            d="M10 4.015h3V14H4V1h6v3.015zM9 8V6H8v2H6v1h2v2h1V9h2V8H9z"
-          />
-          <path
-            d="M11 1v2h2a2.151 2.151 0 0 0-2-2z"
-          />
-        </g>
-      </svg>
-    </button>
-  </li>
-  <li>
-    <span>
-      onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step4.sentence
-      :
-    </span>
-    <button
-      class="button spacer-left"
-      type="button"
-    >
-      onboarding.token.generate.long
-    </button>
-  </li>
-  <li>
-    onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step5.sentence
-  </li>
-  <li>
-    onboarding.tutorial.with.azure_pipelines.ServiceEndpoint.step6.sentence
-  </li>
-</ol>
+sonar.projectKey=foo"
 `;
index dbf457dd86197dace3501a3859821b2d07b52ba9..58c3805e34d93bc0833f9cb74b374c217ffd21f8 100644 (file)
@@ -37,7 +37,7 @@ export default function AllSetStep(props: AllSetStepProps) {
       finished={false}
       open={open}
       renderForm={() => (
-        <div data-testid="azure-tutorial__all-set" className="boxed-group-inner">
+        <div className="boxed-group-inner">
           <AllSet alm={alm} willRefreshAutomatically={willRefreshAutomatically} />
         </div>
       )}