Rocky_Mountain_Vending/.pnpm-store/v10/files/1e/35483aeb3c1a3b7741f5025b3fe2d4fda6b4a3f04058601cc8c97427c50841a4369609c74035b60edc6b0c1b09f82c60c85e548c4704ffc0cc5f4c34faed2e
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

174 lines
4.6 KiB
Text

'use strict'
var tap = require('tap')
var test = tap.test
var sinon = require('sinon')
var shimmer = require('../index.js')
var outsider = 0
function counter () { return ++outsider }
function anticounter () { return --outsider }
var generator = {
inc: counter,
dec: anticounter
}
var arrow = {
in: counter,
out: anticounter
}
var nester = {
in: counter,
out: anticounter
}
test('should wrap multiple functions safely', function (t) {
t.plan(9)
t.equal(counter, generator.inc, 'basic function equality testing should work')
t.equal(anticounter, generator.dec, 'basic function equality testing should work')
t.doesNotThrow(function () { generator.inc() })
t.doesNotThrow(function () { generator.dec() })
t.equal(0, outsider, 'calls have side effects')
var count = 0
function wrapper (original) {
return function () {
count++
var returned = original.apply(this, arguments)
count++
return returned
}
}
shimmer.massWrap(generator, ['inc', 'dec'], wrapper)
t.doesNotThrow(function () { generator.inc() })
t.doesNotThrow(function () { generator.dec() })
t.equal(4, count, 'both pre and post increments should have happened')
t.equal(0, outsider, 'original function has still been called')
})
test('should wrap multiple functions on multiple modules safely', function (t) {
t.plan(15)
t.equal(counter, arrow.in, 'basic function equality testing should work')
t.equal(counter, nester.in, 'basic function equality testing should work')
t.equal(anticounter, arrow.out, 'basic function equality testing should work')
t.equal(anticounter, nester.out, 'basic function equality testing should work')
t.doesNotThrow(function () { arrow.in() })
t.doesNotThrow(function () { nester.in() })
t.doesNotThrow(function () { arrow.out() })
t.doesNotThrow(function () { nester.out() })
t.equal(0, outsider, 'calls have side effects')
var count = 0
function wrapper (original) {
return function () {
count++
var returned = original.apply(this, arguments)
count++
return returned
}
}
shimmer.massWrap([arrow, nester], ['in', 'out'], wrapper)
t.doesNotThrow(function () { arrow.in() })
t.doesNotThrow(function () { arrow.out() })
t.doesNotThrow(function () { nester.in() })
t.doesNotThrow(function () { nester.out() })
t.equal(8, count, 'both pre and post increments should have happened')
t.equal(0, outsider, 'original function has still been called')
})
test('wrap called with no arguments', function (t) {
t.plan(2)
var mock = sinon.expectation
.create('logger')
.twice()
shimmer({ logger: mock })
t.doesNotThrow(function () {
shimmer.massWrap()
}, "wrapping with no arguments doesn't throw")
t.doesNotThrow(function () {
mock.verify()
}, 'logger was called with the expected message')
})
test('wrap called with module but nothing else', function (t) {
t.plan(2)
var mock = sinon.expectation
.create('logger')
.withExactArgs('must provide one or more functions to wrap on modules')
.once()
shimmer({ logger: mock })
t.doesNotThrow(function () {
shimmer.massWrap(generator)
}, "wrapping with only 1 argument doesn't throw")
t.doesNotThrow(function () {
mock.verify()
}, 'logger was called with the expected message')
})
test('wrap called with original but no wrapper', function (t) {
t.plan(2)
var mock = sinon.expectation
.create('logger')
.twice()
shimmer({ logger: mock })
t.doesNotThrow(function () {
shimmer.massWrap(generator, ['inc'])
}, "wrapping with only original function doesn't throw")
t.doesNotThrow(function () {
mock.verify()
}, 'logger was called with the expected message')
})
test('wrap called with non-function original', function (t) {
t.plan(2)
var mock = sinon.expectation
.create('logger')
.withExactArgs('must provide one or more functions to wrap on modules')
.once()
shimmer({ logger: mock })
t.doesNotThrow(function () {
shimmer.massWrap({ orange: 'slices' }, 'orange', function () {})
}, "wrapping non-function original doesn't throw")
t.doesNotThrow(function () {
mock.verify()
}, 'logger was called with the expected message')
})
test('wrap called with non-function wrapper', function (t) {
t.plan(2)
var mock = sinon.expectation
.create('logger')
.withArgs('must provide one or more functions to wrap on modules')
.once()
shimmer({ logger: mock })
t.doesNotThrow(function () {
shimmer.massWrap({ orange: function () {} }, 'orange', 'hamchunx')
}, "wrapping with non-function wrapper doesn't throw")
t.doesNotThrow(function () {
mock.verify()
}, 'logger was called with the expected message')
})