mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	
		
			
	
	
		
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// make tests run in both Node & Express
							 | 
						||
| 
								 | 
							
								if (!global.cy) {
							 | 
						||
| 
								 | 
							
								  const chai = require('chai')
							 | 
						||
| 
								 | 
							
								  const sinon = require('sinon')
							 | 
						||
| 
								 | 
							
								  const sinonChai = require('sinon-chai')
							 | 
						||
| 
								 | 
							
								  chai.use(sinonChai)
							 | 
						||
| 
								 | 
							
								  global.expect = chai.expect
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  let sandbox
							 | 
						||
| 
								 | 
							
								  beforeEach(() => {
							 | 
						||
| 
								 | 
							
								    sandbox = sinon.createSandbox()
							 | 
						||
| 
								 | 
							
								    global.cy = {
							 | 
						||
| 
								 | 
							
								      stub: function () {
							 | 
						||
| 
								 | 
							
								        return sandbox.stub.apply(sandbox, arguments)
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      log () {
							 | 
						||
| 
								 | 
							
								        console.log.apply(console, arguments)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  afterEach(() => {
							 | 
						||
| 
								 | 
							
								    sandbox.restore()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const getUserAgent = require('..')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('smoke', () => {
							 | 
						||
| 
								 | 
							
								  it('works', () => {
							 | 
						||
| 
								 | 
							
								    expect(getUserAgent()).to.be.a('string')
							 | 
						||
| 
								 | 
							
								    expect(getUserAgent().length).to.be.above(10)
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!process.browser) { // test on node only
							 | 
						||
| 
								 | 
							
								    const proxyquire = require('proxyquire').noCallThru()
							 | 
						||
| 
								 | 
							
								    it('works around wmic error on Windows (#5)', () => {
							 | 
						||
| 
								 | 
							
								      const getUserAgent = proxyquire('..', {
							 | 
						||
| 
								 | 
							
								        'os-name': () => {
							 | 
						||
| 
								 | 
							
								          throw new Error('Command failed: wmic os get Caption')
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      expect(getUserAgent()).to.equal('Windows <version undetectable>')
							 | 
						||
| 
								 | 
							
								    })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    it('does not swallow unexpected errors', () => {
							 | 
						||
| 
								 | 
							
								      const getUserAgent = proxyquire('..', {
							 | 
						||
| 
								 | 
							
								        'os-name': () => {
							 | 
						||
| 
								 | 
							
								          throw new Error('oops')
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      expect(getUserAgent).to.throw('oops')
							 | 
						||
| 
								 | 
							
								    })
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								})
							 |