== should keep comments within nodes ==

function /* 1 */test/* 2 */() {// 3
}// 4

[expect]
function /* 1 */ test /* 2 */() { // 3
} // 4

== should keep blank lines between comments ==
// testing

//other

const t: string; // other

// testing

1 + 1;
// test
const u: number;

[expect]
// testing

// other

const t: string; // other

// testing

1 + 1;
// test
const u: number;

== should not add newlines for comments between interface declarations ==
interface A {
}

// testing
interface B {
}

[expect]
interface A {
}

// testing
interface B {
}

== should use newlines when the comment block is on a different line ==
/* test */
const t;

[expect]
/* test */
const t;

== should format multi-line comments ==
/**
 * testing
 * test
 */
class Test {
}

[expect]
/**
 * testing
 * test
 */
class Test {
}

== should handle changing indentation of block comments ==
      /*
             * A
        * B
             */
const t;

[expect]
/*
 * A
 * B
 */
const t;

== should format comments in arguments ==
call(/* test */5);

[expect]
call(/* test */ 5);

== should not panic for tab in comment block ==
/* test	test */
/*	test	test	*/

[expect]
/* test	test */
/*	test	test	*/
