mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-12-25 19:11:45 +03:00
Merge pull request #385 from toVersus/js_date
bindings for date.getDay/getFullYear
This commit is contained in:
commit
2694dd4dee
13
src/js.rs
13
src/js.rs
@ -755,6 +755,19 @@ extern "C" {
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
pub type Date;
|
pub type Date;
|
||||||
|
|
||||||
|
/// The getDay() method returns the day of the week for the specified date according to local time,
|
||||||
|
/// where 0 represents Sunday. For the day of the month see getDate().
|
||||||
|
///
|
||||||
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay
|
||||||
|
#[wasm_bindgen(method, js_name = getDay)]
|
||||||
|
pub fn get_day(this: &Date) -> Number;
|
||||||
|
|
||||||
|
/// The getFullYear() method returns the year of the specified date according to local time.
|
||||||
|
///
|
||||||
|
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear
|
||||||
|
#[wasm_bindgen(method, js_name = getFullYear)]
|
||||||
|
pub fn get_full_year(this: &Date) -> Number;
|
||||||
|
|
||||||
/// Creates a JavaScript Date instance that represents
|
/// Creates a JavaScript Date instance that represents
|
||||||
/// a single moment in time. Date objects are based on a time value that is
|
/// a single moment in time. Date objects are based on a time value that is
|
||||||
/// the number of milliseconds since 1 January 1970 UTC.
|
/// the number of milliseconds since 1 January 1970 UTC.
|
||||||
|
@ -2,6 +2,76 @@
|
|||||||
|
|
||||||
use super::project;
|
use super::project;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_day() {
|
||||||
|
project()
|
||||||
|
.file(
|
||||||
|
"src/lib.rs",
|
||||||
|
r#"
|
||||||
|
#![feature(proc_macro, wasm_custom_section)]
|
||||||
|
|
||||||
|
extern crate wasm_bindgen;
|
||||||
|
use wasm_bindgen::prelude::*;
|
||||||
|
use wasm_bindgen::js::{Date, Number};
|
||||||
|
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub fn get_day(this: &Date) -> Number {
|
||||||
|
this.get_day()
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.file(
|
||||||
|
"test.ts",
|
||||||
|
r#"
|
||||||
|
import * as assert from "assert";
|
||||||
|
import * as wasm from "./out";
|
||||||
|
|
||||||
|
export function test() {
|
||||||
|
let date = new Date('August 19, 1975 23:15:30');
|
||||||
|
|
||||||
|
assert.equal(wasm.get_day(date), 2);
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.test()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_full_year() {
|
||||||
|
project()
|
||||||
|
.file(
|
||||||
|
"src/lib.rs",
|
||||||
|
r#"
|
||||||
|
#![feature(proc_macro, wasm_custom_section)]
|
||||||
|
|
||||||
|
extern crate wasm_bindgen;
|
||||||
|
use wasm_bindgen::prelude::*;
|
||||||
|
use wasm_bindgen::js::{Date, Number};
|
||||||
|
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub fn get_full_year(this: &Date) -> Number {
|
||||||
|
this.get_full_year()
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.file(
|
||||||
|
"test.ts",
|
||||||
|
r#"
|
||||||
|
import * as assert from "assert";
|
||||||
|
import * as wasm from "./out";
|
||||||
|
|
||||||
|
export function test() {
|
||||||
|
let date = new Date('July 20, 1969 00:20:18');
|
||||||
|
let abbrDate = new Date('Thu, 06 Sep 12 00:00:00');
|
||||||
|
|
||||||
|
assert.equal(wasm.get_full_year(date), 1969);
|
||||||
|
assert.equal(wasm.get_full_year(abbrDate), 2012);
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.test()
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn new() {
|
fn new() {
|
||||||
project()
|
project()
|
||||||
|
Loading…
Reference in New Issue
Block a user