mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-17 03:24:15 +08:00
Added tests for YouTube typings
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts"
|
||||
"index.d.ts",
|
||||
"youtube-tests.ts"
|
||||
]
|
||||
}
|
||||
282
types/youtube/youtube-tests.ts
Normal file
282
types/youtube/youtube-tests.ts
Normal file
@@ -0,0 +1,282 @@
|
||||
const players: YT.Player[] = [
|
||||
new YT.Player(document.body, {}),
|
||||
new YT.Player(document.body, {
|
||||
width: 100,
|
||||
height: 100,
|
||||
}),
|
||||
new YT.Player("id", {
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
videoId: "videoId",
|
||||
playerVars: {},
|
||||
events: {},
|
||||
}),
|
||||
new YT.Player("id", {
|
||||
playerVars: {
|
||||
autohide: YT.AutoHide.AlwaysVisible,
|
||||
autoplay: YT.AutoPlay.AutoPlay,
|
||||
cc_load_policy: YT.ClosedCaptionsLoadPolicy.ForceOn,
|
||||
color: "red",
|
||||
controls: YT.Controls.Hide,
|
||||
disablekb: YT.KeyboardControls.Disable,
|
||||
enablejsapi: YT.JsApi.Disable,
|
||||
end: 9001,
|
||||
fs: YT.FullscreenButton.Hide,
|
||||
hl: "en-us",
|
||||
iv_load_policy: YT.IvLoadPolicy.Hide,
|
||||
list: "my query",
|
||||
listType: "search",
|
||||
loop: YT.Loop.Loop,
|
||||
modestbranding: YT.ModestBranding.Full,
|
||||
origin: "localhost",
|
||||
playlist: "1,2",
|
||||
playsinline: YT.PlaysInline.Fullscreen,
|
||||
rel: YT.RelatedVideos.Hide,
|
||||
showinfo: YT.ShowInfo.Hide,
|
||||
start: 0,
|
||||
},
|
||||
}),
|
||||
new YT.Player("id", {
|
||||
events: {
|
||||
onReady(event: YT.PlayerEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
},
|
||||
onStateChange(event: YT.OnStateChangeEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
const playerData: YT.PlayerState = event.data;
|
||||
},
|
||||
onPlaybackQualityChange(event: YT.OnPlaybackQualityChangeEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
const newQuality: string = event.data;
|
||||
},
|
||||
onPlaybackRateChange(event: YT.OnPlaybackRateChangeEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
const newRate: number = event.data;
|
||||
},
|
||||
onError(event: YT.OnErrorEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
const error: YT.PlayerError = event.data;
|
||||
},
|
||||
onApiChange(event: YT.PlayerEvent) {
|
||||
const targetPlayer: YT.Player = event.target;
|
||||
},
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
const ensureNumeric = <TValue extends number>() => {};
|
||||
|
||||
ensureNumeric<YT.PlayerState>();
|
||||
ensureNumeric<YT.PlayerError>();
|
||||
ensureNumeric<YT.AutoHide>();
|
||||
ensureNumeric<YT.AutoPlay>();
|
||||
ensureNumeric<YT.ClosedCaptionsLoadPolicy>();
|
||||
ensureNumeric<YT.Controls>();
|
||||
ensureNumeric<YT.KeyboardControls>();
|
||||
ensureNumeric<YT.JsApi>();
|
||||
ensureNumeric<YT.FullscreenButton>();
|
||||
ensureNumeric<YT.IvLoadPolicy>();
|
||||
ensureNumeric<YT.Loop>();
|
||||
ensureNumeric<YT.ModestBranding>();
|
||||
ensureNumeric<YT.PlaysInline>();
|
||||
ensureNumeric<YT.RelatedVideos>();
|
||||
ensureNumeric<YT.ShowInfo>();
|
||||
|
||||
const ensureString = <TValue extends string>() => {}
|
||||
|
||||
ensureString<YT.ProgressBarColor>();
|
||||
ensureString<YT.ListType>();
|
||||
ensureString<YT.ListTypePlayer>();
|
||||
ensureString<YT.ListTypeSearch>();
|
||||
ensureString<YT.ListTypeUserUploads>();
|
||||
ensureString<YT.SuggestedVideoQuality>();
|
||||
|
||||
const player = new YT.Player("", {});
|
||||
|
||||
player.cueVideoById("id");
|
||||
player.cueVideoById("id", 0);
|
||||
player.cueVideoById("id", 9001, "default");
|
||||
player.cueVideoById("id", 9001, "small");
|
||||
|
||||
player.cueVideoById({
|
||||
videoId: "id",
|
||||
});
|
||||
|
||||
player.cueVideoById({
|
||||
startSeconds: 0,
|
||||
endSeconds: 9001,
|
||||
suggestedQuality: "highres",
|
||||
videoId: "id",
|
||||
});
|
||||
|
||||
player.loadVideoById("id");
|
||||
player.loadVideoById("id", 0);
|
||||
player.loadVideoById("id", 0, "medium");
|
||||
player.loadVideoById("id", 0, "large");
|
||||
|
||||
player.loadVideoById({
|
||||
videoId: "id",
|
||||
});
|
||||
|
||||
player.loadVideoById({
|
||||
endSeconds: 9001,
|
||||
startSeconds: 0,
|
||||
suggestedQuality: "hd720",
|
||||
videoId: "id",
|
||||
});
|
||||
|
||||
player.cueVideoByUrl("url");
|
||||
player.cueVideoByUrl("url", 0);
|
||||
player.cueVideoByUrl("url", 0, "hd1080");
|
||||
player.cueVideoByUrl("url", 0, "highres");
|
||||
|
||||
player.cueVideoByUrl({
|
||||
mediaContentUrl: "url",
|
||||
});
|
||||
|
||||
player.cueVideoByUrl({
|
||||
endSeconds: 9001,
|
||||
mediaContentUrl: "url",
|
||||
startSeconds: 0,
|
||||
suggestedQuality: "hd720",
|
||||
});
|
||||
|
||||
player.loadVideoByUrl("url");
|
||||
player.loadVideoByUrl("url", 0);
|
||||
player.loadVideoByUrl("url", 0, "hd1080");
|
||||
player.loadVideoByUrl("url", 0, "highres");
|
||||
|
||||
player.loadVideoByUrl({
|
||||
mediaContentUrl: "url",
|
||||
});
|
||||
|
||||
player.loadVideoByUrl({
|
||||
endSeconds: 9001,
|
||||
mediaContentUrl: "url",
|
||||
startSeconds: 0,
|
||||
suggestedQuality: "hd720",
|
||||
});
|
||||
|
||||
player.cuePlaylist(["play", "list"]);
|
||||
player.cuePlaylist(["play", "list"], 7);
|
||||
player.cuePlaylist(["play", "list"], 7, 0);
|
||||
player.cuePlaylist(["play", "list"], 7, 0, "default");
|
||||
|
||||
player.cuePlaylist({
|
||||
list: "playlist",
|
||||
listType: "player",
|
||||
});
|
||||
|
||||
player.cuePlaylist({
|
||||
index: 7,
|
||||
list: "playlist",
|
||||
listType: "search",
|
||||
});
|
||||
|
||||
player.cuePlaylist({
|
||||
endSeconds: 9001,
|
||||
index: 7,
|
||||
list: "playlist",
|
||||
listType: "search",
|
||||
startSeconds: 0,
|
||||
suggestedQuality: "hd720",
|
||||
});
|
||||
|
||||
player.loadPlaylist(["play", "list"]);
|
||||
player.loadPlaylist(["play", "list"], 7);
|
||||
player.loadPlaylist(["play", "list"], 7, 0);
|
||||
player.loadPlaylist(["play", "list"], 7, 0, "default");
|
||||
|
||||
player.loadPlaylist({
|
||||
list: "playlist",
|
||||
listType: "player",
|
||||
});
|
||||
|
||||
player.loadPlaylist({
|
||||
index: 7,
|
||||
listType: "search",
|
||||
list: "playlist",
|
||||
});
|
||||
|
||||
player.loadPlaylist({
|
||||
endSeconds: 9001,
|
||||
index: 7,
|
||||
listType: "search",
|
||||
list: "playlist",
|
||||
startSeconds: 0,
|
||||
suggestedQuality: "hd720",
|
||||
});
|
||||
|
||||
player.playVideo();
|
||||
|
||||
player.pauseVideo();
|
||||
|
||||
player.stopVideo();
|
||||
|
||||
player.seekTo(9001, true);
|
||||
|
||||
player.nextVideo();
|
||||
|
||||
player.previousVideo();
|
||||
|
||||
player.playVideoAt(0);
|
||||
|
||||
player.mute();
|
||||
|
||||
player.unMute();
|
||||
|
||||
const muted: boolean = player.isMuted();
|
||||
|
||||
player.setVolume(49);
|
||||
|
||||
const volume: number = player.getVolume();
|
||||
|
||||
player.setSize(350, 490);
|
||||
|
||||
const playbackRate: number = player.getPlaybackRate();
|
||||
|
||||
player.setPlaybackRate(2);
|
||||
|
||||
const playbackRates: number[] = player.getAvailablePlaybackRates();
|
||||
|
||||
player.setLoop(true);
|
||||
|
||||
player.setShuffle(false);
|
||||
|
||||
const fraction: number = player.getVideoLoadedFraction();
|
||||
|
||||
const state: YT.PlayerState = player.getPlayerState();
|
||||
|
||||
const time: number = player.getCurrentTime();
|
||||
|
||||
const quality: YT.SuggestedVideoQuality = player.getPlaybackQuality();
|
||||
|
||||
player.setPlaybackQuality(quality);
|
||||
player.setPlaybackQuality("medium");
|
||||
|
||||
const qualities: YT.SuggestedVideoQuality[] = player.getAvailableQualityLevels();
|
||||
|
||||
for (const quality of player.getAvailableQualityLevels()) {
|
||||
player.setPlaybackQuality(quality)
|
||||
}
|
||||
|
||||
const duration: number = player.getDuration();
|
||||
|
||||
const videoUrl: string = player.getVideoUrl();
|
||||
|
||||
const videoEmbed: string = player.getVideoEmbedCode();
|
||||
|
||||
const playlist: string[] = player.getPlaylist();
|
||||
|
||||
const playlistIndex: number = player.getPlaylistIndex();
|
||||
|
||||
player.addEventListener("onReady", (event: YT.PlayerEvent) => {});
|
||||
player.addEventListener("onStateChange", (event: YT.OnStateChangeEvent) => {});
|
||||
player.addEventListener("onPlaybackQualityChange", (event: YT.OnPlaybackQualityChangeEvent) => {});
|
||||
player.addEventListener("onPlaybackRateChange", (event: YT.OnPlaybackRateChangeEvent) => {});
|
||||
player.addEventListener("onError", (event: YT.OnErrorEvent) => {});
|
||||
player.addEventListener("onApiChange", (event: YT.PlayerEvent) => {});
|
||||
|
||||
const frame: HTMLIFrameElement = player.getIframe();
|
||||
|
||||
player.destroy();
|
||||
Reference in New Issue
Block a user