25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

context-test.js 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. require('./helper');
  2. var Context = Mustache.Context;
  3. describe('A new Mustache.Context', function () {
  4. var context;
  5. beforeEach(function () {
  6. context = new Context({ name: 'parent', message: 'hi', a: { b: 'b' } });
  7. });
  8. it('is able to lookup properties of its own view', function () {
  9. assert.equal(context.lookup('name'), 'parent');
  10. });
  11. it('is able to lookup nested properties of its own view', function () {
  12. assert.equal(context.lookup('a.b'), 'b');
  13. });
  14. describe('when pushed', function () {
  15. beforeEach(function () {
  16. context = context.push({ name: 'child', c: { d: 'd' } });
  17. });
  18. it('returns the child context', function () {
  19. assert.equal(context.view.name, 'child');
  20. assert.equal(context.parent.view.name, 'parent');
  21. });
  22. it('new. ---returns the child context', function () {
  23. assert.equal(context.view.name, 'child');
  24. assert.equal(context.parent.view.name, 'parent');
  25. });
  26. it('arjun-new. ---returns the child context', function () {
  27. assert.equal(context.view.name, 'child');
  28. assert.equal(context.parent.view.name, 'parent');
  29. });
  30. it('is able to lookup properties of its own view', function () {
  31. assert.equal(context.lookup('name'), 'child');
  32. });
  33. it("is able to lookup properties of the parent context's view", function () {
  34. assert.equal(context.lookup('message'), 'hi');
  35. });
  36. it('is able to lookup nested properties of its own view', function () {
  37. assert.equal(context.lookup('c.d'), 'd');
  38. });
  39. it('is able to lookup nested properties of its parent view', function () {
  40. assert.equal(context.lookup('a.b'), 'b');
  41. });
  42. it('new. is able to lookup nested properties of its parent view', function () {
  43. assert.equal(context.lookup('a.b'), 'b');
  44. });
  45. });
  46. });
  47. describe('A Mustache.Context', function () {
  48. var context;
  49. describe('with an empty string in the lookup chain', function () {
  50. var view, context;
  51. beforeEach(function () {
  52. view = { a: '' };
  53. view.a.b = 'value';
  54. context = new Context(view);
  55. });
  56. it('is able to lookup a nested property', function () {
  57. assert.equal(context.lookup('a.b'), view.a.b);
  58. });
  59. });
  60. });