mirror of
https://github.com/sharkdp/bat.git
synced 2025-08-14 02:05:29 +02:00
Add basic typescript test file
This commit is contained in:
17
tests/syntax-tests/source/TypeScript/LICENSE.md
Normal file
17
tests/syntax-tests/source/TypeScript/LICENSE.md
Normal file
@ -0,0 +1,17 @@
|
||||
The MIT License (MIT)
|
||||
Copyright (c) Microsoft Corporation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
||||
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
110
tests/syntax-tests/source/TypeScript/example.ts
Normal file
110
tests/syntax-tests/source/TypeScript/example.ts
Normal file
@ -0,0 +1,110 @@
|
||||
let letNumber = 10;
|
||||
const constNumber = 20;
|
||||
|
||||
const bool: boolean = true;
|
||||
const list: number[] = [1, 2, 3];
|
||||
const array: Array<number> = [1, 2, 3];
|
||||
const pair: [string, number] = ['hello', 10];
|
||||
|
||||
for (let i = 0; i < list.length; i += 1) {
|
||||
console.log(list[i]);
|
||||
}
|
||||
|
||||
if (bool) {
|
||||
console.log('True');
|
||||
} else {
|
||||
console.log('False');
|
||||
}
|
||||
|
||||
const str: string = 'Jake';
|
||||
const templateStr: string = `Hello, ${str}!`;
|
||||
|
||||
// A comment
|
||||
|
||||
/*
|
||||
* Multiline comments
|
||||
* Multiline comments
|
||||
*/
|
||||
|
||||
interface SquareConfig {
|
||||
label: string;
|
||||
color?: string;
|
||||
width?: number;
|
||||
[propName: string]: any;
|
||||
}
|
||||
|
||||
interface SearchFunc {
|
||||
(source: string, subString: string): boolean;
|
||||
}
|
||||
|
||||
enum Color {
|
||||
Red,
|
||||
Green,
|
||||
}
|
||||
|
||||
type Easing = "ease-in" | "ease-out" | "ease-in-out";
|
||||
|
||||
class Greeter {
|
||||
private readonly greeting: string;
|
||||
|
||||
constructor(message: string) {
|
||||
this.greeting = message;
|
||||
}
|
||||
|
||||
greet() {
|
||||
return "Hello, " + this.greeting;
|
||||
}
|
||||
}
|
||||
|
||||
let greeter = new Greeter("world");
|
||||
|
||||
class Animal {
|
||||
move(distanceInMeters: number = 0) {
|
||||
console.log(`Animal moved ${distanceInMeters}m.`);
|
||||
}
|
||||
}
|
||||
|
||||
class Dog extends Animal {
|
||||
bark() {
|
||||
console.log("Woof! Woof!");
|
||||
}
|
||||
}
|
||||
|
||||
const dog = new Dog();
|
||||
dog.bark();
|
||||
dog.move(10);
|
||||
dog.bark();
|
||||
|
||||
class Point {
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
interface Point3d extends Point {
|
||||
z: number;
|
||||
}
|
||||
|
||||
let point3d: Point3d = { x: 1, y: 2, z: 3 };
|
||||
|
||||
function add(x, y) {
|
||||
return x + y;
|
||||
}
|
||||
|
||||
let myAdd = function (x, y) {
|
||||
return x + y;
|
||||
};
|
||||
|
||||
(function () {
|
||||
console.log('IIFE');
|
||||
}());
|
||||
|
||||
function identity<T>(arg: T): T {
|
||||
return arg;
|
||||
}
|
||||
|
||||
let myIdentity: <T>(arg: T) => T = identity;
|
||||
|
||||
class GenericNumber<T> {
|
||||
zeroValue: T;
|
||||
add: (x: T, y: T) => T;
|
||||
}
|
Reference in New Issue
Block a user