// Copyright 2014 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/** @fileoverview Unit tests for silverlight. */
goog.module('goog.html.silverlightTest');
goog.setTestOnly();
const Const = goog.require('goog.string.Const');
const SafeHtml = goog.require('goog.html.SafeHtml');
const TrustedResourceUrl = goog.require('goog.html.TrustedResourceUrl');
const silverlight = goog.require('goog.html.silverlight');
const testSuite = goog.require('goog.testing.testSuite');
function assertSameHtml(expected, html) {
assertEquals(expected, SafeHtml.unwrap(html));
}
testSuite({
testCreateObjectForSilverlight() {
const trustedResourceUrl = TrustedResourceUrl.fromConstant(
Const.from('https://google.com/trusted&'));
assertSameHtml(
'<object data="data:application/x-silverlight-2," ' +
'type="application/x-silverlight-2" typemustmatch="" ' +
'class="test<">' +
'<param name="source" value="https://google.com/trusted&">' +
'<param name="onload" value="onload<">' +
'</object>',
silverlight.createObject(
trustedResourceUrl, {'onload': 'onload<'}, {'class': 'test<'}));
// Cannot override params, case insensitive.
assertThrows(() => {
silverlight.createObject(trustedResourceUrl, {'datA': 'cantdothis'});
});
// Cannot override attributes, case insensitive.
assertThrows(() => {
silverlight.createObject(trustedResourceUrl, {}, {'datA': 'cantdothis'});
});
},
});