text:
Nineteen Waseda students come to Lawrence for new international program
Peter Gillette
MAYU AOKI, AKAKIO MATSUO, AND HIROKO MORI enjoy a party in Sage Hall on Wednesday, September 18. They are among 19 Japanese students from Waseda University attending Lawrence this year as part of a new exchange program. (Sandi Schwert)
The Lawrence University campus is now filled with 19 smiling faces from Waseda (WAH-seh-dah) University in Waseda, Japan.For the next year, those students, along with their American hosts, will be tackling the usual academic and social issues that come with the residence life territory. Add to those difficulties the language barrier, since many of the Waseda students arrive without a firm command of English.
"Many of the Waseda students are arriving here in a similar situation as Lawrence students who study abroad and may spend the trip gradually learning the language," said Dean of Faculty Brian Rosenberg.
Waseda University initiated the program to encourage more of its students to study abroad, and solicited proposals for prospective programs from several Midwest and West Coast schools. Lawrence's proposal was among four chosen. Other Waseda students are studying at Coe College (Iowa), Earlham College (Iowa), and the University of Oregon.
The Waseda program represents a first for Lawrence on several fronts. Normally, international students hoping to study at Lawrence must perform very well on the TOEFL test, which measures English proficiency among non-native speakers.
But for the Waseda students, Lawrence lowered the TOEFL requirements and will offer English as a Second Language for the first time in the university's history. The students will spend most of their first term learning the language.
While the students will participate in Freshman Studies lectures and activities, their curriculum is a specially designed one.
"Waseda asked that we set up thematic areas," Rosenberg explained. Students may choose from courses among the areas of International Studies, Environmental Public Policy, and Gender Studies. The International Studies theme is the most popular.
As a result of the program, Japanese will be taught as a course at Lawrence for the first time as well. This addition will open up even more doors for East Asian Studies students at Lawrence.
While the students adjust to America and English, their hosts are coming in with almost no Japanese-speaking ability.
"I learned the Japanese word for 'good morning' yesterday, which is 'Ohio', just like the state," said Brad Behrmann of his limited linguistic repertoire. Behrmann shares his Brokaw room with 23 year-old Mitschi.
Behrmann, a senior, was looking for something different than a single or a traditional roommate during his senior year, and looked forward to hosting.
"I spent a term last year abroad in London, and I really found myself wishing I could have lived with a host family," he said. This year, he has a chance to help another student feel welcome.
Behrmann's Brokaw neighbor, Jordan Webster, rooms with Hiroko Mori. Webster also spent first term abroad last year, in Spain. "I feel like I know what I would have wanted from a host roommate, and wish I would have had a Spanish roommate at the time," Webster said.
The key to communication, all seem to agree, is patience and creativity.
Webster recalls talking to one of her friends' Japanese roommates last week about the Beatles. The other girl had actually been to London, and to Abbey Road. But such cultural and linguistic touchstones also caused some humorous confusion between Webster and her roommate.
"We were walking by that coffee shop on College Ave. that had the shirt that said 'Everybody Must Get Sconed.' and I had to try and translate that. First I had to explain that it was a Bob Dylan song, and that 'stoned' was slang for marijuana, and then we had to translate the idea of marijuana," Webster said.
"I'm trying not to speak idiomatically all the time," she added, "but if I didn't use any slang, then I wouldn't be speaking like myself, and Hiroko wouldn't get a good sense of how Americans really talk," Webster said.
Waseda University has exchanged with Lawrence in the past through the ACM-GLAC, with small numbers of students from midwestern liberal arts schools going to Waseda, and vice-versa.
Takakazu Kuriyama stands out as a shining example of how beneficial a Lawrence/Waseda exchange can be. Kuriyama attended Lawrence during the 1950s, and graduated from Waseda. His experiences in Appleton undoubtedly aided him in his prestigious post as Japan's Ambassador to America.
Kuriyama never forgot his American hosts, and in fact returned to teach at Lawrence as the 2000 Scarff Visiting Professor, sharing his understanding of foreign affairs with a generation of American students. After his public service, Kuriyama also taught at Waseda.
Rosenberg says the Kuriyama connection helps to provide a sort of familiarity between the two institutions. "[Kuriyama] has always spoken very highly of Lawrence, which I'm sure has helped strengthen relations between the schools," Rosenberg said.
With many of the students studying International Relations, perhaps any one of them may turn out to be the next Kuriyama.
The Lawrentian Staff - September 20, 2002
Peter Gillette MAYU AOKI, AKAKIO MATSUO, AND HIROKO MORI enjoy a party in Sage Hall on Wednesday, September 18. They are among 19 Japanese students from Waseda University attending Lawrence this year as part of a new exchange program. (Sandi Schwert) The Lawrence University campus is now filled with 19 smiling faces from Waseda (WAH-seh-dah)…


