Skip to content

Conversation

Phillip9587
Copy link
Contributor

This pull request includes several refactorings and updates to the test suite, focusing on modernizing the codebase by adopting ES6+ features and improving the structure of test utilities. The most important changes include refactoring utility functions, and updating test cases to use the new utility structure.

ES6+ Modernization:

  • test/support/sws.js: Converted SlowWriteStream from a function and util.inherits to an ES6 class extending Writable.

Refactoring Utility Functions:

  • test/support/utils.js: Refactored various utility functions to use ES6 syntax, replaced var with const/let, and consolidated exports into a single getTestHelpers function. [1] [2] [3] [4] [5]

Updating Test Cases:

  • test/test.js: Updated test cases to use the new getTestHelpers function, removed redundant wrapper function, and replaced var with const/let for variable declarations. [1] [2] [3] [4] [5]

Comment on lines -616 to -662

describe('no deprecation warnings', function () {
it('should respond 404 on no error', function (done) {
var warned = false

process.once('warning', function (warning) {
if (/The http2 module is an experimental API/.test(warning)) return
assert.fail(warning)
})

wrapper(request(createServer())
.head('/foo'))
.expect(404)
.end(function (err) {
assert.strictEqual(warned, false)
done(err)
})
})

it('should respond 500 on error', function (done) {
var warned = false

process.once('warning', function (warning) {
if (/The http2 module is an experimental API/.test(warning)) return
assert.fail(warning)
})

var err = createError()

wrapper(request(createServer(function (req, res) {
var done = finalhandler(req, res)

if (typeof err === 'function') {
err(req, res, done)
return
}

done(err)
}))
.head('/foo'))
.expect(500)
.end(function (err, res) {
assert.strictEqual(warned, false)
done(err)
})
})
})
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These tests can be removed, as using http2 no longer emits an experimental warning in any of our supported Node.js versions.

req.on('data', function ondata (s) { buf += s })
req.on('end', function onend () {
var err = null
req.on('response', (responseHeaders) => { resHeaders = responseHeaders })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer that we keep the regular function, it's easier to debug when you know the function name rather than when it's an anonymous function

Copy link
Member

@bjohansebas bjohansebas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Phillip9587 Phillip9587 requested a review from UlisesGascon July 22, 2025 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants