Skip to content

Commit

Permalink
Migrate unit tests to TypeScript
Browse files Browse the repository at this point in the history
  • Loading branch information
ijjk committed Aug 23, 2021
1 parent 5c0becc commit 5fd3026
Show file tree
Hide file tree
Showing 53 changed files with 132 additions and 157 deletions.
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
testMatch: ['**/*.test.js'],
testMatch: ['**/*.test.js', '**/*.test.ts'],
verbose: true,
rootDir: 'test',
modulePaths: ['<rootDir>/lib'],
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"lerna": "lerna",
"dev": "lerna run dev --stream --parallel",
"dev2": "while true; do yarn --check-files && yarn dev; done",
"test-types": "yarn tsc",
"test-unit": "yarn jest test/unit/",
"testonly": "yarn jest --runInBand",
"testheadless": "cross-env HEADLESS=true yarn testonly",
Expand Down
14 changes: 0 additions & 14 deletions test/tsconfig.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/google-font-display')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/google-font-display'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('google-font-display', rule, {
valid: [
`import Head from "next/head";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/google-font-preconnect')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/google-font-preconnect'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('google-font-preconnect', rule, {
valid: [
`export const Test = () => (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/inline-script-id')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/inline-script-id'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/link-passhref')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/link-passhref'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('link-passhref', rule, {
valid: [
`export const Home = () => (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/next-script-for-ga')

const RuleTester = require('eslint').RuleTester

const ERROR_MSG =
'Use the `next/script` component for loading third party scripts. See: https://nextjs.org/docs/messages/next-script-for-ga.'

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/next-script-for-ga'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -16,7 +11,11 @@ RuleTester.setDefaultConfig({
},
})

var ruleTester = new RuleTester()
const ERROR_MSG =
'Use the `next/script` component for loading third party scripts. See: https://nextjs.org/docs/messages/next-script-for-ga.'

const ruleTester = new RuleTester()

ruleTester.run('sync-scripts', rule, {
valid: [
`import Script from 'next/script'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-css-tags')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-css-tags'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-css-tags', rule, {
valid: [
`import {Head} from 'next/document';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-document-import-in-page')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-document-import-in-page'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-document-import-in-page', rule, {
valid: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-duplicate-head')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-duplicate-head'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-duplicate-head', rule, {
valid: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-head-import-in-document')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-head-import-in-document'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-head-import-in-document', rule, {
valid: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* eslint-env jest */
const rule = require('@next/eslint-plugin-next/lib/rules/no-html-link-for-pages')
const { Linter } = require('eslint')
const assert = require('assert')
const path = require('path')
import rule from '@next/eslint-plugin-next/lib/rules/no-html-link-for-pages'
import { Linter } from 'eslint'
import assert from 'assert'
import path from 'path'

const linter = new Linter({ cwd: __dirname })
const linterConfig = {
const linterConfig: any = {
rules: {
'no-html-link-for-pages': [2, path.join(__dirname, 'custom-pages')],
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-img-element')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-img-element'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-img-element', rule, {
valid: [
`import { Image } from 'next/image';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-page-custom-font')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-page-custom-font'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2020,
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
modules: true,
jsx: true,
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-page-custom-font', rule, {
valid: [
`import Document, { Html, Head } from "next/document";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-script-in-document')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-script-in-document'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-script-import-in-document', rule, {
valid: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-script-in-head.js')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-script-in-head'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-script-in-head', rule, {
valid: [
`import Script from "next/script";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-sync-scripts')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-sync-scripts'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -12,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('sync-scripts', rule, {
valid: [
`import {Head} from 'next/document';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-title-in-document-head')
const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-title-in-document-head'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -11,8 +10,8 @@ RuleTester.setDefaultConfig({
},
},
})
const ruleTester = new RuleTester()

var ruleTester = new RuleTester()
ruleTester.run('no-title-in-document-head', rule, {
valid: [
`import Head from "next/head";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const rule = require('@next/eslint-plugin-next/lib/rules/no-typos')

const RuleTester = require('eslint').RuleTester

RuleTester.setDefaultConfig({
import rule from '@next/eslint-plugin-next/lib/rules/no-typos'
import { RuleTester } from 'eslint'
;(RuleTester as any).setDefaultConfig({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
Expand All @@ -13,7 +11,8 @@ RuleTester.setDefaultConfig({
},
})

var ruleTester = new RuleTester()
const ruleTester = new RuleTester()

ruleTester.run('no-typos', rule, {
valid: [
`
Expand Down
Loading

0 comments on commit 5fd3026

Please sign in to comment.