Index: third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-name-in-adv-namePrefix.html |
diff --git a/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-name-in-adv-namePrefix.html b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-name-in-adv-namePrefix.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..15f78c09d3839500a1201f5ffe13add8ffbbe28b |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-name-in-adv-namePrefix.html |
@@ -0,0 +1,19 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/testharness.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. |
+ // 83 chars * 3 bytes/char = 249 bytes |
+ let unicode_name = generate_string(83, '\u2764'); |
+ return setBluetoothFakeAdapter('UnicodeDeviceAdapter') |
+ .then(() => assert_promise_rejects_with_message( |
+ requestDeviceWithKeyDown({filters: [{namePrefix: unicode_name}]}), |
+ new DOMException( |
+ 'Failed to execute \'requestDevice\' on \'Bluetooth\': ' + |
+ 'A device name can\'t be longer than 248 bytes.', |
+ 'TypeError'))); |
+}, 'Unicode string in \'namePrefix\' with utf8 representation greater than ' + |
+ '248 bytes must throw TypeError.'); |
+</script> |