forked from karma-runner/karma
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: detect type for URLs with query parameter or fragment identifier
Closes karma-runner#3497
- Loading branch information
Showing
7 changed files
with
103 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Feature: Helpful warning and errors | ||
In order to use Karma | ||
As a person who wants to write great tests | ||
I want to get messages which help me to fix problems | ||
|
||
Scenario: Karma fails to determine a file type from the file extension | ||
Given a configuration with: | ||
""" | ||
files = [ 'modules/**/*.mjs' ]; | ||
browsers = ['ChromeHeadlessNoSandbox']; | ||
frameworks = ['mocha', 'chai']; | ||
plugins = [ | ||
'karma-mocha', | ||
'karma-chai', | ||
'karma-chrome-launcher' | ||
]; | ||
""" | ||
When I start Karma | ||
Then the stdout matches RegExp: | ||
""" | ||
WARN \[middleware:karma\]: Unable to determine file type from the file extension, defaulting to js. | ||
To silence the warning specify a valid type for .+modules/minus.mjs in the configuration file. | ||
See http://karma-runner.github.io/latest/config/files.html | ||
""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
const File = require('../../lib/file') | ||
|
||
describe('File', () => { | ||
describe('detectType', () => { | ||
it('should detect type from the file extension', () => { | ||
const file = new File('/path/to/file.js') | ||
expect(file.detectType()).to.equal('js') | ||
}) | ||
|
||
it('should return empty string if file does not have an extension', () => { | ||
const file = new File('/path/to/file-without-extension') | ||
expect(file.detectType()).to.equal('') | ||
}) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
const Url = require('../../lib/url') | ||
|
||
describe('Url', () => { | ||
describe('detectType', () => { | ||
it('should detect type from the file extension in the path of the URL', () => { | ||
const file = new Url('https://example.com/path/to/file.js') | ||
expect(file.detectType()).to.equal('js') | ||
}) | ||
|
||
it('should detect type for URL with query params', () => { | ||
const file = new Url('https://example.com/path/to/file.js?query=simple') | ||
expect(file.detectType()).to.equal('js') | ||
}) | ||
|
||
it('should detect type for URL with a fragment', () => { | ||
const file = new Url('https://example.com/path/to/file.js#fragment') | ||
expect(file.detectType()).to.equal('js') | ||
}) | ||
|
||
it('should return empty string if URL does not have path', () => { | ||
const file = new Url('https://example.com') | ||
expect(file.detectType()).to.equal('') | ||
}) | ||
|
||
it('should return empty string if path in the URL does not have an extension', () => { | ||
const file = new Url('https://example.com/path/to/file-without-extension') | ||
expect(file.detectType()).to.equal('') | ||
}) | ||
}) | ||
}) |