basic.https.html (2868B)
1 <!DOCTYPE html> 2 <title>FedCM Flexible Token Formats - Basic Types</title> 3 <meta name="timeout" content="long"> 4 <link rel="help" href="https://fedidcg.github.io/FedCM"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 10 <script type="module"> 11 import {fedcm_test, 12 fedcm_get_flexible_tokens_credential} from '../support/fedcm-helper.sub.js'; 13 14 fedcm_test(async t => { 15 const credential = await fedcm_get_flexible_tokens_credential(t, 'string'); 16 assert_true(credential instanceof IdentityCredential); 17 assert_equals(typeof credential.token, 'string'); 18 assert_equals(credential.token, 'simple_string_token'); 19 }, 'FedCM should accept string tokens'); 20 21 fedcm_test(async t => { 22 const credential = await fedcm_get_flexible_tokens_credential(t, 'positive-number'); 23 assert_true(credential instanceof IdentityCredential); 24 assert_equals(typeof credential.token, 'number'); 25 assert_equals(credential.token, 12345); 26 }, 'FedCM should accept number tokens'); 27 28 fedcm_test(async t => { 29 const credential = await fedcm_get_flexible_tokens_credential(t, 'negative-number'); 30 assert_true(credential instanceof IdentityCredential); 31 assert_equals(typeof credential.token, 'number'); 32 assert_equals(credential.token, -42); 33 }, 'FedCM should accept negative number tokens'); 34 35 fedcm_test(async t => { 36 const credential = await fedcm_get_flexible_tokens_credential(t, 'boolean-true'); 37 assert_true(credential instanceof IdentityCredential); 38 assert_equals(typeof credential.token, 'boolean'); 39 assert_equals(credential.token, true); 40 }, 'FedCM should accept boolean tokens (true)'); 41 42 fedcm_test(async t => { 43 const credential = await fedcm_get_flexible_tokens_credential(t, 'boolean-false'); 44 assert_equals(typeof credential.token, 'boolean'); 45 assert_equals(credential.token, false); 46 }, 'FedCM should accept boolean tokens (false)'); 47 48 fedcm_test(async t => { 49 const credential = await fedcm_get_flexible_tokens_credential(t, 'null'); 50 assert_true(credential instanceof IdentityCredential); 51 assert_equals(credential.token, null); 52 }, 'FedCM should accept null tokens'); 53 54 fedcm_test(async t => { 55 const credential = await fedcm_get_flexible_tokens_credential(t, 'zero'); 56 assert_true(credential instanceof IdentityCredential); 57 assert_equals(typeof credential.token, 'number'); 58 assert_equals(credential.token, 0); 59 }, 'FedCM should accept zero as token value'); 60 61 fedcm_test(async t => { 62 const credential = await fedcm_get_flexible_tokens_credential(t, 'float'); 63 assert_true(credential instanceof IdentityCredential); 64 assert_equals(typeof credential.token, 'number'); 65 assert_approx_equals(credential.token, 3.14159, 0.00001); 66 }, 'FedCM should accept floating point number tokens'); 67 68 </script>