mirror of
				https://github.com/KevinMidboe/vue-js-modal.git
				synced 2025-10-29 18:00:20 +00:00 
			
		
		
		
	Added unit tests for "parser.js" and "util.js"
This commit is contained in:
		
							
								
								
									
										43
									
								
								test/unit/karma.conf.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								test/unit/karma.conf.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| // Karma configuration | ||||
| var webpackConfig = require('../../build/webpack.test.config.js') | ||||
|  | ||||
| module.exports = function(config) { | ||||
|   config.set({ | ||||
|     frameworks: [ | ||||
|       'mocha' | ||||
|     ], | ||||
|     files: [ | ||||
|       './tests.webpack.js' | ||||
|     ], | ||||
|     browsers: [ | ||||
|       'Chrome' | ||||
|     ], | ||||
|     preprocessors: { | ||||
|       './tests.webpack.js': ['webpack', 'sourcemap'] | ||||
|     }, | ||||
|     reporters: ['spec'], | ||||
|     plugins: [ | ||||
|       // Launchers | ||||
|       'karma-chrome-launcher', | ||||
|  | ||||
|       // Test Libraries | ||||
|       'karma-mocha', | ||||
|       'karma-sinon-chai', | ||||
|  | ||||
|       // Preprocessors | ||||
|       'karma-webpack', | ||||
|       'karma-sourcemap-loader', | ||||
|       // Reporters | ||||
|       'karma-spec-reporter', | ||||
|       'karma-coverage' | ||||
|     ], | ||||
|  | ||||
|     webpack: webpackConfig, | ||||
|     webpackMiddleware: { | ||||
|       noInfo: true | ||||
|     }, | ||||
|     logLevel: config.LOG_INFO, | ||||
|     singleRun: true, | ||||
|     concurrency: Infinity, | ||||
|   }) | ||||
| } | ||||
							
								
								
									
										69
									
								
								test/unit/parser.spec.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								test/unit/parser.spec.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| var parser = require('../../src/parser') | ||||
| var { expect } = require('chai') | ||||
|  | ||||
| describe('parser.js', () => { | ||||
|   describe('#parse', () => { | ||||
|     describe('Correct types', () => { | ||||
|       it('Should parse numbers', () => { | ||||
|         let object = parser.parse(10) | ||||
|  | ||||
|         expect(object.value).to.be.a('number') | ||||
|         expect(object.type).to.be.a('string') | ||||
|  | ||||
|         expect(object.value).to.equal(10) | ||||
|         expect(object.type).to.equal('px') | ||||
|       }) | ||||
|  | ||||
|       it('Should parse strings', () => { | ||||
|         let object = parser.parse('10') | ||||
|  | ||||
|         expect(object.value).to.be.a('number') | ||||
|         expect(object.type).to.be.a('string') | ||||
|  | ||||
|         expect(object.value).to.equal(10) | ||||
|         expect(object.type).to.equal('px') | ||||
|       }) | ||||
|  | ||||
|       it ('Should parse "auto" string, auto => {type: "auto", value: 0}', () => { | ||||
|         let object = parser.parse('auto') | ||||
|  | ||||
|         expect(object.value).to.equal(0) | ||||
|         expect(object.type).to.equal('auto') | ||||
|       }) | ||||
|  | ||||
|       it ('Should parse wrong types', () => { | ||||
|         let nullValue = parser.parse(null) | ||||
|         let booleanValue = parser.parse(false) | ||||
|  | ||||
|         expect(nullValue.value).to.equal(null) | ||||
|         expect(nullValue.type).to.equal('') | ||||
|  | ||||
|         expect(booleanValue.value).to.equal(false) | ||||
|         expect(booleanValue.type).to.equal('') | ||||
|       }) | ||||
|     }) | ||||
|  | ||||
|     describe('Parsing suffixed string', () => { | ||||
|       it ('Should parse "px"', () => { | ||||
|         let object = parser.parse('10px') | ||||
|  | ||||
|         expect(object.value).to.equal(10) | ||||
|         expect(object.type).to.equal('px') | ||||
|       }) | ||||
|  | ||||
|       it ('Should parse "%"', () => { | ||||
|         let object = parser.parse('10%') | ||||
|  | ||||
|         expect(object.value).to.equal(10) | ||||
|         expect(object.type).to.equal('%') | ||||
|       }) | ||||
|  | ||||
|       it ('Should not parse "%px"', () => { | ||||
|         let object = parser.parse('10%px') | ||||
|  | ||||
|         expect(object.value).to.be.a('string') | ||||
|         expect(object.type).to.equal('') | ||||
|       }) | ||||
|     }) | ||||
|   }) | ||||
| }) | ||||
							
								
								
									
										2
									
								
								test/unit/tests.webpack.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/unit/tests.webpack.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| var testsContext = require.context('.', true, /\.spec$/) | ||||
| testsContext.keys().forEach(testsContext) | ||||
							
								
								
									
										26
									
								
								test/unit/util.spec.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								test/unit/util.spec.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| var util = require('../../src/util') | ||||
| var { expect } = require('chai') | ||||
|  | ||||
| describe('util.js', () => { | ||||
|   describe('#inRange', () => { | ||||
|     it('Should return the source value (in the range)', () => { | ||||
|       let value = util.inRange(-10, 10, 0) | ||||
|       expect(value).to.equal(0) | ||||
|     }) | ||||
|  | ||||
|     it('Should not be equal to the source value (outside the range)', () => { | ||||
|       let value = util.inRange(-10, 10, -100) | ||||
|       expect(value).not.to.equal(-100) | ||||
|     }) | ||||
|  | ||||
|     it('Should replace source value with upper limit', () => { | ||||
|       let value = util.inRange(0, 10, 30) | ||||
|       expect(value).to.equal(10) | ||||
|     }) | ||||
|  | ||||
|     it('Should replace source value with lower limit', () => { | ||||
|       let value = util.inRange(1, 10, -1) | ||||
|       expect(value).to.equal(1) | ||||
|     }) | ||||
|   }) | ||||
| }) | ||||
		Reference in New Issue
	
	Block a user