1
YUI.add('dump-tests', function(Y) {
4
ObjectAssert = Y.ObjectAssert,
12
seven: [1, 2, 3, 4, 5]
21
var suite = new Y.Test.Suite("Dump");
23
suite.add(new Y.Test.Case({
26
test_dump: function() {
27
Assert.areEqual("0", Y.Lang.dump(0));
28
Assert.areEqual("null", Y.Lang.dump(null));
29
Assert.areEqual("false", Y.Lang.dump(false));
30
// Other types tested in substitute
32
'test: dump with a date': function() {
34
var control = '{date => ' + d.toString() + '}';
35
var out = Y.Lang.dump({
38
Assert.areSame(control, out, 'Failed to encode Date properly');
40
'test: HTMLElement': function() {
41
var out = Y.Lang.dump({
46
Assert.areEqual('DIV#foo', out, 'Failed to encode HTMLElement');
48
'test: HTMLDocument': function() {
49
var out = Y.Lang.dump({
53
Assert.areEqual('document', out, 'Failed to encode HTMLDocument');
55
'test: HTMLWindow': function() {
56
var out = Y.Lang.dump({
60
Assert.areEqual('window', out, 'Failed to encode HTMLWindow');
62
'test: function': function() {
63
var out = Y.Lang.dump(function() {
65
Assert.areEqual('f(){...}', out, 'Failed to encode function');
67
'test: array': function() {
68
var out = Y.Lang.dump([ 1, 2, 3, 4 ]);
69
Assert.areEqual('[1, 2, 3, 4]', out, 'Failed to encode array');
71
'test: array with object': function() {
72
var out = Y.Lang.dump([ 1, 2, 3, 4, {
75
Assert.areEqual('[1, 2, 3, 4, {one => true, two => true}]', out, 'Failed to encode array with Object');
77
'test: array with regex': function() {
78
var out = Y.Lang.dump([ 1, 2, 3, 4, /foo^bar/]);
79
Assert.areEqual('[1, 2, 3, 4, /foo^bar/]', out, 'Failed to encode array with RegEx');
81
'test: default depth': function() {
82
var out = Y.Lang.dump(deep);
83
Assert.areEqual('{one => {two => {three => {four => {...}}}}}', out, 'Failed to truncate at 3');
85
'test: depth of 5': function() {
86
var out = Y.Lang.dump(deep, 5);
87
Assert.areEqual('{one => {two => {three => {four => {five => {six => {...}}}}}}}', out, 'Failed to truncate at 5');
89
'test: depth of 10': function() {
90
var out = Y.Lang.dump(deep, 10);
91
Assert.areEqual('{one => {two => {three => {four => {five => {six => {seven => [1, 2, 3, 4, 5]}}}}}}}', out, 'Failed to truncate at 5');
95
Y.Test.Runner.add(suite);