Add binding for String.prototype.toUpperCase

This commit is contained in:
Michael Hoffmann 2018-07-01 23:12:42 +02:00
parent 58560f1408
commit d5d451b94b
2 changed files with 34 additions and 0 deletions

View File

@ -1078,6 +1078,14 @@ extern "C" {
#[wasm_bindgen(method, js_class = "String", js_name = toString)] #[wasm_bindgen(method, js_class = "String", js_name = toString)]
pub fn to_string(this: &JsString) -> JsString; pub fn to_string(this: &JsString) -> JsString;
/// The toUpperCase() method returns the calling string value
/// converted to uppercase (the value will be converted to a
/// string if it isn't one).
///
/// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
#[wasm_bindgen(method, js_class = "String", js_name = toUpperCase)]
pub fn to_upper_case(this: &JsString) -> JsString;
/// The trim() method removes whitespace from both ends of a string. /// The trim() method removes whitespace from both ends of a string.
/// Whitespace in this context is all the whitespace characters /// Whitespace in this context is all the whitespace characters
/// (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.). /// (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).

View File

@ -455,6 +455,32 @@ fn to_string() {
.test() .test()
} }
#[test]
fn to_upper_case() {
project()
.file("src/lib.rs", r#"
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;
use wasm_bindgen::js;
#[wasm_bindgen]
pub fn string_to_upper_case(this: &js::JsString) -> js::JsString {
this.to_upper_case()
}
"#)
.file("test.ts", r#"
import * as assert from "assert";
import * as wasm from "./out";
export function test() {
assert.equal(wasm.string_to_upper_case("Mozilla"), "MOZILLA");
}
"#)
.test()
}
#[test] #[test]
fn trim() { fn trim() {
project() project()