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..38e2e3e4085be17dc584acfd5d874d9db44e3f3a |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/unicode-max-length-for-name-in-adv-namePrefix.html |
@@ -0,0 +1,20 @@ |
+<!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. |
+ // 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 with utf8 representation greater than 248 must throw ' + |
+ 'TypeError.'); |
+</script> |