use crate::snapshot; #[test] fn comment() { let cases = vec![ r" /** * Top level * * @module */ /** This is a description of the foo function. */ function foo() { } /** * Preserve newline */ /** * Represents a book. * @constructor * @param {string} title - The title of the book. * @param {string} author - The author of the book. */ function Book(title, author) { } /** Class representing a point. */ class Point { /** * Preserve newline */ /** * Create a point. * @param {number} x - The x value. * @param {number} y - The y value. */ constructor(x, y) { } /** * Get the x value. * @return {number} The x value. */ getX() { } /** * Get the y value. * @return {number} The y value. */ getY() { } /** * Convert a string containing two comma-separated numbers into a point. * @param {string} str - The string containing two comma-separated numbers. * @return {Point} A Point object. */ static fromString(str) { } } /** Class representing a point. */ const Point = class { } /** * Shirt module. * @module my/shirt */ /** Button the shirt. */ exports.button = function() { }; /** Unbutton the shirt. */ exports.unbutton = function() { }; this.Book = function(title) { /** The title of the book. */ this.title = title; } // https://github.com/oxc-project/oxc/issues/6006 export enum DefinitionKind { /** * Definition is a referenced variable. * * @example defineSomething(foo) */ Reference = 'Reference', /** * Definition is a `ObjectExpression`. * * @example defineSomething({ ... }) */ Object = 'Object', /** * Definition is TypeScript interface. * * @example defineSomething<{ ... }>() */ TS = 'TS', } ", ]; snapshot("jsodc", &cases); }