text:
gotocourt.com.au
Get a Good Lawyer. Fast.
Book a Lawyer
NATIONAL LEGAL HOTLINE
Call our lawyers NOW
7am to Midnight , 7 Days
Have our lawyers CALL YOU
Call me later
Please call at this time
civil defences
Acts of God
Throughout the English-speaking legal world, natural disasters such as earthquakes and tsunamis are referred to as acts of God. Acts of God are circumstances that are outside of anyone's control and that could not be foreseen or guarded against. Acts of God may provide a defence or an exception to liability, for example, in a…
Contributory negligence arises when a plaintiff's lack of care contributed to the harm or injury they suffered. It can be advanced as a full or a partial defence by a person being sued for the tort of negligence. Whether a plaintiff was contributorily negligent will depend on whether they failed to take the standard of…
Australian Legal Reference Website of the Year 2016
Criminal Defence Law Firm of the Year
2016 Gold Winner Website of the Year - Best Web Writing/Content - Golden Bridge Awards
International Business Awards 2016 Gold Legal Website
Best Commercial & Criminal Law Network 2016
solicitors@gotocourt.com.au
Brisbane | Sydney
Melbourne | Perth
4.8 4.8 out of 293
How Powerful is Your Passport?
Court Lawyers
Advice Before Court
Rank Your Lawyer
Court Agency Service
Join Our GTC Network
Careers at Go To Court
Legal News Blog
© 2010-2017 Go To Court Pty Ltd. All rights reserved.
Sitemap Ι Disclaimer Ι Privacy Policy Ι Terms and Conditions
Legal Hotline. Open 7am - Midnight, 7 Days
State* Choose QLD ACT NSW NT SA TAS VIC WA
Date and Time* 07:00AM - 08:00AM 07:30AM - 08:30AM 08:00AM - 09:00AM 08:30AM - 09:30AM 09:00AM - 10:00AM 09:30AM - 10:30AM 10:00AM - 11:00AM 10:30AM - 11:30AM 11:00AM - 12:00PM 11:30AM - 12:30PM 12:00PM - 01:00PM 12:30PM - 01:30PM 01:00PM - 02:00PM 01:30PM - 02:30PM 02:00PM - 03:00PM 02:30PM - 03:30PM 03:00PM - 04:00PM 03:30PM - 04:30PM 04:00PM - 05:00PM 04:30PM - 05:30PM 05:00PM - 06:00PM 05:30PM - 06:30PM 06:00PM - 07:00PM 06:30PM - 07:30PM 07:00PM - 08:00PM 07:30PM - 08:30PM 08:00PM - 09:00PM 08:30PM - 09:30PM 09:00PM - 10:00PM

redpajama_set_name: RedPajamaCommonCrawl


text:
/* jslint node: true */
'use strict';

var assert = require('assert');
var _ = require('lodash');

var integrationTestHelper = require('./integrationTestHelper');

