Skip to content

Commit

Permalink
improve
Browse files Browse the repository at this point in the history
  • Loading branch information
mysticatea committed Jun 16, 2019
1 parent 3de745b commit bc36bb3
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 66 deletions.
37 changes: 37 additions & 0 deletions .azure-pipelines/job.yml
@@ -0,0 +1,37 @@
parameters:
name: ""
displayName: ""
vmImage: ""
nodeVersion: ""

jobs:
- job: ${{parameters.name}}
displayName: ${{parameters.displayName}}
pool:
vmImage: ${{parameters.vmImage}}
steps:
- task: NodeTool@0
displayName: Install Node.js
inputs:
versionSpec: ${{parameters.nodeVersion}}

- script: npm install
displayName: Install Packages

- script: npm test
displayName: Test

- task: PublishTestResults@2
displayName: Process Test Results
condition: succeededOrFailed()
inputs:
testRunner: JUnit
testResultsFiles: $(System.DefaultWorkingDirectory)/test-results.xml

- task: PublishCodeCoverageResults@1
displayName: Process Coverage Results
condition: succeededOrFailed()
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
reportDirectory: $(System.DefaultWorkingDirectory)/coverage
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -17,3 +17,4 @@ versions.json
.sublimelinterrc
.eslint-release-info.json
.nyc_output
/test-results.xml
5 changes: 4 additions & 1 deletion Makefile.js
Expand Up @@ -544,7 +544,10 @@ target.test = function() {

echo("Running unit tests");

lastReturn = exec(`${getBinFile("nyc")} -- ${MOCHA} -R progress -t ${MOCHA_TIMEOUT} -c ${TEST_FILES}`);
// In CI (Azure Pipelines), use JUnit reporter.
const reporter = process.env.TF_BUILD ? "mocha-junit-reporter" : "progress";

lastReturn = exec(`${getBinFile("nyc")} -- ${MOCHA} -R ${reporter} -t ${MOCHA_TIMEOUT} -c ${TEST_FILES}`);
if (lastReturn.code !== 0) {
errors++;
}
Expand Down
96 changes: 33 additions & 63 deletions azure-pipelines.yml
Expand Up @@ -2,67 +2,37 @@ trigger:
- master

jobs:
- job: tests_on_linux
displayName: Test on Linux
pool:
vmImage: 'Ubuntu-16.04'
strategy:
matrix:
"Node.js 12":
node_version: 12.x
"Node.js 10":
node_version: 10.x
"Node.js 8":
node_version: 8.x
steps:
- task: NodeTool@0
displayName: Install Node.js
inputs:
versionSpec: $(node_version)
- script: npm install
displayName: Install Packages
- script: npm test
displayName: Test
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
reportDirectory: $(System.DefaultWorkingDirectory)/coverage

- job: tests_on_windows
displayName: Test on Windows
pool:
vmImage: 'Windows-2019'
steps:
- task: NodeTool@0
displayName: Install Node.js
inputs:
versionSpec: 12.x
- script: npm install
displayName: Install Packages
- script: npm test
displayName: Test
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
reportDirectory: $(System.DefaultWorkingDirectory)/coverage
- template: .azure-pipelines/job.yml
parameters:
name: test_on_linux_node12
displayName: Test on Linux (Node.js 12)
vmImage: Ubuntu-16.04
nodeVersion: 12.x

- job: tests_on_macos
displayName: Test on macOS
pool:
vmImage: 'macOS-10.14'
steps:
- task: NodeTool@0
displayName: Install Node.js
inputs:
versionSpec: 12.x
- script: npm install
displayName: Install Packages
- script: npm test
displayName: Test
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
reportDirectory: $(System.DefaultWorkingDirectory)/coverage
- template: .azure-pipelines/job.yml
parameters:
name: test_on_linux_node10
displayName: Test on Linux (Node.js 10)
vmImage: Ubuntu-16.04
nodeVersion: 10.x

- template: .azure-pipelines/job.yml
parameters:
name: test_on_linux_node8
displayName: Test on Linux (Node.js 8)
vmImage: Ubuntu-16.04
nodeVersion: 8.x

- template: .azure-pipelines/job.yml
parameters:
name: test_on_windows_node12
displayName: Test on Windows (Node.js 12)
vmImage: Windows-2019
nodeVersion: 12.x

- template: .azure-pipelines/job.yml
parameters:
name: test_on_macos_node12
displayName: Test on macOS (Node.js 12)
vmImage: macOS-10.14
nodeVersion: 12.x
16 changes: 14 additions & 2 deletions lib/rule-tester/rule-tester.js
Expand Up @@ -123,6 +123,18 @@ function freezeDeeply(x) {
}
}

/**
* Replace control characters by `\u00xx` form.
* @param {string} text The text to sanitize.
* @returns {string} The sanitized text.
*/
function sanitize(text) {
return text.replace(
/[\u0000-\u001f]/gu, // eslint-disable-line no-control-regex
c => `\\u${c.codePointAt(0).toString(16).padStart(4, "0")}`
);
}

//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------
Expand Down Expand Up @@ -613,15 +625,15 @@ class RuleTester {
RuleTester.describe(ruleName, () => {
RuleTester.describe("valid", () => {
test.valid.forEach(valid => {
RuleTester.it(typeof valid === "object" ? valid.code : valid, () => {
RuleTester.it(sanitize(typeof valid === "object" ? valid.code : valid), () => {
testValidTemplate(valid);
});
});
});

RuleTester.describe("invalid", () => {
test.invalid.forEach(invalid => {
RuleTester.it(invalid.code, () => {
RuleTester.it(sanitize(invalid.code), () => {
testInvalidTemplate(invalid);
});
});
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -118,6 +118,7 @@
"markdownlint-cli": "^0.15.0",
"metro-memory-fs": "^0.53.1",
"mocha": "^6.1.2",
"mocha-junit-reporter": "^1.23.0",
"npm-license": "^0.3.3",
"nyc": "^13.3.0",
"proxyquire": "^2.0.1",
Expand Down

0 comments on commit bc36bb3

Please sign in to comment.