Index: third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-device-name-name.html |
diff --git a/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-device-name-name.html b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-device-name-name.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6419fd506359ca2590b507dc7fd2055b00010c7c |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-device-name-name.html |
@@ -0,0 +1,22 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharness-helpers.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> |
+<script> |
+promise_test(() => { |
+ // \u2764's UTF-8 respresentation is 3 bytes long. |
+ // 10 chars * 3 bytes/char = 30 bytes |
+ let unicode_name = generate_string(10, '\u2764'); |
+ return setBluetoothFakeAdapter('UnicodeDeviceAdapter') |
+ .then(() => assert_promise_rejects_with_message( |
+ requestDeviceWithKeyDown({filters: [{name: unicode_name}]}), |
+ new DOMException( |
+ 'Failed to execute \'requestDevice\' on \'Bluetooth\': ' + |
+ 'A \'name\' or \'namePrefix\' longer than 29 bytes ' + |
+ 'results in no devices being found, because a device can\'t ' + |
+ 'advertise a name longer than 29 bytes.', |
+ 'NotFoundError'))); |
+}, 'Unicode string with utf8 representation between (29, 248] must throw ' + |
Jeffrey Yasskin
2016/05/09 22:09:57
"between (29, 248] bytes"?
ortuno
2016/05/11 19:29:38
Done.
|
+ 'NotFoundError.'); |
+</script> |