describe('Integration test: lists', function () {

	var testHelper = new integrationTestHelper();

	function getBulletListLine(pages, options) {
		options.itemNumber = options.itemNumber || 1;

		var bullet = pages[options.pageNumber].items[options.itemNumber * 2 - 1];
		var content = pages[options.pageNumber].items[options.itemNumber * 2 - 2];

		return {
			bullet: bullet && bullet.item,
			content: content && content.item
		};
	}

	it('renders a ordered list', function () {
		var dd = {
			content: {
				ol: [
					'item 1',
					'item 2',
					'item 3 - Paleo American Apparel forage whatever.'
				]
			}
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '1. ');

		assert.equal(item1.bullet.x, testHelper.MARGINS.left);
		assert.equal(item1.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('1. '));
		assert.equal(item1.bullet.y, testHelper.MARGINS.top);
		assert.equal(item1.content.y, testHelper.MARGINS.top);

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), '2. ');

		assert.equal(item2.bullet.x, testHelper.MARGINS.left);
		assert.equal(item2.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('2. '));
		assert.equal(item2.bullet.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT);
		assert.equal(item2.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT);

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3 - Paleo American Apparel ');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), '3. ');

		assert.equal(item3.bullet.x, testHelper.MARGINS.left);
		assert.equal(item3.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('3. '));
		assert.equal(item3.bullet.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 2);
		assert.equal(item3.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 2);

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'forage whatever.');
		assert.equal(item4.bullet, undefined);

		assert.equal(item4.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));
		assert.equal(item4.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 3);
	});

	it('renders a ordered list and adapts margin to longest list number', function () {
		var dd = {
			content: {
				ol: [
					'item 1',
					'item 2',
					'item 3',
					'item 4',
					'item 5',
					'item 6',
					'item 7',
					'item 8',
					'item 9',
					'item 10'
				]
			}
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '1. ');

		assert.equal(item1.bullet.x, testHelper.MARGINS.left);
		assert.equal(item1.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('10. '));

		var item10 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 10});
		assert.equal(_.map(item10.content.inlines, 'text').join(''), 'item 10');
		assert.equal(_.map(item10.bullet.inlines, 'text').join(''), '10. ');

		assert.equal(item10.bullet.x, testHelper.MARGINS.left);
		assert.equal(item10.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('10. '));
	});

	it('renders a unordered list', function () {
		var dd = {
			content: {
				ul: [
					'item 1',
					'item 2',
					'item 3 - Paleo American Apparel forage whatever.'
				]
			}
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var bulletRadius = 2;
		var bulletMargin = testHelper.MARGINS.left + bulletRadius;

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(item1.bullet.type, 'ellipse');

		assert.equal(item1.bullet.x, bulletMargin);
		assert.equal(item1.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));
		assert.equal(item1.content.y, testHelper.MARGINS.top);

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(item2.bullet.type, 'ellipse');

		assert.equal(item2.bullet.x, bulletMargin);
		assert.equal(item2.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3 - Paleo American Apparel ');
		assert.equal(item3.bullet.type, 'ellipse');

		assert.equal(item3.bullet.x, bulletMargin);
		assert.equal(item3.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));
		assert.equal(item3.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 2);

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'forage whatever.');
		assert.equal(item4.bullet, undefined);

		assert.equal(item4.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));
		assert.equal(item4.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 3);
	});

	it('renders a unordered list and keeps constant small margin', function () {
		var dd = {
			content: {
				ul: [
					'item 1',
					'item 2',
					'item 3',
					'item 4',
					'item 5',
					'item 6',
					'item 7',
					'item 8',
					'item 9',
					'item 10'
				]
			}
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var bulletRadius = 2;
		var bulletMargin = testHelper.MARGINS.left + bulletRadius;

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');

		assert.equal(item1.bullet.x, bulletMargin);
		assert.equal(item1.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));

		var item10 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 10});
		assert.equal(_.map(item10.content.inlines, 'text').join(''), 'item 10');

		assert.equal(item10.bullet.x, bulletMargin);
		assert.equal(item10.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString(testHelper.DEFAULT_BULLET_SPACER));
	});

	it('renders nested lists', function () {
		var dd = {
			content: {
				ol: [
					'item 1',
					[
						'item 2',
						{ol: ['subitem 1', 'subitem 2']}
					],
					'item 3'
				]
			}
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '1. ');

		assert.equal(item1.bullet.x, testHelper.MARGINS.left);
		assert.equal(item1.content.x, testHelper.MARGINS.left + testHelper.getWidthOfString('1. '));

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), '2. ');

		var item2BulletSpacing = testHelper.MARGINS.left + testHelper.getWidthOfString('2. ');
		assert.equal(item2.bullet.x, testHelper.MARGINS.left);
		assert.equal(item2.content.x, item2BulletSpacing);

		var subItem1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(subItem1.content.inlines, 'text').join(''), 'subitem 1');
		assert.equal(_.map(subItem1.bullet.inlines, 'text').join(''), '1. ');

		assert.equal(subItem1.bullet.x, item2BulletSpacing);
		assert.equal(subItem1.content.x, item2BulletSpacing + testHelper.getWidthOfString('1. '));
		assert.equal(subItem1.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 2);

		var subItem2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(subItem2.content.inlines, 'text').join(''), 'subitem 2');
		assert.equal(_.map(subItem2.bullet.inlines, 'text').join(''), '2. ');

		assert.equal(subItem2.bullet.x, item2BulletSpacing);
		assert.equal(subItem2.content.x, item2BulletSpacing + testHelper.getWidthOfString('2. '));

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), '3. ');

		var item3BulletSpacing = testHelper.MARGINS.left + testHelper.getWidthOfString('3. ');
		assert.equal(item3.bullet.x, testHelper.MARGINS.left);
		assert.equal(item3.content.x, item3BulletSpacing);
		assert.equal(item3.content.y, testHelper.MARGINS.top + testHelper.LINE_HEIGHT * 4);
	});

	it('renders a ordered list with start value', function () {
		var dd = {
			content: [
				{
					start: 50,
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '50. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), '54. ');
	});

	it('renders a reversed ordered list', function () {
		var dd = {
			content: [
				{
					reversed: true,
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '5. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), '1. ');
	});

	it('renders a ordered list with own separator', function () {
		var dd = {
			content: [
				{
					separator: ')',
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '1) ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), '5) ');
	});

	it('renders a ordered list with own complex separator', function () {
		var dd = {
			content: [
				{
					separator: ['(', ')'],
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '(1) ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), '(5) ');
	});

	it('renders a ordered list with upper-roman style type', function () {
		var dd = {
			content: [
				{
					type: 'upper-roman',
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'I. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'II. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'III. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'IV. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'V. ');
	});

	it('renders a ordered list with lower-roman style type', function () {
		var dd = {
			content: [
				{
					type: 'lower-roman',
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'i. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'ii. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'iii. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'iv. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'v. ');
	});

	it('renders a ordered list with upper-roman style type and check maximum', function () {
		var dd = {
			content: [
				{
					start: 4995,
					type: 'upper-roman',
					ol: [
						'item 4995',
						'item 4996',
						'item 4997',
						'item 4998',
						'item 4999',
						'item 5000',
						'item 5001'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 4995');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'MMMMCMXCV. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 4996');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'MMMMCMXCVI. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 4997');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'MMMMCMXCVII. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4998');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'MMMMCMXCVIII. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 4999');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'MMMMCMXCIX. ');

		var item6 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 6});
		assert.equal(_.map(item6.content.inlines, 'text').join(''), 'item 5000');
		assert.equal(_.map(item6.bullet.inlines, 'text').join(''), '5000. ');

		var item7 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 7});
		assert.equal(_.map(item7.content.inlines, 'text').join(''), 'item 5001');
		assert.equal(_.map(item7.bullet.inlines, 'text').join(''), '5001. ');
	});

	it('renders a ordered list with upper-roman style type and check minimum', function () {
		var dd = {
			content: [
				{
					start: -2,
					type: 'upper-roman',
					ol: [
						'item -2',
						'item -1',
						'item 0',
						'item 1',
						'item 2'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item -2');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '-2. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item -1');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), '-1. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 0');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), '0. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'I. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'II. ');
	});

	it('renders a ordered list with upper-alpha style type', function () {
		var dd = {
			content: [
				{
					type: 'upper-alpha',
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'A. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'B. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'C. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'D. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'E. ');
	});

	it('renders a ordered list with upper-alpha style type (counter 25 - 29)', function () {
		var dd = {
			content: [
				{
					type: 'upper-alpha',
					start: 25,
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'Y. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'Z. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'AA. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'AB. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'AC. ');
	});

	it('renders a ordered list with upper-alpha style type and check minimum', function () {
		var dd = {
			content: [
				{
					start: -2,
					type: 'upper-alpha',
					ol: [
						'item -2',
						'item -1',
						'item 0',
						'item 1',
						'item 2'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item -2');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '-2. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item -1');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), '-1. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 0');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), '0. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'A. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'B. ');
	});

	it('renders a ordered list with lower-alpha style type', function () {
		var dd = {
			content: [
				{
					type: 'lower-alpha',
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'a. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'b. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'c. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'd. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'e. ');
	});

	it('renders a ordered list with lower-alpha style type (counter 25 - 29)', function () {
		var dd = {
			content: [
				{
					type: 'lower-alpha',
					start: 25,
					ol: [
						'item 1',
						'item 2',
						'item 3',
						'item 4',
						'item 5'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), 'y. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), 'z. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 3');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), 'aa. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 4');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'ab. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 5');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'ac. ');
	});

	it('renders a ordered list with lower-alpha style type and check minimum', function () {
		var dd = {
			content: [
				{
					start: -2,
					type: 'lower-alpha',
					ol: [
						'item -2',
						'item -1',
						'item 0',
						'item 1',
						'item 2'
					]
				}
			]
		};

		var pages = testHelper.renderPages('A6', dd);

		assert.equal(pages.length, 1);

		var item1 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 1});
		assert.equal(_.map(item1.content.inlines, 'text').join(''), 'item -2');
		assert.equal(_.map(item1.bullet.inlines, 'text').join(''), '-2. ');

		var item2 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 2});
		assert.equal(_.map(item2.content.inlines, 'text').join(''), 'item -1');
		assert.equal(_.map(item2.bullet.inlines, 'text').join(''), '-1. ');

		var item3 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 3});
		assert.equal(_.map(item3.content.inlines, 'text').join(''), 'item 0');
		assert.equal(_.map(item3.bullet.inlines, 'text').join(''), '0. ');

		var item4 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 4});
		assert.equal(_.map(item4.content.inlines, 'text').join(''), 'item 1');
		assert.equal(_.map(item4.bullet.inlines, 'text').join(''), 'a. ');

		var item5 = getBulletListLine(pages, {pageNumber: 0, itemNumber: 5});
		assert.equal(_.map(item5.content.inlines, 'text').join(''), 'item 2');
		assert.equal(_.map(item5.bullet.inlines, 'text').join(''), 'b. ');
	});

});

redpajama_set_name: RedPajamaGithub


With the benefit of a few days to reflect, review and receive feedback, one thing is clear: our "Breakfast Engagement" event was just the beginning of a very necessary conversation. What advertisers and publishers measure and what matters to the people they're trying to reach is still evolving rapidly.
When we dived into producing A Breakfast Engagement, we were convinced that – just as the conversation about new ways of measuring engagement was coming to a head – was still a fair bit of "fluff" and very few good answers about what the shift toward measuring engagement vs. measuring clicks or page views means. And publishers were at a loss on how they can take advantage of it.
We know this: we live in a page view world. The majority of the Web's advertising infrastructure is set-up to work that way and that's what advertisers and agencies are familiar with. At the end of the day, as much as the problems with the model are obvious – click farms and fraudulent clicks, low user engagement, and so on – it's a model that scales impressively.
At the same time, many people are troubled by the way that advertising is moving: more publishers are launching non-standard ad units, native advertising, and so on. The pressing questions for publishers and advertisers is how to make an honest buck in a world of increasingly distracted and fickle consumers.
More aspirationally, how to move from cramming as many ads as possible as quickly as possible in front of people toward something that is fundamentally more honest.
In a nutshell: how to not piss off the people we're trying to reach, while continuing to recognize the fact that – for the most part – advertisers continue to pay for a large share of content that is produced and consumed every day.
What can we do to bring more attention to these questions & challenges?
And, if it's not an issue of technology anymore – i.e., thee technology is there. We've got the tools! We've got the experience! – why isn't change happening more quickly?
Those questions in hand, we set out to push the conversation further down the road.
To do that, we brought more than 100 people together for three hours of discussion in the heart of New York's "Silicon Alley." In addition to the line-up of smart folks we gathered from Union Square Ventures, Disqus, Chartbeat, Quartz, Mashable, the New York Times, the Wall Street Journal, Etsy, Sunday Dinner and Comedy Central, we also had a whole room full of representatives from the industry: Edelman, NBC, Martha Stewart, Huffington Post, Conde Nast, Business Insider, Quantcast, Mediacom, Digitas, Harvard, The Guardian, CUNY journalism, and the IAB, to name just a few.
Resolving the tension between "viewed ads" (the ideal) and "delivered ads" (what is currently measured) also isn't easy. There's only so much above-the-fold real estate to go around.
More and more publishers are finding that it's not about the amount of time someone spends during one visit to their site but, instead, the total attention captured over time. Getting people to come back has to be part of the equation, and part of what's pitched to advertisers.
We too often confuse user engagement with social sharing. We need to define what good engagement really is: it should be memorable, relevant, and eventually drive some kind of action.
And as several people mentioned during the event: clicks can't possibly measure the reach of a good campaign with thoughtful and engaging creative. The same goes for good content.
Steve Roy, VP of Marketing at Disqus has also done a good summary of the event, which includes videos from the Fred Wilson interview and the Tony Haile & Jay Lauf debate.
If you were at the event, let me know what your key takeaways were in the comments below or on Twitter.
Looking back – if I were to do it again from scratch – I would push to invest a lot more time getting the folks who were not on stage actually wrestling with the questions we were hoping to shed light on.
We started with the mandate of "No. Boring. Panels!" and I think we achieved that to a degree. We heard from the people in the audience frequently and repeatedly and their questions and analysis were bang-on. What I really longed for was to have the people in that room talking to each other, trying to figure out some solutions.
And a key learning for me, gleaned in those anxiety-ridden moments of creative constraint – as the clock ticked toward 9:30AM, realizing that Christina Warren our star interviewer was still stuck in traffic – we ran through the options in the case we needed to start without Christina. In seconds it was clear what the best option would have been if we had to choose: let the people in the room lead the interview.
That learning will be at the core of our next event – which we hope to announce soon – as we continue to try to close the gap between publishers, advertisers, platforms and people, by actually bringing them together to get their hands dirty. If that's appealing to you, please stay in touch.